-
Run this to install the required software.
npm install @11ty/eleventy -g npm install markdown-it markdown-it-anchor markdown-it-deflist markdown-it-mermaid-plugin bibtex-parse
-
Run the following to launch a local server to preview the built site.
eleventy --serve
-
First the bibtex must be split into separate files. The following Emacs macro can do this assuming we're using a common key format that starts with "DBLP:".
(fset 'extract-bibtex-to-file (kmacro-lambda-form [return ?\C-\M-f ?\C-f ?\C- ?\C-e ?\C-b ?\M-w ?\C-a ?\C-p ?\C-y ?\C-a ?\M-d ?\C-d ?\C- ?\C-e ?\M-% ?/ return ?- return ?! ?\C-e ?. ?b ?i ?b ?\C-a ?\C- ?\C-e ?\M-w ?\C- ?\C-a ?\C-w ?\C-d ?\C- ?\C-\M-f ?\C-\M-f ?\C-w ?\C-x ?\C-f ?\C-y ?\M-y return ?\C-y ?\C-a ?\C-k ?\C-y ?\M-y ?\C-x ?\C-s ?\C-x ?k return ?\M-f ?\M-b] 0 "%d"))
-
Then just commit the separated
.bib
files into the repository. They'll be parsed by thebibtex-parse
JavaScript library directly from the split.bib
files by Eleventy and used to create content via the relevant templates in_include/bib.liquid
. -
For eleventy to actually serve these files we'll need empty markdown files next to each one. Bonus, if we ever want any web-page specific commentary we can add it to these empty markdown files and it will appear as
content
in the bibtex template.for file in bib/*.bib;do touch ${file%.bib}.md done