Syntax Highlighting in Pelican

Um in Pelican das Syntax-Highlighting zu aktivieren, sind eigentlich nur wenige Schritte notwendig. Die Dokumentation von Pelican ist nicht sehr aussagekräftig und offensichtlich sind auch schon andere an dem Thema gescheitert.

So geht’s: Die pelicanconf.py muss folgenden Eintrag enthalten, damit das Markdown-Plugin codehilite aktiviert wird.

# pelicanconf.py
MARKDOWN = {
    'extension_configs': {
        'markdown.extensions.codehilite': {
            'css_class': 'codehilite',
        },
}

Es kann vorkommen, dass pygmentize installiert werden muss. Bei der Installation von Pelican mit pip, wird pygmentize als Abhängigkeit mit installiert. Andernfalls erfolgt die Installation mit pip.

pip install pygmentize

Mit folgendem Befehl kann man sich eine Liste der verfügbaren Stile anzeigen lassen. So lässt sich das Erscheinungsbild der Codeblöcke anpassen.

pygmentize -L style

Wenn man z.B. den zenburn-Stil aktivieren möchte, kann man mit nachfolgendem Befehl ein entsprechendes Stylesheet erzeugen. Wichtig ist, dass der der Wert von -a, (.codehilite) mit der in der pelicanconf.py angegebenen css_class übereinstimmt und von einem . angeführt wird.

pygmentize -S zenburn -f html -a .codehilite > themes/simple/static/css/styles.css

Das erzeuge Stylesheet anschließend in der base.html verlinken.

<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css/styles.css" />