Willkommen bei Pico
Pico ist ein erstaunlich einfaches und schnelles Flat File CMS.
Anforderungen
Pico benötigt webspace mit PHP 5.2.4 oder höher. Außerdem muss mod_rewrite aktiviert sein. Eine Datenbank ist nicht erforderlich.
Installation
- Zunächst lädt man die aktuelle Version von Pico auf den Computer und entpackt das Download-Archiv.
- Dann lädt man die Dateien mit Hilfe eines FTP-Programmes (z.B. FileZilla) auf den Webserver.
- Eventuell muss die Datei
.htaccess
angepasst werden.
Inhalte erstellen
Wie bereits erwähnt ist Pico ein Flat File CMS. Das beudeutet in diesem Fall, dass es ein Verwaltungs Tool gibt und man sich auch nicht mit der Installation einer Datenbank befassen muss. Man erstellt einfach Dateien im .md
-Format im Verzeichnis "content" - das sind dann schon die Inhaltsseiten. Diese Datei zum Beispiel trägt den Namen index.md
und wird als Startseite des Systems angezeigt.
Wenn man im Verzeichnis content
ein Unterverzeichnis erstellt (z.B. content/sub
) und dort eine Datei index.md
einfügt, dann kann man dieses Verzeichnis mit der URL
http://yousite.com/sub
erreichen. Wenn man innerhalb des Unterverzeichnisses sub eine weitere Seite haben will, dann erstellt man einfach eine Datei mit dem entsprechenden Namen (z.B. content/sub/page.md
) und man kann mit http://yousite.com/sub/page
auf diese Datei zugreifen. Hier folgen einige Beispiele zur Verortung von Inhaltsdateien und dazu die jeweiligen URL:
Physical Location | URL |
---|---|
content/index.md | / |
content/sub.md | /sub |
content/sub/index.md | /sub (same as above) |
content/sub/page.md | /sub/page |
content/a/very/long/url.md | /a/very/long/url |
Wenn eine Datei nicht gefunden wird, so zeigt das Pico system Die Seite content/404.md
an.
Auszeichnungssprache für Textdateien
Die Textdateien werden im Markdown -Format erstellt. Man kann aber auch gewöhnlichen HTML-Code verwenden.
An den Anfang so einer Textdatei im Markdownformat kann man einen speziellen Block mit Kommnentaren und spezielen Seitenattributen einfügen, zum Beispiel:
/ *
Title: Willkommen
Description: Diese Beschreibung wird in den meta description Tag eingefügt
Author: Joe Bloggs
Date: 2013/01/01
Robots: noindex,nofollow
*/
Diese Werte werden dann an Stelle der {{ meta }}
Variablen des Themes (siehe unten) eingefügt.
Es gibt außerdem bestimmte Variablen, die man in den Texdateien nutzen kann::
%base_url%
- The URL to your Pico site
Themes
Man kann Themes im im Verzeichnis "themes" erstellen. Dort befindet sich bereits das Theme default, dass gut als Vorlage für eigene Themes geeigent ist. Pico als Templateengine Twig. Das verwendete Theme kann in der Datei config.php
mit Hilfe der Variabelen $config['theme']
gesetzt werden.
Alle Themes müssen eine Datei index.html
enthalten, mit der die HTML-Struktur des Themes definiert wird. Hier folgt eine Übersicht zu den Twig Variablen, die in der Templatedatei verfügbar sind:
{{ config }}
- enthält die in der Dateiconfig.php
gesetzten Werte (z.B.{{ config.theme }}
= "default"){{ base_dir }}
- Der Pfad zum Pico-Wurzelverzeichnis{{ base_url }}
- Die URL zur Pico-Website{{ theme_dir }}
- Der Pfad zum aktiven Theme{{ theme_url }}
- Die URL zum Verzeichnis des aktiven Themes{{ site_title }}
- Shortcut zu dem in der Dateiconfig.php
festgelegten Seitentitel{{ meta }}
- Enthält die Metaangaben der aktuellen Seite{{ meta.title }}
{{ meta.description }}
{{ meta.author }}
{{ meta.date }}
{{ meta.date_formatted }}
{{ meta.robots }}
{{ content }}
- Der Inhalt der aktuellen Seite nach der Verarbeitung durch Markdown{{ pages }}
- Eine Zusammenstellung (collection) des Inhalts der Website{{ page.title }}
{{ page.url }}
{{ page.author }}
{{ page.date }}
{{ page.date_formatted }}
{{ page.content }}
{{ page.excerpt }}
{{ prev_page }}
- Ein page-Objekt der vorherigen Seite (relativ zur aktuellen Seite){{ current_page }}
- Ein page-Objekt der aktuellen Seite{{ next_page }}
- Ein page-Objekt der nächsten Seite (relativ zur aktuellen Seite){{ is_front_page }}
- Ein boolean flag für die Startseite
Die Zusammenstellung (collection) Pages kann zum Beispiel so genutzt werden:
<ul class="nav"> {% for page in pages %} <li><a href="{{ page.url }}">{{ page.title }}</a></li> {% endfor %} </ul>
Plugins
Siehe hierzu http://pico.dev7studios.com/plugins
Konfiguration
Man kann die PICO Standardeinstellungen überschreiben (und eigene benutzerdefinierte Einstellungen hinzufügen), in dem man die Datei config.php
bearbeitet. Die Datei config.php enthält bereits eine Auflsitung aller Standardwerte in Kommentarform. Um eine Einstellung zu überschreiben, entfernt man einfach die Kommentarmarkierung und setzt seinen eigenen Wert ein.
Dokumentation
Weitere Informationen zu Pico sind unter http://pico.dev7studios.com/docs verfügbar.
Blogging mit Pico
Um mit Pico einen Blog zu erstellen geht man am besten so vor:
- man legt alle post.md -Dateien im Verzeichnis
content
ab. - alle Dateien post.md sollen ein Feld
Date
enthalten, damit sie von den anderen Seiten unterscheidbar sind. - Das Template sollte etwa so aussehen:
{% if is_front_page %} <!-- Front page lists all blog posts --> <div id="posts"> {% for page in pages %} {% if page.date %} <!-- Note we check for Date field (posts) here --> <div class="post"> <h3><a href="{{ page.url }}">{{ page.title }}</a></h3> <p class="meta">{{ page.date_formatted }}</p> <p class="excerpt">{{ page.excerpt }}</p> </div> {% endif %} {% endfor %} </div> {% else %} <!-- Single page shows individual blog post --> <div class="post"> {% if meta.title %}<h2>{{ meta.title }}</h2>{% endif %} <p class="meta">{{ meta.date_formatted }}</p> {{ content }} </div> {% endif %}