Inhalte bei Stacey bearbeiten
Innerhalb des Verzeichnisses /content
gibt es eine Datei _shared.txt
. Wenn man diese Datei ( im Stacey-Download-Paket) mit einem Texteditor öffnet, findet man den folgenden Inhalt vor:
name: Name - profession: Graphic Designer - email: hi@yourdomain.com
Diese Angaben kann man mit den eigenen ersetzten. Man kann hier jedoch auch vollkommen neue Werte definieren. Sie sind dann überall verwendbar.
Codierung von Textdateien
Alle Textdateien müssen mit dem UTF-8-Zeichensatz codiert werden. Dadurch können auch Zeichen verwendet werden, die nicht zum Standard-ASCII-Vorrat gehören. Das ist natürlich für deutschsprachige Webseiten besonders wichtig.
Der richtige Editor
Die meisten Editoren können mit dem UTF-8-Zeichenssatz umgehen. Bereits der Windows-Standard-Editor kann bei richtiger Zeichensatzwahl die entsprechnden Dateiene erzeugen. wesentlich mehr Komfort bietet aber ein Editor wie Notepad++.
Mehr zum Thema text files & UTF-8 encoding on Wikipedia.
Inhalt bearbeiten
Jedes Verzeichniss, dass als Seite angezeigt werden soll muss eine .txt-Datei enthalten. Diese Datei kann durchaus leer sein. Der Name dieser .txt-Datei muss mit einem Dateinamen im Verzeichnis /templates
übereinstimmen, damit Stacey weiß, wie es die Inhalte der .txt-Datei darstellen soll.
Hier Beispielbild
Variablen erzeugen und verarbeiten
Dieser Prozess kann mit der folgenden, beispielhaften Schrittfolge beschrieben werden:
- Im Browser wird
http://yourdomain.com/?/about/
aufgerufen. - Stacey liesst die entsprechende Inhaltsdatei
/content/3.about/content.txt
- Aus der .txt-Datei werden die Schlüssel-Wert-Paare zu
@title
und zu@content
extrahiert.
title: About Title - content: Lorem ipsum.
- Stacey sucht nach der dem Namen der Textdatei entsprechenden Templatedatei, also
/templates/content.html
. - Stacey sucht die entsprechenden Variablen im Template, ersetzt sie und erzeugt den endgültigen HTML-Code. So wird aus
<div id="main"> <h1>@title</h1> @content </div>
der HTML-Code
<div id="main"> <h1>About Title</h1> <p>Lorem ipsum.</p> </div>
Format der Inhaltsdateien
Die Inhaltsdateien weisen alle das gleiche Muster auf. Jedem Schlüssel (key) folgt ein Doppelpunkt (:), dann kommt der Wert und schließlich ein Bindestrich. Letzterer beendet den Wert, also
schluessel: wert -
Die Schlüsselwerte entsprechen den Platzhaltern in der Templatedatei die mit dem Wert des INahltes (der .txt-datei) ersetzt werden. Man kann soviele schluessel:wert
-Paare erzeugen, wie man benötigt.
Schlüssel
Schlüssel dürfen nur diese Zeichen enthalten
abcdefghijklmnopqrstuvwxyz0123456789_
also kleingeschriebene alphanumerische Zeichen und den Unterschrich, also auf keinen Fall deutsche Sonderzeichen (äöüß).
Eine Standardinhaltsdatei kann demzufolge so aussehen
title: The Test Project 1 - date: 2009, Jun— - content: Lorem ipsum dolor...
Trennung von Schlüssel und Wert
Jedem Wert muss eine Zeile folgen, die nur einen Bindestrick enthält Stacey toleriert aber zufällige Tabs bzw. Leerzeichen.
Nach dem letzten Schlüssel/Wert-Paar ist der Bindestrich optional.
Leer Werte
Wenn ein Wert leer sein soll, lässt man einfach ein Leerzeichen nach dem Doppelpunkt.
@path
Diese Variable ist auch in den Inhaltsdateien verfügbar. Das ist besonders nützlich, wenn man Assets (Bilder, Flash-Dateien etc.) innenrhalb des aktuellen Verzeichnisses verlinken will.
@bypass_cache
Diese Variable kann man zu einer bestimmten Inhaltsdatei hinzufügen, wenn man möchte, dass die entsprechende Seite nicht gecacht werden soll.
Markdown
Alle Werte innerhalb der Inhaltsdatei, die einen oder mehrere Zeilenumbrüche enthalten, werden als Markdown ausgewertet. In dem folgenden Beispiel wird @title als einfacher Text ausgewertet, @content hingegen als Markdown. So wird aus
date: 2009, Jun— - content: # Title Lorem ipsum.
dies:
@date => 2009, Jun— @content => <h1>Title</h1> <p>Lorem ipsum.</p>
Markdown ignoriert HTML-Tags, daher kann man an Stelle von Markdown auch HTML-Tags zur Kennzeichnung verwenden. Man kann also an Stelle des obigen Beispiels in die Textdatei auch einfügen:
date: 2009, Jun— - content: <h1>Title</h1> <p>Lorem ipsum.</p>
Referenzen für Markdown
Stacey nutzt PHP Markdown Extra, eine PHP-spezifische Erweiterung von Markdown. Markdown Extra verfügt auch über einige spezische Syntaxelelemente, wie hübsche Codeblöcke und IDs für Überschriften. Es ist also sinnvoll, beide Referenzen zu konsultieren.