Wie hier schon einmal beschrieben, wollte ich auch dem Schockwellenreiter Permalinks verpassen. Dabei trat jedoch die Schwierigkeit auf, daß Permalinks auf der Startseite wenig Sinn machen, da dort die Beiträge ja nur wenige Tage – also eben nicht permanent – stehen. Doch das Problem war einfach zu lösen:
:permalink
, die ich per Default (in der obersten #prefs.yaml
) auf true
setzte.#permalink false
verhindert. Momentan ist das bei mir nur die Startseite.Dann schrieb ich zwei Makros, eine für den Anker
def a(a)
s = ""
if @adrPageTable[:permalink]
s = "<a name='" + a + "'></a>"
end
end
und eine für den eigentlichen Permalink:
def p(a)
s=""
if @adrPageTable[:permalink]
s = "<i>(<a title='Permalink zu diesem Beitrag' href='#" + a + "'>#</a>)</i>"
end
end
Sie sind beide ziemlich trivial: Sie fragen einfach die Direktive permalink
ab und wenn diese auf true
gesetzt ist, geben sie das entsprechende HTML raus und ansonsten nur einen leeren String.
Zum Schluß habe ich dann noch eine kosmetische Korrektur vorgenommen. Wegen der Eigenschaft von kramdown (nicht von Markdown), daß vor und nach einer Überschrift je eine Leerzeile vorhanden sein muß, wird der leere String in einen ebenso leeren Absatz eingeschlossen (<p></p>
) Der stört zwar eigentlich nicht – nur mein Gefühl für Ästhetik –, aber dennoch habe ich den finalFilter
mit dieser Codezeile angewiesen, diese leeren Absätze zu löschen:
adrPageTable[:renderedtext] = adrPageTable[:renderedtext].gsub("<p></p>\n\n", "")
Ab jetzt kann man also im Schockwellenreiter wieder auf jeden einzelnen Beitrag verlinken.
Über …
Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter, 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.
Werbung