image image


image

Syntax-Highlighter (nicht nur) für den Schockwellenreiter

Da ich ja schon seit geraumer Zeit dieses Blog Kritzelheft mit vielen Codebeispielen fülle, möchte ich diese ein wenig aufhübschen und suche nach einem Syntax Highlighter für den Schockwellenreiter. Idealerweise sollte er den Code nicht erst zur Laufzeit per JavaScript einfärben, sondern schon während des Herausschreibens der statischen Seiten, so daß beim Betrachter dieser Seiten nur noch ein CSS für die bunten Codezeilen zuständig ist. Außerdem sollte er möglichst viele Sprachen unterstützen und natürlich Open Source sein. Bisher habe ich diese drei im Fokus:

  • highlight.js, ein freier (BSD-Lizenz) JavaScript-Highlighter mit Node.js-Unterstützung, der also auch auf dem Desktop die Seiten herausschreiben können sollte (Quellcode auf GitHub).
  • Prism (MIT-Lizenz) ist ebenfalls in JavaScript geschrieben und überzeugt durch eine unheimlich kleine Größe (etwa 2K gezipt). Prism ist weit verbreitet, den Quellcode gibt es ebenfalls auf GitHub und hier gibt es eine kleine Einführung, die auch zeigt, wie gut der herausgeschriebene Quellcode ausshen kann.
  • Pygments fällt etwas aus der Reihe, denn der Highlighter ist in Python geschrieben. Er ist auf Pypi erhältlich und steht unter einer BSD-Lizenz. Er ist vor allem deshalb interessant, weil er vermutlich gut mit Pelican und MkDocs zusammenarbeitet – falls er in diesen Programmen nicht sowieso schon fest eingebaut ist.

Hat einer von Euch da draußen Erfahrung mit den genannten Programmen oder Empfehlungen für andere Syntax-Highlighter, die ich mir anschauen sollte. (Email-) Kommentare willkommen.


3 (Email-) Kommentare


Tut pandoc nicht schon das Gewünschte? Mein pandoc (Version 1.19.2.1) sagt nach einem Aufruf

pandoc --standalone -S -i

mit der Eingabe

# Ein Test mit Code

```c
int main(int argc, char **argv) {
    return 0;
    }
    ```

folgendes:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="Content-Style-Type" content="text/css" />
        <meta name="generator" content="pandoc" />
        <title></title>
        <style type="text/css">code{white-space: pre;}</style>
        <style type="text/css">
div.sourceCode { overflow-x: auto; }
/* und so weiter … weggelassen */
        </style>
    </head>
    <body>
        <h1 id="ein-test-mit-code">Ein Test mit Code</h1>
        <div class="sourceCode"><pre class="sourceCode c"><code class="sourceCode c"><span class="dt">int</span> main(<span class="dt">int</span> argc, <span class="dt">char</span> **argv) {
            <span class="cf">return</span> <span class="dv">0</span>;
        }</code></pre></div>
    </body>
</html>

Natürlich nutzt pandoc intern pygments, und natürlich muss man die Erweiterungs-Syntax mit den drei Backticks nutzen.

– Alexander A. (Kommentieren) (#)


Ich benutze seit vielen Jahren Emacs mit Orgmode. In Verbindung mit org-babel steht nicht nur Syntax-Highlighting für. dutzende Programmiersprachen zur Verfügung, in vielen Fällen kann man den Code in Emacs auch ausführen. Ansonsten kostet der Export nach Html oder Pdf nur eine Tastenkombination.

– Johannes B. (Kommentieren) (#)


https://www.emacswiki.org/emacs/Htmlize sollte doch schon weiterhelfen? Auch ohne org-mode, den ich natürlich ebenfalls wärmstens empfehlen kann. ;)

– Juergen F. (Kommentieren) (#)


(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