.. _Tinkerer:
Das Blog-System Tinkerer
========================
`Tinkerer `__ ist ein junges Projekt, das auf :ref:`Sphinx
` aufbaut und es erlaubt, ein HTML-Weblog aus einer bzw. mehreren
Textdateien mit `Restructured-Text
`_-Syntax zu erzeugen. [#]_
.. _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.
.. _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 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:
.. 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.
.. _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 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:
.. 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 Impressumg 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 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.