Stefan Lankes bio photo

Stefan Lankes

Email Twitter Google+ LinkedIn XING Github

I have migrated my blog from Wordpress to Jekyll. Jekyll is the better choice for my workflow and there exist quite a few nice open source themes. For instance, jekyllthemes.org provides a collection of great themes. I like the themes from Michael Rose and use his theme Minimal Mistakes as a base for this blog.

For the migration, I used the guideline from PullReview. However, my publication list presented a real challenge. Nearly all my papers are written in LaTeX. Consequently, I maintain my publications with a BibTeX file and I want to automatically generate my publication list from this file. Jekyll-Scholar was able to close this gap.

I already mentioned that I use Minimal Mistakes as a base for this blog. In its gem configuration file (Gemfile) I attached the following for Jekyll-Scholar:

gem 'jekyll-scholar'

If you use Bundler, you are now able to update your system to the latest versions of Jekyll-Scholar. To enable it, I created the file ext.rb in the plugin directory (_plugins) with the following statement:

require 'jekyll/scholar'

In the configuration file (_config.yml) of my web site, I attached the following Jekyll-Scholar settings:

scholar:
  style: assets/bibliography/ieee-with-url.csl
  locale: en

  sort_by: year
  order: descending
  bibliography_list_tag: ul

  source: _bibliography
  repository: pdf
  bibliography: references
  bibliography_template: bibliography

  replace_strings: true

  details_dir:    bibliography
  details_layout: bibtex.html
  details_link:   Details

  query: "@*"

In this settings, the value of source describes the location and the value of references the name of my BibTeX file. According to my settings, I put my BibTeX file with the name references.bib in the directory _bibliography. As citation style I used a modified version of ieee-with-url from the official repository for distribution of validated CSL citation styles, which I copied to the directory assets/bibliography/. I removed the citation number from this style, which is nonrelevant for my web site. The differences to the original are minimal and are shown as follows diff:

diff --git a/assets/bibliography/ieee-with-url.csl b/assets/bibliography/ieee-with-url.csl
index 08dbeb1..da17fb0 100755
--- a/assets/bibliography/ieee-with-url.csl
+++ b/assets/bibliography/ieee-with-url.csl
@@ -28,7 +28,7 @@
     <category citation-format="numeric"/>
     <category field="engineering"/>
     <category field="generic-base"/>
-    <updated>2014-09-03T18:33:58+00:00</updated>
+    <updated>2012-10-18T22:38:43+00:00</updated>
     <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
   </info>
   <locale xml:lang="en">
@@ -220,7 +220,9 @@
   <bibliography entry-spacing="0" second-field-align="flush">
     <layout>
       <!-- Citation Number -->
+<!--
       <text variable="citation-number" prefix="[" suffix="]"/>
+-->
       <!-- Author(s) -->
       <text macro="author" suffix=", "/>
       <!-- Rest of Citation -->

Furthermore, with the file bibtex.html I defined the layout of my publication list in the directory _layout. The current version of bibtex.html is shown below:

---
---
{{reference}}

<div id="{{key}}-materials">
  <ul class="nav nav-pills">
    {% if entry.abstract %}
    <li><a data-toggle="collapse" href="#{{key}}-abstract">Abstract</a></li>
    {% endif %}

    <li><a data-toggle="collapse" href="javascript:toggleDiv('{{key}}-bibtex')">BibTeX</a></li>
    <div id="{{key}}-bibtex" style="display:none;">
    <pre class="collapse">{{entry.bibtex}}</pre>
    </div>

    {% if link %}
    <li><a href="{{link}}">Download</a></li>
    {% endif %}
    {% if entry.doi %}
    <li>DOI: <a href="http://dx.doi.org/{{entry.doi}}">{{entry.doi}}</a></li>
    {% endif %}
  </ul>

  {% if entry.abstract %}
  <p id="{{key}}-abstract" class="collapse">{{entry.abstract}}</p>
  {% endif %}

</div>

The final step was to write a markdown file with the description of the web site, which contains the publication list. In my case, I sorted the list by the year of publication. Consequently, I had to query the bibliography for every year. The first half of the file looks as follows:

---
layout: page
title: "Publications"
date: 2013-04-08
excerpt:
share: false
---

### 2015

