Eine mehrsprachige Webseite mit nanoc erstellen

Geschrieben von Eric Scheibler am 10.09.2014

Letztes Jahr habe ich an dieser Stelle den Wechsel zu einem statischen Webseitengenerator namens Octopress beschrieben. Obwohl ich das Konzept einer statischen Webseite nach wie vor sehr praktisch finde, gibt es bei Octopress zwei Nachteile:

  1. Mehrsprachigkeit wird nicht unterstützt.
  2. Das System ist hauptsächlich für das Erstellen von Blogs vorgesehen. Für sonstige Webseiten-Layouts eignet es sich hingegen nur bedingt.

Die Octopress Themes lassen sich sicherlich dementsprechend anpassen aber dies hätte auch einiges an Zeit gekostet und somit habe ich mich gleich nach etwas umgesehen, was diese beiden Punkte von vornherein berücksichtigt. Letztlich habe ich mich für nanoc entschieden. Nanoc ist ebenfalls ein in Ruby geschriebener statischer Webseitengenerator. In diesem Artikel stelle ich das nanoc Theme für diese Webseite zum Download zur Verfügung.

Hauptfeatures:

  • Erstellt eine Webseite mit einer horizontalen Navigationsleiste im oberen Bereich der Webseite.
  • Inhalt und Layout sind strikt getrennt.
  • Artikel werden in Pandoc's markdown dialect verfasst.
  • Mehrsprachigkeit basierend auf diesem Tutorial implementiert.
  • Optionales Layout für die Erstellung eines einfachen Blogs
  • Alle Seiten verwenden HTML5 Tags
  • Filter zum Erzeugen eines Inhaltsverzeichnisses und für den Import von Textdateien
  • Das Theme ist barrierefrei.

Als nächstes folgt eine kurze Installationsanleitung. Eine konfigurierte Ruby-Umgebung wird vorausgesetzt. Ausführliche Installationsanweisungen gibt's in der Readme Datei des Themes und hier.

Gem's installieren und Repository klonen:

$ gem install --user-install rake nanoc adsf pandoc-ruby listen iconv builder stringex
$ git clone https://github.com/scheibler/nanoc-multilingual-theme.git

Ordner umbenennen:

cd nanoc-multilingual-theme
mv content.example content
mv nanoc.yaml.example nanoc.yaml
mv rules.example rules

Als nächstes den Inhalt der Dateien nanoc.yaml und rules anpassen und anschließend kompelieren:

rake

Mit dem folgenden Befehl wird nach dem Kompelieren auch noch ein Check der Webseite vorgenommen und der Output Ordner anschließend via rsync auf einen entfernten Server hochgeladen:

rake all

Falls die erstellte Webseite einen Blog beinhaltet, wird mit diesem Befehl ein neuer Artikel angelegt:

rake new_post "Deutscher Artikelname" "English article name"