Bibliography Page with jekyll-scholar
Introduction
Any scholar should feature a list of his own publications on his resume page. Fortunately, there is a wonderful jekyll extension by inukshuk, called jekyll-scholar. With this extension, it becomes super-easy to generate a publication list page from a BibTeX file with virtually any style you already know or can imagine. Unfortunately, jekyll-scholar is not on the list of jekyll extensions supported by GitHub pages. In this post, I’ll describe how I used the extension to generate a static publications page from a BibTeX file and then pushed that page to GitHub Pages in the end - not really the efficient jekyll way, but still effective. For this blog, I assume you already have a jekyll page in place and synchronize it with GitHub pages.
Include & Configure jekyll-scholar
The first step is to include and configure the jekyll scholar extension in your page. The most up-to-date way is to follow inukshuk’s README on GitHub. Little outdated, but more step-by-step instructions are available from this post on Stefan Lanke’s tech blog. Basically, you put your BibTeX file in a certain directory, where jekyll-scholar can find it, you define the style to be used for generating individual bibliography entries by choosing (or even authoring) a citation style language (CSL) definition from a huuuuge list of available style definitions, e.g. IEEE, ACM, Science, Nature, and you define in which directory results should go on the generated site. Once configured, you’ll have a page listing all your publications, preferably grouped by years and ordered by author names.
Extract Publications List to Static Page
Let’s assume that you configured jekyll-scholar to generate a bibliography under _site/pubs/index.html
and that you also have a static page ready to be filled with a publication list under _pages/publications.html
. First go to the generated bibliography HTML document and locate the <ol>
element including all generated bibliography entries. Copy the whole element and simply paste it into the static page. Done.
Conclusion
The downside of this approach is obvious - whenever something changes, e.g. you add a new reference to your BibTeX file, you have to do the manual extraction by copying and pasting the <ol>
element again. Of course, it would be much more convenient, if one could just use the built-in facilities from jekyll. However, this is not possible, until GitHub pages will include jekyll-scholar into their portfolio of officially allowed extensions. This is not the case for now.