{% bibliography --query @*[year=2015] %}

### 2014

{% bibliography --query @*[year=2014] %}

The rest of the file is an iteration over the years. The final result is a publication list as follows:

2015

  • S. Lankes, “Revisiting Co-Scheduling for Upcoming ExaScale Systems,” in 2015 International Conference on High Performance Computing Simulation (HPCS 2015), 2015, pp. 669–670.
  • C. Clauss, S. Lankes, P. Reble, and T. Bemmerl, “New system software for parallel programming models on the Intel SCC many-core processor,” Concurrency and Computation: Practice and Experience, vol. 27, no. 9, pp. 2235–2259, Jun. 2015.
  • C. Trinitis and S. Lankes, “Co-Scheduling trifft auf Virtualisierung: Ein Jahr FAST.” Invited talk at the 8. MEGWARE HPC User Meeting, May 2015.
  • P. Reble, S. Lankes, F. Fischer, and M. S. Müller, “Effective Communication for a System of Cluster-on-a-Chip Processors,” in Proceedings of the 6th International Workshop on Programming Models and Applications for Multicores and Manycores (PMAM 2015) in conjunction with the 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2015), San Francisco, CA, USA, 2015.
  • G. Wassen and S. Lankes, “Bare-Metal Execution of Hard Real-Time Tasks Within a General-Purpose Operating System,” in 15th International Workshop on Worst-Case Execution Time Analysis (WCET 2015), Dagstuhl, Germany, 2015, vol. 47, pp. 75–84.
  • S. Hunold, A. Costan, D. Giménez, A. Iosup, L. Ricci, Requena Marı́a Engracia Gómez, V. Scarano, A. L. Varbanescu, S. L. Scott, S. Lankes, J. Weidendorfer, and M. Alexander, Eds., Euro-Par 2015: Parallel Processing Workshops - Euro-Par 2015 International Workshops, Vienna, Austria, August 24-25, 2015, Revised Selected Papers, vol. 9523. Springer, 2015.

2014

  • S. Pickartz, P. Reble, C. Clauss, and S. Lankes, “SWIFT: A Transparent and Flexible Communication Layer for PCIe-coupled Accelerators and (Co-)Processors,” in Proceedings of the 19th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS 2014), held in conjunction with 28th IEEE International Parallel and Distributed Processing Symposium, 2014, pp. 371–380.
  • S. Pickartz, R. Gad, S. Lankes, L. Nagel, T. Süß, A. Brinkmann, and S. Krempel, “Migration Techniques in HPC Environments,” in Euro-Par 2014: Parallel Processing Workshops, vol. 8806, L. Lopes, J. Žilinskas, A. Costan, R. G. Cascella, G. Kecskemeti, E. Jeannot, M. Cannataro, L. Ricci, S. Benkner, S. Petit, V. Scarano, J. Gracia, S. Hunold, S. L. Scott, S. Lankes, C. Lengauer, J. Carretero, J. Breitbart, and M. Alexander, Eds. Springer International Publishing, 2014, pp. 486–497.
  • L. Lopes, J. Žilinskas, A. Costan, R. G. Cascella, G. Kecskemeti, E. Jeannot, M. Cannataro, L. Ricci, S. Benkner, S. Petit, V. Scarano, J. Gracia, S. Hunold, S. L. Scott, S. Lankes, C. Lengauer, J. Carretero, J. Breitbart, and M. Alexander, Eds., Euro-Par 2014: Parallel Processing Workshops, Revised Selected Papers, Part II, vol. 8806. Springer International Publishing, 2014.
  • L. Lopes, J. Žilinskas, A. Costan, R. G. Cascella, G. Kecskemeti, E. Jeannot, M. Cannataro, L. Ricci, S. Benkner, S. Petit, V. Scarano, J. Gracia, S. Hunold, S. L. Scott, S. Lankes, C. Lengauer, J. Carretero, J. Breitbart, and M. Alexander, Eds., Euro-Par 2014: Parallel Processing Workshops, Revised Selected Papers, Part I, vol. 8805. Springer International Publishing, 2014.

In principle, this is an extremly simple approach to generating a publication list. Unfortunately, Jekyll-Scholar isn’t supported by GitHub pages. I hope that this will change in the future…