Allgemein

Die Spline-Website wird mittels dem statischen Webseiten-Generator Cyrax erstellt. Dieser ist in Python geschrieben und könnte theoretisch auch via pip installiert werden. Leider haben wir diesen ein wenig erweitert. Unsere Änderungen sind aber noch nicht in die Mainline zurückgeflossen und so muss Cyrax entweder über das Git-Repo selber installiert werden oder die Generierung den Spline-Server überlassen.

Cyrax lokal installieren

$ git clone https://github.com/cholin/cyrax
$ cd cyrax
$ python2 setup.py install
$ cd ..
$ git clone git://git.spline.de/www
$ cd www
$ cyrax -w

Die generierte Website kann nun via Browser auf http://localhost:8000 betrachtet werden. Wer einen tieferen Einblick in Cyrax bekommen will, kann sich folgendes HowTo angucken: Cyrax - ein statischer Webseitengenerator

externe Generierung

$ git clone git://git.spline.de/www
$ cd www
$ git checkout -b new
$ git push origin new

Der eigene Branch kann nun auf den Spline Server unter http://branches.spline.de/<branchname> bestaunt werden.

Blogpost erstellen

Blogposts können wie alle anderen Models in Cyrax in verschiedenen Markup-Sprachen verfasst werden. Zur Auswahl stehen zur Zeit: rst, markdown, textile und rfc3339. Um einen neuen Blogpost nun zu erstellen, muss das Git-Repository gecloned werden und in das Verzeichnis blog gewechselt werden. Die Verzeichnisstruktur ist hier datumbasierend. Das heißt Cyrax erkennt an den Ordnernamen das Datum des Blogposts. Die Datei 01-01-sample.html im Ordner blog/2012 würde somit für das Datum 01.01.2012 mit der Url blog/2012/01-01-sample.html versehen werden.

Die Blogposts selbst sind immer nach folgendem Schema aufgebaut. Zuerst erfolgt gibt es Meta-Ebene. Hier können Variablen wie der Titel oder Tags gesetzt werden. Danach folgt der eigentliche Blogposts. Mittels filtern können verschiedene Markupsprachen ausgewählt werden.

Beispiel

{% meta %}
  title: lorem ipsum
  tags: [lorem, ipsum]
{% endmeta %}

{% mark body %}
{% filter markdown %}
Lorem Ipsum

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit
amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut
labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam
et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata
sanctus est Lorem ipsum dolor sit amet.
{% endfilter %}
{% endmark %}

Service erstellen

Um einen neuen Service auf der Website hinzuzufügen, muss eine neue Page (Model) im services-Ordner erstellt werden. Diese hat ähnlich wie bei Blog-Posts einen Meta und einen Block-Abschnitt. Erforderliche Meta-Informationen sind der Titel und die Beschreibung. Soll der Service nur in der Startliste angezeigt werden, so kann der Block-Abschnitt ignoriert werden, da dieser nur für eine eigene Unterseite innerhalb der Website gebraucht wird. Zwingend ist dann aber der Direktlink als link-Variable.

Für die Ipsum-Service würde es folgedermaßen aussschauen:

{% meta %}
  title: ipsum
  description: lorem ipsum service description
  link: http://ipsum.spline.de
{% endmeta %}

{% block content %}
{% endblock }