Nachdem ich vor ein paar Monaten ein wenig mit Jekyll herumgespielt habe, habe ich jetzt noch eine Lösung basierend auf Node.js gesucht. Das ganze Ruby Zeugs kommt mir einfach ein wenig spanisch vor. In der Node Welt gibt es zwar ein paar Static Site Generators, aber keiner der so richtig heraussticht (wie das eben mit Jekyll der Fall ist). Ich habe mich für Wintersmith entschieden und bin eigentlich bisher damit ganz glücklich. Ist zwar in Coffee geschrieben, aber so ist es nun mal.
Hier eine Liste mit Lessons Learned. Diese Liste werde ich über die Zeit erweitern.
Jade Ade – Nunjucks Hello
Sorry, Jade ist einfach unbrauchtbar als Templating Engine. Ich will HTML schreiben, weil HTML rauskommt und nicht irgend so ein Pseudo Markup. Nunjucks ist super und auch für Wintersmith vorhanden.
Artikel Struktur
Es scheint als müssten die Artikel nach folgendem Schema abgelegt werden:
contents
articles
post1
index.md
post2
index.md
post3
index.md
Ich bin mir noch nicht sicher, ob mir das gefällt oder nicht und weiss auch noch nicht genau, wo man das anpassen kann.
Update 26.08.2013: Stimmt nicht ganz. Das ist sicher die Struktur, wie sie ursprünglich mal angedacht worden ist und wie sie auch in vielen einfachen Beispielen benutzt wird. Es ist jedoch ohne weiteres Möglich eine beliebige Struktur zu nehmen, allerdings muss dann das Artikel Listing angepasst werden.
Artikel Listings
Es scheint als braucht man dafür ein Helper Plugin, welches ich mir von David Tucker abgeschaut habe. Das Repository ist Gold wert und hier werde ich sicher noch ein bisschen Zeit drin verlieren um zu lernen.
Dieses Plugin funktioniert allerdings lediglich, wenn die Artikelstruktur wie oben abgebildet ist. Falls jedoch eine beliebige Struktur gewählt wird, dann muss das ein bisschen aufgebohrt werden. Dazu habe ich Davids Plugin ein bisschen gepimpt (sieht zwar nicht nicht mehr kurz und sexy aus, aber es funktioniert). Code ist hier im Gist vorhanden.
Paginator
Dafür gibts ein plugin, welches standardmässig mit dabei ist. Ich habe es jedoch noch nicht ausprobiert, bzw. mein Test hat dazu geführt, dass meine anderen Helferscripte nicht mehr gelaufen sind.
Seite wird nicht gerendert
Es gibt natürlich viele mögliche Fehlerquellen. Die einfachste wäre: Sichergestellt, dass ein Leerschlag in den Metainformationen jeweils zwischen Schlüssel und Wert ist? Zum Beispiel
date:2013-08-22
Das wird leider nicht rendern, sondern das müsste wie folgt ausschauen:
date: 2013-08-22
Allgemein ist der Header Teil eine Quelle für Fehler. Zwingend notwenig im Header ist jedoch nur Template (und nicht etwa layout, wie das by Jekyll der Fall ist)
Wintersmith Community
Ist leider noch relativ klein. Hier bedarf es noch ein wenig Arbeit, um gegen den Platzhirsch Jekyll anzukommen. Gute Ausgangspunkte sind aktuell lediglich die Wintersmith Github Seite plus den IRC Kanal (#wintersmith) -> aber bitte nicht zu viel Ansturm erwarten. Ein Forum oder eine Gruppe gibt es leider noch nicht… wäre aber dringend notwendig.
Mehr wird sicher noch kommen