Die Verzeichnisstruktur

pelican-quickstart hat uns ja folgende Struktur und Dateien angelegt:
blog_ilike/
├── content
├── develop_server.sh
├── Makefile
├── output
├── pelicanconf.py
└── publishconf.py

Aber was ist das alles? Also mal der Reihe nach

content: Hier legen wir die Dateien ab, aus denen pelican die Artikel und Seiten unseres Bloges erstellt. Auch Bilder etc. gehören dann hier hinein.

develop_server.sh: Der lokales Webserver, um das Blog vor der Veröffentlichung zu testen.

Makefile: Dient zum erstellen und publizieren der Webseite

output: In dieses Verzeichnis schreibt Pelican die generierten HTML-Dateien und alles was zur Webseite gehört hinein. Der Inhalt dieses Ordners wird dann veröffentlicht.

pelicanconf.py: Die allgmeine Konfigurationsdatei des Bloges

publishconf.py: Hier sind Einstellungen drin, die beim Publizieren verwendet werden sollen.

In den Dateien pelicanconf.py und publishconf.py kann die mit pelican-quickstart gemachte Konfiguration noch angepasst und erweitert werden.

Die Webseite erstellen

Bevor wir unseren ersten Blogbeitrag erstellen, erstellen wir die Seite einfach einmal. Dazu geben wir im Verzeichnis des Blogs, dort wo die Makefile-Datei den Befehl make html ein.

tekcins@Tekcins-THINK ~/tutorial_ilike $ make html [ ! -d /home/tekcins/tutorial_ilike/output ] || find /home/tekcins/tutorial_ilike/output -mindepth 1 -delete pelican /home/tekcins/tutorial_ilike/content -o /home/tekcins/tutorial_ilike/output -s /home/tekcins/tutorial_ilike/pelicanconf.py WARNING: No valid files found in content. Done: Processed 0 articles and 0 pages in 0.08 seconds.

Pelican warnt uns hier, dass keine gültigen Dateien (WARNING: No valid files found in content.) gefunden hat und 0 Artikel und 0 Seiten (Done: Processed 0 articles and 0 pages in 0.08 seconds.) zum erstellen gefunden hat.
Das hat so seine richtigkeit, trotzdem erstellt und Pelican eine leere Webseite im Outputverzeichnis.

output/
├── archives.html
├── categories.html
├── index.html
├── tags.html
└── theme
    ├── css
    │   ├── main.css
    │   ├── pygment.css
    │   ├── reset.css
    │   ├── typogrify.css
    │   └── wide.css
    └── images
        └── icons
            ├── aboutme.png
            ├── bitbucket.png
            ├── delicious.png
            ├── facebook.png
            ├── github.png
            ├── gitorious.png
            ├── gittip.png
            ├── google-groups.png
            ├── google-plus.png
            ├── hackernews.png
            ├── lastfm.png
            ├── linkedin.png
            ├── reddit.png
            ├── rss.png
            ├── slideshare.png
            ├── speakerdeck.png
            ├── twitter.png
            ├── vimeo.png
            └── youtube.png

Wenn wir jetzt mit make serve den mitgelieferten Webserver starten und im Browser die Adresse localhost:8000 eingeben, sollten wir die leere Webseite sehen.

Screenshot der leeren Seite

Das ist das Standard-Theme von Pelican. Wie man ein anderes Theme einrichtet und anpasst, schauen wir uns später an.

Einen Beitrag schreiben

Beiträge oder Blog-Posts werden bei Pelican in einzelenen Textdateien geschrieben und gespeichert, dabei gilt, pro Beitrag eine Datei, pro Datei ein Beitrag.
Da Textdateien von sich aus keinen Formatierungsangaben wie sie z.B. Textverarbeitungen oder HTML-Editoren verwenden kennen, unterstützt Pelican 4 Auszeichnungssprachen für den Input. Nämlich reStructuredText, Markdown, HTML und AsciiDoc. HTML und reStructuredText werden Out-of-the-box unterstützt, Markdown und AsciiDoc müssen zusätzlich installiert werden. Wir schauen uns im Rahmen dieses Tutorials reStructuredText, Markdown und HTML an.

Einen einfachen Beitrag in reStructuredText verfassen

Wir öffnen in einem Texteditor eine Datei und speichern diese im content-Verzeichnis unseres Blogs mit der Dateiendung .rstab, z.B. Hello-World.rst.
Am Anfang jedes Blogbeitrags folgen ein paar Zeilen mit Metadaten zu diesem Eintrag:

Hallo reStructuredText
######################

:date: 2013-07-18 08:00
:tags: pelican, tutorial, beispiel
:category: tutorial
:slug: Hallo-reStructuredText
:author: tekcins
:summary: Ein einfacher reStructuredText-Blog-Eintrag

Der Text über den # ("Hallo reStructuredText") ist der Titel des Blog-Posts.
:date: Das Datum und die Uhrzeit des Beitrag. Wird für die Sortierung und die Einordnung im Archiv verwendet.
:tags: Die Tags (Schlagwörter) für diesen Beitrag
:category: Die Kategorie in die dieser Beitrag gehört
:slug: Der Dateinamen ohne Endung für die HTML-Datei dieses Beitrags. Umlaute/Sonder- und Leerzeichen vermeiden.
:author: Der Name des Autors der Angezeigt werden soll. Pelican generiert auch automatisch Übersichtsseiten mit den Artikeln eines Autors.
:summary: Zusammenfassung des Blogposts.

Danach folgt eine Leerzeile und der Beitrag.


Hallo Welt
==========
Das ist *mein* **erster** Blogpost der in reStructuredText geschrieben wurde.

Hier schreiben wir
noch ein wenig mehr  
Text.

Und wo gibt's mehr Infos?
-------------------------
Auf der Webseite von docutils_

.. _docutils: http://docutils.sourceforge.net/rst.html#user-documentationrg/

Wenn wir die Datei speichern, im Blog-Verzeichnis make html ausführen und dann mit make serve den lokalen Server starten und auf die Adresse localhost:8000 gehen sehen wir das Ergebniss.

Screenshot des ersten Beitrags

Und schon erraten was was macht? Zum Vertiefen und weiteren Ausbau einfach auf der docutils und der Pelican Webseite nachschauen.

Einen einfachen Beitrag in Markdown verfassen

Bevor wir mit Markdown Seiten auszeichnen können, müssen wir zuerst die Markdown-Erweiterung installieren.
Markdown installieren wir wieder über pip oder easy_install, also mit dem Befehl pip install markdown oder easy_install markdown.

Danach erstellen wir wieder mit einem Texteditor eine Textdatei und speichern diese diesmal als Hello-World.md im content-Verzeichnis ab.

Auch bei Markdown-Dateien kommen zuerst die Metadaten in der Form rein:.

Title: Hallo Markdown
Date: 2013-07-18 08:10
Category: tutorial
Tags: pelican, tutorial, beispiel
Slug: Hallo-Markdown
Author: tekcins
Summary: Ein einfacher Markdown-blog-Eintrag

Die Metatags sind bis auf Title von der Funktion her dieselben, lediglich die Syntaxt ist etwas anders (kein Doppelpunkt am Zeilenanfang und Grossgeschrieben).

Danach folgt ebenfalls eine Leerzeile und dann der eingentliche Blogbeitrag.

# Hallo Welt

Das ist *mein* **erster** Blogpost der in Markdown geschrieben wurde.

Hier schreiben wir
noch ein wenig mehr  
Text.

## Und wo gibt's mehr Infos?

Auf der Webseite von [Markdown](http://daringfireball.net/projects/markdown/)

Wenn die Datei gespeichert ist und wir mit make html die Webseite neu erstellen, den lokalen Server neu starten und die Seite aufrufen begrüsst uns dieses Bild:

Screenshot des zweiten Beitrags

Einen einfachen Beitrag in HTML verfassen

Wir Blog-Beiträge auch in HTML-Verfassen. Dazu erstellen wir wieder eine Textdatei und speichern sie diesmal als Hello-World.html ab.
Zuerst kümmern wir uns auch hier um die Metadaten des Beitrags:

<html>
    <head>
        <title>Hallo HTML</title>
        <meta name="tags" contents="pelican, tutorial, beispiel" />
        <meta name="date" contents="2013-07-18 08:20" />
        <meta name="category" contents="tutorial" />
        <meta name="author" contents="tekcins" />
        <meta name="summary" contents="Ein einfacher HTML-Beitrag" />
    </head>
    <body>

    </body>
</html>

Für den Titel des Blogbeitrags wird das HTML-Title-Tag verwendet, für die anderen Metadaten entsprechende meta-Tags.
Der eigentliche Blogbeitrag wird dann ganz normal mit HTML ausgezeichnet zwischen die body-Tags geschrieben:

<h1>Hallo Welt</h1>
<p>Das ist <i>mein</i> <b>erster</b> Blogpost der in HTML geschrieben wurde.</p>
<p>
Hier schreiben wir
noch ein wenig mehr<br />
Text.</p>
<h2>Und wo gibt's mehr Infos?</h2>
<p>Zum Beispiel auf der Webseite von <a href='http://www.w3schools.com/html/'>W3Schools</a></p>

Wenn wir jetzt die Datei speichern, die Webseite erstellen und anschauen, ist aber nichts passiert. Aber wieso?
Pelican verarbeitet in der Standardkonfiguration nur Markdown- und reStructuredText-Dateien; um HTML-Dateien als Eingabe verwenden zu können müssen wir die Konfigurationsdatei pelicanconf.py im Blogverzeichnis anpassen. Wir öffnen diese dafür mit einem Texteditor und fügen die Zeile MARKUP = ('rst', 'md', 'html') ein und speicher sie wieder. Wenn wir jetzt den die Webseite erstellen und sie uns anschauen erscheint auch der HTML-Beitrag.

Screenshot des dritten Beitrags

Die Seite veröffentlichen

Die Seite veröffentlichen wir, in dem wir sie per make publish erstellen. Dabei liest Pelican zuerst die pelicanconf.py ein und führt sie mit der publishconf.py zusammen, wobei Konfigurationseinstellungen die sowohl in der pelicanconf.py als auch der publishconf.py vorkommen aus der publishconf.py übernommen werden.

Jetzt können wir die Dateien aus dem output-Verzeichnis entweder manuell auf einen Webserver kopieren oder wir benutzen dazu den make-Befehl. make ftp_upload lädt die Datei z.B. per FTP auf den Server, wenn wir dies bei Konfiguration per pelican-quickstart konfiguriert haben.

Teilen

Comments