diff options
| author | aristote <quentin.aristote@irif.fr> | 2025-08-12 15:56:21 +0200 |
|---|---|---|
| committer | aristote <quentin.aristote@irif.fr> | 2025-08-12 16:00:19 +0200 |
| commit | 2080cf54332f4a728e3e233d4b2221b6eb1a6e29 (patch) | |
| tree | 3fd5cf243ba336b3c9f62c71ff617fce9ae2ec1d | |
| parent | e2681fa192320d7731bce2f4f415758b46ae91dd (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)
| -rw-r--r-- | flake.lock | 31 | ||||
| -rw-r--r-- | flake.nix | 71 | ||||
| -rw-r--r-- | html/research/talks.nix | 144 | ||||
| -rw-r--r-- | html/research/writings.nix | 161 |
4 files changed, 214 insertions, 193 deletions
@@ -7,16 +7,15 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1753625181, - "narHash": "sha256-YdmSIA7hcdwHcuwwZ04rt8I0vaoknyUiGY79zaduR4E=", + "lastModified": 1755006727, + "narHash": "sha256-1dvXFXnUkWlp3mNYgnxuOGEFvfPHhkyec7BYg2Z1fjo=", "owner": "qaristote", "repo": "info", - "rev": "9749429636e7e5e2515f1c75d228d5321907fba4", + "rev": "e22c29e4d972e07fc64fd867aa6ccbd293373a33", "type": "github" }, "original": { "owner": "qaristote", - "ref": "new-pub-format", "repo": "info", "type": "github" } @@ -97,11 +96,11 @@ "nixpkgs-lib": "nixpkgs-lib_3" }, "locked": { - "lastModified": 1753121425, - "narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=", + "lastModified": 1754487366, + "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "644e0fc48951a860279da645ba77fe4a6e814c5e", + "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", "type": "github" }, "original": { @@ -251,11 +250,11 @@ "nur": "nur_2" }, "locked": { - "lastModified": 1753198402, - "narHash": "sha256-Sbc05KJR/EBX1DZaD63iIHgFJLMm9FA58xhPs6MZ2R0=", + "lastModified": 1755000004, + "narHash": "sha256-qrNnx93/KYywYfYNtRn0TvcK98BbkqMaG/C8ruEDQ9c=", "owner": "qaristote", "repo": "my-nixpkgs", - "rev": "2a8763191aed7bc2db4fc478804d80420c542b3b", + "rev": "a8023c066698c2b4b2f8a57425fac196ee021d57", "type": "github" }, "original": { @@ -344,11 +343,11 @@ }, "nixpkgs-lib_3": { "locked": { - "lastModified": 1751159883, - "narHash": "sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo=", + "lastModified": 1753579242, + "narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "14a40a1d7fb9afa4739275ac642ed7301a9ba1ab", + "rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e", "type": "github" }, "original": { @@ -464,11 +463,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1753432016, - "narHash": "sha256-cnL5WWn/xkZoyH/03NNUS7QgW5vI7D1i74g48qplCvg=", + "lastModified": 1754990257, + "narHash": "sha256-eEq2wlYNF2t89PsNyEv5Sz4lSxdukZCj4SdhZBVAGpI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6027c30c8e9810896b92429f0092f624f7b1aace", + "rev": "372d9eeeafa5b15913201e2b92e8e539ac7c64d1", "type": "github" }, "original": { @@ -2,7 +2,7 @@ description = "Source code of Quentin Aristote's personal webpage."; inputs = { - data.url = "github:qaristote/info/new-pub-format"; + data.url = "github:qaristote/info"; my-nixpkgs.url = "github:qaristote/my-nixpkgs"; uncss = { url = "github:qaristote/uncss"; @@ -10,40 +10,47 @@ nixpkgs.follows = "/nixpkgs"; }; }; - nixpkgs = {}; + nixpkgs = { }; }; - outputs = { - flake-parts, - my-nixpkgs, - ... - } @ inputs: - flake-parts.lib.mkFlake {inherit inputs;} ({lib, ...}: { - imports = builtins.attrValues {inherit (my-nixpkgs.flakeModules) personal;}; + outputs = + { + flake-parts, + my-nixpkgs, + ... + }@inputs: + flake-parts.lib.mkFlake { inherit inputs; } ( + { lib, ... }: + { + imports = builtins.attrValues { inherit (my-nixpkgs.flakeModules) personal; }; - flake.lib = import ./lib {inherit lib;}; + flake.lib = import ./lib { inherit lib; }; - perSystem = { - self', - pkgs, - system, - ... - }: let - pkgs' = pkgs.extend ( - _: _: { - uncss = inputs.uncss.packages."${system}".default; - line-awesome-css = my-nixpkgs.packages."${system}".static_css_lineAwesome; - } - ); - in { - packages = { - default = self'.packages.webpage; - webpage = pkgs'.callPackage ./default.nix { - nixpkgsSrc = inputs.nixpkgs.outPath; - src = pkgs'.callPackage ./src.nix {}; - data = inputs.data.packages."${system}".src; + perSystem = + { + self', + pkgs, + system, + ... + }: + let + pkgs' = pkgs.extend ( + _: _: { + uncss = inputs.uncss.packages."${system}".default; + line-awesome-css = my-nixpkgs.packages."${system}".static_css_lineAwesome; + } + ); + in + { + packages = { + default = self'.packages.webpage; + webpage = pkgs'.callPackage ./default.nix { + nixpkgsSrc = inputs.nixpkgs.outPath; + src = pkgs'.callPackage ./src.nix { }; + data = inputs.data.packages."${system}".src; + }; + }; }; - }; - }; - }); + } + ); } 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") ] ) - ) - ]) + ] + )) ]) - ])) + ]) + ] + ) +) diff --git a/html/research/writings.nix b/html/research/writings.nix index 4ba4ec6..205bcf6 100644 --- a/html/research/writings.nix +++ b/html/research/writings.nix @@ -3,86 +3,99 @@ data, lib, ... -}: let - attrValsOpt = attrs: attrSet: - lib.attrVals (builtins.filter (attr: lib.hasAttr attr attrSet) attrs) - attrSet; - concatStringsPrefix = prefix: strings: - lib.concatStrings (builtins.map (string: prefix + string) strings); - concatStringsSuffix = suffix: strings: - lib.concatStrings (builtins.map (string: string + suffix) strings); - format = publication: +}: +let + attrValsOpt = + attrs: attrSet: lib.attrVals (builtins.filter (attr: lib.hasAttr attr attrSet) attrs) attrSet; + concatStringsPrefix = + prefix: strings: lib.concatStrings (builtins.map (string: prefix + string) strings); + concatStringsSuffix = + suffix: strings: lib.concatStrings (builtins.map (string: string + suffix) strings); + format = + publication: with html; with publication; - { - inherit id title url year abstract cite; - } - // (let - authorsOther = - lib.remove "${data.basics.name.first} ${data.basics.name.last}" - (builtins.map (author: "${author.given} ${author.family}") author); + { + inherit + id + title + url + year + abstract + cite + ; + } + // ( + let + authorsOther = lib.remove "${data.basics.name.first} ${data.basics.name.last}" ( + builtins.map (author: "${author.given} ${author.family}") author + ); in - lib.optionalAttrs (authorsOther != []) { - authors = "With ${lib.concatStringsSep ", " authorsOther}"; - }) - // lib.optionalAttrs (publication ? note) { - note = publication.note; - } - // lib.optionalAttrs (publication ? container-title) { - published = - "In ${em container-title}" - + concatStringsPrefix ", " - (attrValsOpt ["volume" "issue" "publisher"] publication); + lib.optionalAttrs (authorsOther != [ ]) { + authors = "With ${lib.concatStringsSep ", " authorsOther}"; } - // lib.optionalAttrs (publication ? event-title) { - published = "At ${em event-title}"; - } - // lib.optionalAttrs (publication ? DOI) { - doi = "${small "DOI"}: ${href "https://doi.org/${DOI}" (code DOI)}"; - }; - listPublications = collection: + ) + // lib.optionalAttrs (publication ? note) { + note = publication.note; + } + // lib.optionalAttrs (publication ? container-title) { + published = + "In ${em container-title}" + + concatStringsPrefix ", " (attrValsOpt [ "volume" "issue" "publisher" ] publication); + } + // lib.optionalAttrs (publication ? event-title) { + published = "At ${em event-title}"; + } + // lib.optionalAttrs (publication ? DOI) { + doi = "${small "DOI"}: ${href "https://doi.org/${DOI}" (code DOI)}"; + }; + listResearch = + collection: with html; - section [ - (dl (for (sort.reverse.byPath ["issued" "date-parts"] collection) - (publication: let + section [ + (dl ( + for (sort.reverse.byPath [ "issued" "date-parts" ] collection) ( + publication: + let formatted = format publication; in - with formatted; - lines [ - (dt {id = "Writings#${id}";} - "${href {target = "_blank";} url (em title)} (${year})") - (dd [ - (concatStringsSuffix ". " - (attrValsOpt ["authors" "note" "published" "doi"] - formatted)) - (details [ - (summary "More") - (dl [ - (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") - ]) - ]) - ]) + with formatted; + lines [ + (dt { id = "Writings#${id}"; } "${href { target = "_blank"; } url (em title)} (${year})") + (dd [ + (concatStringsSuffix ". " (attrValsOpt [ "authors" "note" "published" "doi" ] formatted)) + (details [ + (summary "More") + (dl [ + (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") + ] + ) ]) - ]))) - ]; -in { - conferences = listPublications data.publications.conferences; - journals = listPublications data.publications.journals; - misc = listPublications data.publications.misc; - reports = listPublications data.publications.reports; + ]) + ]) + ] + ) + )) + ]; +in +{ + conferences = listResearch data.research.conferences; + journals = listResearch data.research.journals; + misc = listResearch data.research.misc; + reports = listResearch data.research.reports; } |
