RSS-Feeds /Atom-Feeds/JSON

Stacey trifft nicht allzu viele Annahmen hinsichtlich des Formates, in dem Templates geschrieben sind. Es benutzt die Dateierweiterung der Template-Datei, um herauszufinden, welcher Inhaltstyp (content type) ausgeliefert werden soll. Standardmäßig erkennt Stacey die Inhaltstypen .html, .json, .xml, .atom, .rss, .rdf und .txt.

Auf dieser Grundlage wird auch der RSS-Feed erstellt. Das Verzeichnis /content/feed ist eine ganz normale Stacey-Seite. Der einzige Unterschied besteht darin, dass sie eine .atom-Templatedatei an Stelle einer .html-Templatedatei nutzt.

Wenn man nun also an Stelle des Atom-Formats das RSS2-Format nutzen will, muss die Datei /templates/feed.atom umbenannt werden in /templates/feed.rss und der INhalt muss so verändert werden:

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>@name's @feed_name</title>
    <link>http://@base_url/@permalink/</link>
    <description>@description</description>
  :feed_loop
  </channel>
</rss>

Cleaning JSON

Stacey komprimiert die JSON-Ausgabe automatisch und entfernt Kommas am Ende. So erzeugt das folgende Template

get "/" do
{
  "pages": [
    foreach $children do
      { "title": "@title" },
    endforeach
  ]
}
end

diesen Code

  {"pages":[{"title":"Projects"},{"title":"About"},{"title":"Contact"}]}