Assets in Templates

Außer Bildern und Videos erkennt Stacey auch alle anderen Assets innerhalb des Verzeichnisses einer Seite. Diese werden jeweils in ihren eigenen Kollektionen abgelegt.

So hat zum Beispiel diese Seite Hier Bild

die folgenden Kollektionen:

$pdf: ['pdf-file.pdf' => Asset]

$mp3: ['mp3-file-1.mp3' => Asset
       'mp3-file-2.mp3' => Asset]

$html: ['youtube-embed.html' => HTML]

$doc: ['word-document.doc' => Asset]

$jpg: ['01.jpg' => Image]

Diese können genauso wie Kollektionen $images oder $video in Templates oder Partials mit Schleifen durchlaufen werden. Beispielsweise so:

foreach $mp3 do
  <object height="50" width="200">
    <param name="kioskmode" value="true">
    <param name="src" value="@url">
    <param name="autoplay" value="false">
    <param name="controller" value="true">
    <embed height="50" src="@url" type="video/quicktime" width="200" controller="true" autoplay="false" kioskmode="true">
  </object>
endforeach

Asset Kollektionen

Man kann auch eine spezielle, benannte Kollektion aus Assets erstellen. Stacey erkennt Verzeichnisse, die mit einem Unterstrich (_) beginnen, als Asset Kollektionen. Auf diese Kollektionen kann man mit dem Verzeichnisnahmen, dem ein $ vorangestellt wird, Bezug nehmen.

Zum Beispiel die Verzeichnisstruktur Beispielbild

erstellt die folgenden Asset Kollektionen.

$_logos: ['logo1.gif' => Image
          'logo2.mov' => Video]

$_thumbnails: ['thumb1.jpg' => Image
               'thumb2.jpg' => Image
               'thumb3.jpg' => Image
               'thumb4.jpg' => Image]

Diese Kollektion kann auf die gleiche Art und Weise durchlaufen werden, wie die Kollektion $images.

foreach $_logos do
  <li><img src="@url" alt="@name"></li>
endforeach

Diese speziellen Kollektionen werden innerhalb anderer Kollektionen ( z.B.: $siblings oder $children) nicht angezeigt.

Asset Typen

Stacey weiß schon standardmäßig, wie einige Assettypen zu behandeln sind. Jeder dieser Typen besitzt spezifische Variablen, auf die im Zusammenhang einer Schleife zurückgegriffen werden kann.

Bilder

(.jpg, .jpeg, .gif, .png)

@name
Der Name des aktuellen Bildes. Dieser entsteht, in dem aus dem Dateinamen ein Text gebildet wird (z.B. 1.my-image.jpg wird My image).
@file_name
Der Dateiname des aktuellen Bildes. (z.B. 1.my-image.jpg)
@url
Der relative Pfad zu dieser Datei, ausgehend von der aktuellen Seite.
@small
Der relative Pfad zu einer Datei gleichen Namens und gleichen Typs wie die aktuelle Datei, aber mit einem _sml-Suffix am Dateinamen (wenn es so eine Datei gibt).
z.B. ein Bild mit dem Namen portrait.jpg hat eine @small Variable portrait_sml.jpg
@large
Der relative Pfad zu einer Datei gleichen Namens und geleichen Typs wie die aktuelle Datei, aber mit einem _lge-Suffix (wenn es so eine Datei gibt). z.B. ein Bild mit dem Namen portrait.jpg hat eine @large Variable portrait_lge.jpg
@width
Die Breite des aktuellen Bildes. z.B. 560
@height
Die Höhe des aktuellen Bildes z.B. 400

Die folgenden Variablen werden aus den IPTC metadata des Bildes ausgelesen

@title
Das Feld 'title' der IPTC metadata (field 005).
@description
Das Feld 'description/caption' der IPTC metadata (field 120).
@keywords
Das Feld 'keywords' der IPTC metadata (field 025).

Video

(.mov, .mp4, .m4v, .swf)

@name
Der Name des aktuellen Videos. Dieser entsteht, in dem aus dem Dateinamen ein Text gebildet wird (z.B. 1.my-movie.mov wird My movie).
@file_name
Der Dateiname der aktuellen Videodatei.
@url
Der relative Pfad zu dieser Datei, ausgehend von der aktuellen Seite.
@width
Die Breite der aktuellen Video-Datei (aus dem Dateinamen – z.b: 300x150.mov).
@height
Die Höhe der aktuellen Video-Datei (aus dem Dateinamen – z.b: 300x150.mov).

HTML

(.html, .htm)

@name
Der Name der aktuellen HTML-Datei. Dieser entsteht, in dem aus dem Dateinamen ein Text gebildet wird(z.B. 1.my-youtube-video.html wird My youtube video).
@file_name
Der Dateiname der aktuellen HTML-Datei.
@url
Der relative Pfad zu dieser Datei, ausgehend von der aktuellen Seite.
@content
Der Inhalt der HTML-Datei (als raw html).

Alle anderen Assets

(.*)

@name
Der Name der aktuellen Datei. Dieser entsteht, in dem aus dem Dateinamen ein Text gebildet wird (z.B. 1.my-resume.pdf wird My resume).
@file_name
Der Dateiname der aktuellen Datei.
@url
Der relative Pfad zu dieser Datei, ausgehend von der aktuellen Seite.

IPTC Metadaten

(muss noch fortgesetzt werden)