image image


image

RubyFrontierDocs – es geht voran

Inspiriert durch das gestrige »Fahrrad für den Geist«-Video habe ich noch ein wenig an meiner Implementierung der RubyFrontierDocs gebastelt und erste Ergebnisse erzielt.

RubyFrontierDocs soll ja so etwas wie MkDocs werden, ein Werkzeug, mit dem man relativ einfach Handbücher und Dokumentationen, die in Markdown geschrieben sind, ins Netz stellen (und eventuell via Pandoc auch als Druckerzeugnisse oder Ebooks vertreiben) kann. MkDocs ist mir an einigen Stellen zu unflexibel und darum möchte ich RubyFrontier aufpeppen, um dieses Ziel zu erreichen.

RubyFrontierDocs soll explizit keine Blog-Software werden (es gibt schon genügend Generatoren für statische Seiten, die Weblogs können), daher habe ich – auch um das Projekt möglichst einfach zu halten – auf einen RSS-Feed verzichtet.

Was habe ich bisher angestellt? Da ich RubyFrontier ja schon sehr lange nutze, habe ich natürlich ein Ruby auf meiner Maschine installiert mit sämtlichen Bibliotheken, die RubyFrontier benötigt (zwingend notwendig für dieses Projekt ist eigentlich nur kramdown). Dann habe ich mit :kramdown: true in der prefs.yaml der Software bekanntgemacht, daß sie alle Seiten als Markdown mit kramdown übersetzen soll. Da kramdown (wie auch John Grubers Markdown) mit den ERB seltsame Dinge anstellt, mußte ich im pageFilter das wieder korrigieren. Die Änderungen könnt Ihr in meinem GitHub-Repo zu diesem Projekt in der Datei pageFilter.rb nachlesen.

Dann habe ich viel an einem CSS gebastelt, denn ich möchte natürlich, daß diese Seiten ein responsives Layout haben. Ich bin noch nicht ganz durch, aber es sieht schon recht erfolgversprechend aus. Für das responsive Layout habe ich mich bei »Praxiswissen Responsive Webdesign« von Tim Kadlec bedient (und werde mich auch weiterhin bedienen). Es hat zwar schon einige Jahre auf dem Buckel, die Rezepte darin sollten aber immer noch gültig sein. Außerdem hat es so schöne Hundebilder auf dem Cover und gebraucht kriegt Ihr es bestimmt auch supergünstig.

Ein Problem, das ich auch schon seit Anfang dieses Jahres mit meinem Weblog Kritzelheft habe, sind die Links auf die vorherige wie auch auf die nächste Seite. Da die jüngsten Inkarnationen von macOS, die Dateien aus einem Verzeichnis nicht mehr sortiert zurückliefern, funktionieren die von RubyFrontier mitgelieferten Skripte nicht mehr. Ich habe mich hier – wie auch schon im Schockwellenreiter – mit Direktiven beholfen, die auf die vorherige und nächste Seite verweisen. Diese werden im Template von folgendem ERB-Makro abgearbeitet:

def nextprevlinks()
  title, path = html.getTitleAndPath(@adrPageTable[:title])
  s = ""
  if  @adrPageTable[:prevp]
    pname = "#{prevp}"
    s << html.getLink(imageref("arrow-left"), pname)
  else
    s << imageref("arrow-left-grey")
  end
  s << "&nbsp;"
  if @adrPageTable[:nextp]
    nname = "#{nextp}"
    s << html.getLink(imageref("arrow-right"), nname)
  else
    s << imageref("arrow-right-grey")
  end
  "<p>#{s}</p>\n"
end

Die Methode ist brute force, aber sie funktioniert.

Das Template habe ich mit derzeit 38 Zeilen relativ einfach gehalten und kann sicher ebenfalls noch ein wenig Aufhübschen vertragen. Ihr findet es im GitHub-Repo unter dem Dateinamen #template.txt.

Im Prinzip kann man damit schon loslegen. Einfach die vollständige GitHub-Repo herunterladen, die #ftpsite.yaml an die eigene Installation anpassen, ein paar Seiten erstellen (und nicht vergessen, das Inhaltsverzeichnis in der #prefs.yaml zu aktualisieren) und ab geht die Post.

Ich habe während der Arbeit an diesem Projekt übrigens festgestellt, daß so etwas dringend nötig ist. Denn der RubyFrontier-Befehl New Site scheint eine GUI-Bibliothek zu benutzen, die nicht 64-Bit-fähig ist. Da ich meine neuen RubyFrontier-Projekte immer manuell zusammengestellt hatte, hatte ich diesen Befehl nie genutzt und daher war mir dies auch nie aufgefallen. Wie dem auch sei, mit RubyFrontierDocs hat man eine Vorlage, die immer (und besser) funktioniert, als es der Befehl New Site je getan hat.

Das ist erst der Anfang. Ich werde einmal weiter an dem Projekt basteln, bis ich damit zufrieden bin. Außerdem schwebt mir ein Nachfolgeprojekt vor, in dem ich RubyFrontier mit dem Tufte CSS verheiraten möchte. Ich hatte damit schon einmal begonnen, es dann aber aus den Augen verloren. Und wer weiß – wenn ich dann richtig fit in CSS bin, entwickle ich vielleicht auch endlich einen responsiven Schockwellenreiter. 🤓 Denn momentan macht mir das Wühlen in CSS und HTML5 richtig Spaß. Still digging!


(Kommentieren) 

image image



Über …

Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter Rentner, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!

Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.

Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.

Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.


Werbung


Werbung


image  image  image
image  image  image


image