Das Blog-System Tinkerer

Tinkerer ist ein junges Projekt, das auf Sphinx aufbaut und es erlaubt, ein HTML-Weblog aus einer bzw. mehreren Textdateien mit Restructured-Text-Syntax zu erzeugen.[1]

Ein neues Weblog anlegen

Um mit Tinkerer ein Weblog zu generieren, legt man zunächst ein neues Verzeichnis an; anschließend wechselt man ins Projektverzeichnis:

# Blog-Verzeichnis anlegen:
mkdir myblog

cd myblog

Ähnlich wie Sphinx stellt auch Tinkerer eine Routine für das erstmalige Erstellen eines Blogs bereit. Diese wird folgendermaßen gestartet:

tinker --setup

Einige Basis-Einstellungen können anschließend in der neu erstellten Datei conf.py im Projektverzeichnis vorgenommen werden:

# Titel des Blogs festlegen:
project = 'Mein Blog'

# Zusatzzeile unter dem Blogtitel
tagline = 'Eine zusätzliche Header-Zeile'

# Kurze Beschreibung dse Blogs:
description = 'Sinn dieses Weblogs'

# Change this to your name
author = 'Vorname Nachname'

# Change this to your copyright string
copyright = '2016, ' + author

# Change this to your blog root URL (required for RSS feed)
website = 'http://www.grund-wissen.de/blog/'

Der angegebene Webseiten-Pfad ist wichtig, damit die Seite mit einem RSS-Reader abonniert werden kann und die Abonnenten so automatisch über neue Artikel informiert werden.

Gibt man in einer Shell tinker ohne weitere Angaben ein, so werden die möglichen Aufruf-Optionen eingeblendet.

Einen neuen Weblog-Eintrag erstellen

Um einen neuen Weblog-Eintrag (‘Posting’) zu erstellen, gibt man im Projektverzeichnis folgendes ein:

# Neuen Blog-Eintrag mit angegebenem Titel erstellen:
tinker -p 'Titel des Weblog-Eintrags'

Hierdurch wird im Projektverzeichnis eine neue RestructuredText-Datei beispielsweise unter 2016/03/23/titel_des_weblog_eintrags.rst erstellt, wobei die Verzeichnisangabe dem aktuellen Datum enstpricht. Diese Datei kann mit einem Texteditor geöffnet und mit Text gemäß der regulären RestructuredText-Syntax gefüllt werden.

Gleichzeitig wird in der Datei master.rst im Projektverzeichnis ein Eintrag ins dortige Inhalts-Verzeichnis aufgenommen:

# Datei master.rst

Sitemap
=======

.. toctree::
   :maxdepth: 1

   2016/03/23/titel_des_weblog_eintrags

Mag man beispielsweise nachträglich den Titel eines Eintrags ändern, so sollte sowohl der Name der .rst-Datei als auch die entsprechende Pfadangabe in der Datei master.rst angepasst werden.

Eine neue Weblog-Seite erstellen

Um eine neue, statische Weblog-Seite zu erstellen, gibt man im Projektverzeichnis folgendes ein:

# Neue Blog-Seite mit angegebenem Titel erstellen:
tinker --page 'Titel der Weblog-Seite'

Hierdurch wird im Projektverzeichnis eine neue RestructuredText-Datei pages/titel_der_weblog_seite.rst erstellt. Diese Datei kann wiederumg mit einem Texteditor geöffnet und mit Text gemäß der regulären RestructuredText-Syntax gefüllt werden.

Auch in diesem Fall wird in der Datei master.rst im Projektverzeichnis ein Eintrag ins dortige Inhalts-Verzeichnis aufgenommen:

# Datei master.rst

Sitemap
=======

.. toctree::
   :maxdepth: 1

   2016/03/23/titel_des_weblog_eintrags
   pages/titel_der_weblog_seite

Soll also nachträglich der Name einer Seite geändert werden, so sollte wiederum sowohl der Name der .rst-Datei als auch die entsprechende Pfadangabe in der Datei master.rst angepasst werden.

Statische Seiten wie ein Impressumg können beispielsweise verwendet werden, um Informationen über den Autor sowie Kontaktmöglichkeiten zu hinterlegen.

Weblog aus Quellcode-Dateien generieren

Um aus den .rst-Quelldateien fertige HTML-Seiten zu erzeugen, gibt man im Projektverzeichnis folgendes ein:

# Weblog aus Quellcode bauen:
tinker -b

Durch diesen Aufruf werden die fertigen HTMl-Dateien (bei Verwendung der Standard-Optionen) im Unterverzeichnis blog innerhalb des Projektverzeichnisses gespeichert. Von dort können sie mit einem FTP-fähigen Dateimanager, beispielsweise mc, auf den zur Domain gehörenden Webspace kopiert werden.


Anmerkungen:

[1]

Tip: Da das Projekt noch in Entwicklung ist, lohnt sich ein Eintrag in der entsprechenden Googlegroup. Möchte man dafür jedoch kein Google-Konto eröffnen, so genügt auch eine Email an:

tinkerer-dev+subscribe@googlegroups.com

Dies funktioniert nach dieser Anleitung mit jeder Googlegroup.