image image


Worknote: Permalinks mit RubyFrontier

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:

  • Als erstes verpaßte ich dem System eine globale Direktive namens :permalink, die ich per Default (in der obersten #prefs.yaml) auf true setzte.
  • Auf den Seiten, wo ein Permalink nicht gewünscht wird, wird er mit #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.

(Kommentieren)  Permalinks mit RubyFrontier bitte flattrn




Ü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


Werbung


image  image  image
image  image  image