image image


image

Worknote und Thread: Syntax-Hervorhebung mit Coderay

Aufmerksame Leserinnen und Leser werden festgestellt haben, daß der Quellcode im letzten Beitrag gegenüber früheren Beiträgen ein wenig aufgehübscht ist. Ich habe erstmals in diesem Blog Kritzelheft einen Syntax-Highlighter eingesetzt. Und das kam so:

Aus irgendwelchen Gründen mußte ich mal etwas in der Dokumentation zu Kramdown nachschlagen. Kramdown ist ein schneller, in Ruby geschriebener Markdown-Konverter, der auch hinter den Kulissen von RubyFrontier werkelt, dem Static Site Generator, der ja bekanntlich auch diese Seiten herausschreibt. Kramdown hat jahrelang anstandslos und unauffällig seinen Dienst verrichtet und so hatte ich schon lange nicht mehr in die Dokumentation geschaut. Sie hat sich enorm verbessert und dort habe ich dann gefunden, daß der Konverter mittlerweile Syntax Highlighting mit Coderay beherrscht. Oops, solch eine Syntax-Hervorhebung wollte ich ja schon lange haben und so habe ich das Teil erst einmal mit

sudo gem install coderay

heruntergeladen und dann in RubyFrontiers pagefilter.rb die Kramdown betreffenden Codezeilen wie folgt ergänzt:

  if adrPageTable[:kramdown]
    adrPageTable[:bodytext] = Kramdown::Document.new(adrPageTable[:bodytext],
    :auto_ids => false, :entity_output => :numeric, :coderay_line_numbers => nil).to_html.gsub(""", '"')

Eigentlich wäre der letzte Schritt nicht nötig gewesen, denn Coderay ist – wenn vorhanden – der Default-Syntax-Highlighter von Kramdown, aber per Default schreibt er auch Zeilennummern heraus. Und diese Zeilennummern kleben ohne Zwischenraum am Code und das sieht ziemlich häßlich aus. Ich habe versucht, dies mit den dokumentierten Options zu ändern, aber :coderay_line_numbers => :table baut tatsächlich eine Tabelle, die nur so breit ist wie der Code (auch das sieht häßlich aus). Daher meine Frage an die Rubynistas von Euch da draußen: Weiß jemand, wie man mit Coderay Zeilennummern erzeugen kann, die einen kleinen Abstand zum eigentlichen Code einhalten? Oder kennt jemand einen Syntax-Highlighter für Ruby/Kramdown, der auch tatsächlich funktioniert? (Die in der Dokumentation angegebene) Alternative Rouge habe ich zwar installiert, aber nicht zur Mitarbeit bewegen können. Für Tips und Hinweise in meinen (Email-) Kommentaren wäre ich dankbar.


(Kommentieren) 

image image



Ü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.

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