Jekyll Hands On

Najko Jahn und Christian Pietsch
21 Oktober 2016

Agenda

  • Wie kann ich Jekyll installieren?
  • Wie funktioniert Jekyll?
    • Grundlegende Handhabung
    • Ordnerstruktur
    • Einen Beitrag schreiben
  • Wie lässt sich Jekyll anpassen?
    • SCSS
    • Liquid templating
  • Was taugt Jekyll als Publikationsumgebung?

Installation von Jekyll

—> https://jekyllrb.com/docs/installation/

Voraussetzung:

  • Ruby (> v2)
  • RubyGems
  • Linux, Unix, or macOS (Windows wird offiziell nicht unterstützt)

Installation und Updates sind mit der Ruby Paketverwaltung einfach!

~ $ gem install jekyll bundler
~ $ jekyll --version
~ $ gem update jeykll

Eine Instanz aufsetzen

Lokal:

—> https://jekyllrb.com/docs/quickstart/

~ $ jekyll new my-awesome-site
~ $ cd my-awesome-site
~/my-awesome-site $ jekyll serve

Nachnutzung bestehender Instanzen:

—> https://github.com/jekyll/jekyll/wiki/Sites

~ $ git clone https://github.com/AWEEKJ/Kiko-plus.git

Jekyll anpassen - Liquid templates

Jekyll unterstützt als Templating Sprache Liquid.

Liquid unterstützt logische Kontrollstrukturen (Tags) und Manipulationen (Filter).

{% if user.age > 18 %}
   Login here
{% else %}
   Sorry, you are too young
{% endif %}

Jekyll-Variablen werden im Metadatenblock definiert.

Tipp: Templating nicht nur fürs Design nutzen

Da sich Jekyll-Variablen im Metadatenblock frei definieren lassen, können sie kreativ nachgenutzt werden:

  • eingebettete Metadaten (Metatags, RDFa)
  • Erstellung von Feeds

Templating erlaubt auch Webseiten aus Datensätzen zu erstellen.

<ul>
  {% for presentation in site.data.presentations %}
  <li>
    <h2>{{ presentation.title }}</h2>
    <a>
      <h4>{{ presentation.name }}</h4>
    </a>
    <p>
      <b>Abstract:</b> {{ presentation.description }}
    </p>
  </li>
  {% endfor %}
</ul>

Was taugt Jekyll als Publikationsumgebung?

Forschende nutzen Jekyll aufgrund seiner Vorteile zunehmend als wissenschaftliche Publikationsumgebung:

Digital Humanities

Data Science

und auch wir wenden Jekyll an, um Projektergebnisse datengestützt nach außen hin darzustellen: