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:

  1. Im Browser wird http://yourdomain.com/?/about/ aufgerufen.
  2. Stacey liesst die entsprechende Inhaltsdatei /content/3.about/content.txt
  3. Aus der .txt-Datei werden die Schlüssel-Wert-Paare zu @title und zu @content extrahiert.
title: About Title
-
content:
Lorem ipsum.
  1. Stacey sucht nach der dem Namen der Textdatei entsprechenden Templatedatei, also /templates/content.html.
  2. 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.