Installation und Nutzung von pelican

Zu Pelican ist in der iX Nr.8/2017 der Artikel "Blog ohne Wordpress" erschienen, eine alte Idee, das Produktivsystem nicht im Internet stehen zu haben, sondern im Intranet z.B. lokal auf dem persönlichen Computer und von dort bei Bedarf statischen Seiten zu exportieren zum Webserver. Da das bisherige CMS für diese Website defekt war und dann auch noch dazu zeitgleich ein ätzender Security-Bug im Joomla existierte, hatte ich keine Lust mehr und habe dieses abgeschaltet. Pelican eröffnet mir nun wieder einen interessanten und sichereren Weg zur Erneuerung dieser Website, ohne von Sicherheitslücken gehetzt zu werden. Schauen wir mal...

Folgend eine Anleitung und Beschreibung der Nutzung von Pelican auf einem Debian-System und mit Nutzung vom Formatierer Markdown.

Installation auf z.B. lokalen Computer

Ich nutze eine virtuelle Maschine mit Debian. Man kann das Debian-Pakete pelican installieren. Ich bevorzuge die Installation von pelican über pip, da aktuellere Version installierbar.

apt install python-pip

Erste Schritte

Auszeichnungsprache ist entweder reStructuredText oder Markdown. Die Dateiendung sollte dann entweder .rst oder .md sein

Struktur entwickeln

Nachdem man mit pelican rumgespielt hat, sollte man vor einer echten Veröffentlichung sich Gedanken machen über die Struktur der Website und das eigenen Vorgehen. Pelican bietet drei Elemente zur Strukturierung

Texte erstellen

Code hervorheben

Die einfache Form: mindestens jeweils drei Tilden vor und nach dem Code, ohne Leerzeichen am Zeilenanfang:

 ~~~~
 apt install pelican
 ~~~~

Es wird dann umformatiert in folgenden HTML-Code:

<div class="highlight"><pre><span></span>apt install python-pip
</pre></div>

Damit der Code zuvor wiederrum so angezeigt werden kann, ergänzt man die Tilden mit ".html"

Artikelschutz

Pelican wird vermutlich eher von Einzelpersonen benutzt und weniger von Gruppen. Will man vor der Veröffentlichung Artikel zuvor prüfen und gegenlesen lassen, besteht die Möglichkeit des Setzen von Status: draft, wodurch der Artikel in das Extra-Verzeichnis Draft "veröffentlicht" wird. Diesen Ordner kann man mit AUTH von apache schützen, so dass nur ein definierter Kreis von Leuten darauf zugreifen kann.

Setzt man im Artikel den Status auf published, wir er regulär veröffentlicht.

Diese Funktion läßt sich global einsetzen, in dem in die pelicanconf.py folgendes eingetragen wird:

DEFAULT_METADATA = {
    'Status': 'draft',
}

Dadurch kann man in Ruhe lokal vorarbeiten und erst bei gezielter Setzung von Status: published wird der Artikel veröffentlicht.

Diese Funktion hat keine Auswirkung auf Page-Beiträge!

Datenschutz

Das Standard-Theme notmyidea benutzt eingebettete Fonts von Google. Ist die Schrift auf dem Computer des Benutzers nicht vorhanden, wird sie von einem Google-Server heruntergeladen, wodurch im dortigen Logfile personenbezogene Daten wie die IP-Nummer gespeichert werden. Die Fonts sind frei verfügbar und können somit selbst hinterlegt werden.

Sicherheit

Die Website besteht aus statischen HTML-Seiten, hackbar bleibt somit nun nur noch der Apache. Dadurch reduziert sich die Angriffsfläche extrem und vor allem entfällt komplett die regelmäßige Update-Arie von Wordpress, Joomla, Drupal usw., das Leben wird ruhiger ...

Export zum webserver

Pelican exportiert u.a. in das Verzeichnis /output/ mit

pelican -v content

Dieses Verzeichnis dann je nach dem z.B. mit rsync oder sFTP auf den Webserver kopieren.

Quellen

Pelican
Pelican Website -> http://docs.getpelican.com/en/stable/index.html
Formatierer
Markdown -> https://pythonhosted.org/Markdown/extensions/
CSS
Fonts einbetten ins CSS mit @font-face -> selfhtml.org

links