.. _Tinkerer:
Das Blog-System Tinkerer
========================
`Tinkerer `__ ist ein relativ junges Projekt, das auf
:ref:`Sphinx ` aufbaut und es erlaubt, ein statisches HTML-Weblog aus
einer beziehungsweise mehreren Textdateien mit `Restructured-Text
`_-Syntax zu erzeugen.
"Statisch" soll hierbei bedeuten, dass es zwar keine Kommentier-Funktion und
kein Content-Management-System bietet, dafür allerdings ohne jede Datenbank und
serverseitige Skripte auskommt. Es genügt also bereits ein einfacher Webspace
ohne Extras, um das Weblog zu hosten.
Tinkerer kann folgendermaßen installiert werden:
.. code-block:: sh
sudo pip3 install Tinkerer
Ruft man anscheinend in einer Shell ``tinker`` auf, so bekommt man eine kurze
Hilfeseite mit den wichtigsten Programm-Optionen angezeigt.
.. _Neues Weblog:
.. _Neues Weblog anlegen:
.. _Ein neues Weblog anlegen:
.. rubric:: 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:
.. code-block:: sh
# 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:
.. code-block:: sh
tinker --setup
Einige Basis-Einstellungen können anschließend in der neu erstellten Datei
``conf.py`` im Projektverzeichnis vorgenommen werden:
.. code-block:: python
# 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.
.. _Posting:
.. _Weblog-Eintrag:
.. _Einen neuen Weblog-Eintrag erstellen:
.. rubric:: Einen neuen Weblog-Eintrag erstellen
Um einen neuen Weblog-Eintrag ('Posting') zu erstellen, gibt man im Projektverzeichnis
folgendes ein:
.. code-block:: sh
# 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 entspricht. 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:
.. code-block:: rst
# 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.
.. _Weblog-Seite:
.. _Neue Weblog-Seite erstellen:
.. _Eine neue Weblog-Seite erstellen:
.. rubric:: Eine neue Weblog-Seite erstellen
Um eine neue, statische Weblog-Seite zu erstellen, gibt man im
Projektverzeichnis folgendes ein:
.. code-block:: sh
# 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 wiederum 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:
.. code-block:: rst
# 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 Impressum können beispielsweise verwendet werden, um
Informationen über den Autor sowie Kontaktmöglichkeiten zu hinterlegen.
.. _Weblog aus Quellcode-Dateien generieren:
.. rubric:: Weblog aus Quellcode-Dateien generieren
Um aus den ``.rst``-Quelldateien fertige HTML-Seiten zu erzeugen, gibt man im
Projektverzeichnis folgendes ein:
.. code-block:: sh
# 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 :ref:`mc `, auf den zur Domain
gehörenden Webspace kopiert werden.
.. .. raw:: html
..
.. .. only:: html
.. .. rubric:: Anmerkungen:
.. .. [#] **Tip:** Da das Projekt noch in Entwicklung ist, lohnt sich womöglich 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.