blob: 0c1386929c3d0f941d103c0d0e49a42a95c1c720 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
{
pkgs,
lib,
...
}: let
export = id: publication: format: let
publicationJSON =
builtins.toFile "${id}.json" (builtins.toJSON [publication]);
publicationOut = pkgs.runCommand "${id}.${format}" {} ''
"${pkgs.pandoc}/bin/pandoc" "${publicationJSON}" --from csljson --to "${format}" --output "$out"
'';
in
builtins.readFile publicationOut;
importPublications = builtins.map (publication:
with publication; let
exportThisTo = export id publication;
in
publication
// {
year = with builtins; toString (head (head issued.date-parts));
url = URL;
cite = {
bibtex = exportThisTo "bibtex";
biblatex = exportThisTo "biblatex";
csljson = exportThisTo "csljson";
};
});
in {
selected = importPublications (lib.importJSON ./publications_selected.json);
all = importPublications (lib.importJSON ./publications.json);
}
|