summaryrefslogtreecommitdiff
path: root/html/research/talks.nix
diff options
context:
space:
mode:
authoraristote <quentin.aristote@irif.fr>2025-08-12 15:56:21 +0200
committeraristote <quentin.aristote@irif.fr>2025-08-12 16:00:19 +0200
commit2080cf54332f4a728e3e233d4b2221b6eb1a6e29 (patch)
tree3fd5cf243ba336b3c9f62c71ff617fce9ae2ec1d /html/research/talks.nix
parente2681fa192320d7731bce2f4f415758b46ae91dd (diff)
flake.lock: Update (data update)
Flake lock file updates: • Updated input 'data': 'github:qaristote/info/9749429636e7e5e2515f1c75d228d5321907fba4' (2025-07-27) → 'github:qaristote/info/e22c29e4d972e07fc64fd867aa6ccbd293373a33' (2025-08-12) • Updated input 'flake-parts': 'github:hercules-ci/flake-parts/644e0fc48951a860279da645ba77fe4a6e814c5e' (2025-07-21) → 'github:hercules-ci/flake-parts/af66ad14b28a127c5c0f3bbb298218fc63528a18' (2025-08-06) • Updated input 'flake-parts/nixpkgs-lib': 'github:nix-community/nixpkgs.lib/14a40a1d7fb9afa4739275ac642ed7301a9ba1ab' (2025-06-29) → 'github:nix-community/nixpkgs.lib/0f36c44e01a6129be94e3ade315a5883f0228a6e' (2025-07-27) • Updated input 'my-nixpkgs': 'github:qaristote/my-nixpkgs/2a8763191aed7bc2db4fc478804d80420c542b3b' (2025-07-22) → 'github:qaristote/my-nixpkgs/a8023c066698c2b4b2f8a57425fac196ee021d57' (2025-08-12) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/6027c30c8e9810896b92429f0092f624f7b1aace' (2025-07-25) → 'github:NixOS/nixpkgs/372d9eeeafa5b15913201e2b92e8e539ac7c64d1' (2025-08-12)
Diffstat (limited to 'html/research/talks.nix')
-rw-r--r--html/research/talks.nix144
1 files changed, 73 insertions, 71 deletions
diff --git a/html/research/talks.nix b/html/research/talks.nix
index 9e1fd56..a68e9f3 100644
--- a/html/research/talks.nix
+++ b/html/research/talks.nix
@@ -3,79 +3,81 @@
data,
lib,
...
-}: let
- matchFirst = regexp: str: let
- results = builtins.match regexp str;
- in
- if results == null
- then null
- else builtins.head results;
- join = url: name: with html; lib.optionalString (url != null) " · ${href url "${icon "las la-paperclip"} ${name}"}";
- talks = data.publications.talks;
+}:
+let
+ matchFirst =
+ regexp: str:
+ let
+ results = builtins.match regexp str;
+ in
+ if results == null then null else builtins.head results;
+ join =
+ url: name:
+ with html;
+ lib.optionalString (url != null) " · ${href url "${icon "las la-paperclip"} ${name}"}";
+ talks = data.research.talks;
in
- with html;
- dl (for (sort.reverse.byPath ["issued" "date-parts"] talks) (item:
- with item; let
- date-parts = builtins.head issued.date-parts;
- date = {
- year = builtins.elemAt date-parts 0;
- month = builtins.elemAt date-parts 1;
- day = builtins.elemAt date-parts 2;
- };
- extra =
- if item ? note
- then note
- else "";
- abstractURL = matchFirst ".*abstract: ([^\n ]*).*" extra;
- slidesURL = matchFirst ".*slides: ([^\n ]*).*" extra;
+with html;
+dl (
+ for (sort.reverse.byPath [ "issued" "date-parts" ] talks) (
+ item:
+ with item;
+ let
+ date-parts = builtins.head issued.date-parts;
+ date = {
+ year = builtins.elemAt date-parts 0;
+ month = builtins.elemAt date-parts 1;
+ day = builtins.elemAt date-parts 2;
+ };
+ extra = if item ? note then note else "";
+ abstractURL = matchFirst ".*abstract: ([^\n ]*).*" extra;
+ slidesURL = matchFirst ".*slides: ([^\n ]*).*" extra;
+ # broken because of tabs
+ # paperURL = let
+ # paperId = matchFirst "([A-z0-9]*[0-9]{4})[a-z]" id;
+ # in
+ # if paperId == null
+ # then null
+ # else "#Writings#${paperId}";
+ in
+ [
+ (dt [
+ ((if abstractURL == null then (x: x) else href abstractURL) (em title))
+ ])
+ (dd [
+ (with (makeDate date); tag pretty)
+ "@ ${href url event-title}, ${publisher-place}"
+ (join slidesURL "slides")
# broken because of tabs
- # paperURL = let
- # paperId = matchFirst "([A-z0-9]*[0-9]{4})[a-z]" id;
- # in
- # if paperId == null
- # then null
- # else "#Writings#${paperId}";
- in [
- (dt [
- ((
- if abstractURL == null
- then (x: x)
- else href abstractURL
- ) (em title))
- ])
- (dd [
- (with (makeDate date); tag pretty)
- "@ ${href url event-title}, ${publisher-place}"
- (join slidesURL "slides")
- # broken because of tabs
- # (join paperURL "paper")
- (details [
- (summary "More")
- (
- dl (
- lib.optionals (item ? abstract) [
- (dt "Abstract.")
- (dd (blockquote abstract))
- ]
- ++ [
- (dt "Cite.")
- (let
- citeWith = title: type:
- details [
- (summary title)
- (pre (code (
- lib.readFile "${data.publications.files}/${type}/${id}"
- )))
- ];
- in
- dd [
- (citeWith "BibLaTeX" "biblatex")
- (citeWith "BibTeX" "bibtex")
- (citeWith "CSL JSON" "csljson")
- ])
+ # (join paperURL "paper")
+ (details [
+ (summary "More")
+ (dl (
+ lib.optionals (item ? abstract) [
+ (dt "Abstract.")
+ (dd (blockquote abstract))
+ ]
+ ++ [
+ (dt "Cite.")
+ (
+ let
+ citeWith =
+ title: type:
+ details [
+ (summary title)
+ (pre (code (lib.readFile "${data.research.files}/${type}/${id}")))
+ ];
+ in
+ dd [
+ (citeWith "BibLaTeX" "biblatex")
+ (citeWith "BibTeX" "bibtex")
+ (citeWith "CSL JSON" "csljson")
]
)
- )
- ])
+ ]
+ ))
])
- ]))
+ ])
+ ]
+ )
+)