RSS Feeds sind einfach klasse und können mit Pico ganz einfach und leicht selbst erzeugt werden. RSS Feeds sind kostenlose Add-ons für Ihren Browser
Was sind RSS-Feeds?
Kurz gesagt sind RSS-Feeds nichts anderes als kleine Nachrichtenticker, die sich in Ihrem Browser bemerkbar machen, wenn neue Artikel auf Ihrer Lieblingsseite bereit stehen. Dazu benötigen Sie einen RSS-Reader, um den aktuellen Feed einer Webseite zu empfangen. Die kostenlosen RSS-Reader, können Sie über die Einstellungen des Browsers hinzuladen und einrichten. Geben Sie dann noch die URL zu einem Feed einer Webseite ein, dann erhalten Sie regelmäßig einen kleinen Anleser des neuen Artikels der beobachteten Webseite - ganz einfach und easy.
In Zeiten von User- und IP-Tracking, sind RSS-Feeds wieder sehr beliebt geworden, denn in den meisten Fällen können Sie damit nervigen Werbebannern und Popups aus dem Wege gehen, denn der Feed ist von der auf der Webseite laufenden Werbung in den meisten Fällen unbeeindruckt.
RSS-Struktur
Der RSS-Feed ist nichts weiter als ein standardisierter Datenstrom der die folgende Struktur haben muss:
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title> Titel des Feeds </title>
<link> URL der Webpräsenz </link>
<description> Kurze Beschreibung des Feeds </description>
<language> Sprache des Feeds (z. B. "de-de") </language>
<copyright> Autor des Feeds </copyright>
<pubDate> Datum("Tue, 8 Jul 2008 2:43:19") </pubDate>
<image>
<url> URL einer einzubindenden Grafik </url>
<title> Bildtitel </title>
<link> URL, mit der das Bild verknüpft ist </link>
</image>
<item>
<title> Titel des Eintrags </title>
<description> Kurze Zusammenfassung des Eintrags </description>
<link> Link zum vollständigen Eintrag </link>
<author> Autor des Artikels, E-Mail-Adresse </author>
<guid> Eindeutige Identifikation des Eintrages </guid>
<pubDate> Datum des Items </pubDate>
</item>
<item>
...
</item>
</channel>
</rss>
Das CMS Pico muss also die zu sendenden Daten in dieses Format verpacken und an den RSS-Reader eines Lesers senden und das ist dank Twig recht leicht erledigt.
Der Beitrag feed.md
Damit der Feed eine URL-Entsprechung in Ihrer Webseite bekommt, muss ein Beitrag mit dem namen feed.md
in der typischen Pico-manier erstellt werden. Wenn Sie mögen können Sie die Meta-Attribute des Beitrags wie gewohnt füllen aber am wichtigsten ist das Meta-Attribut Template
, denn hier muss feed
eingetragen werden, damit Pico das Template feed
startet, welches die Daten aus dem CMS sammelt und den Datenstrom an den Feedreader des Lesers sendet.
---
Title: RSS Feed
Template: feed
Hidden: true
Description: Sendet den Feed an den Leser
---
Den Beitrag sollten Sie im Root des Content-Verzeichnis ablegen, damit er klassisch ala: https://CMSWorkbench.de/feed
gerufen werden kann. Diese Form wird in der Regel erwartet, kann aber auch in einem bestimmten Verzeichnis oder in einer speziellen Kategorie liegen.
Hinweis: Damit der
feed.md
Beitrag nicht mit in der regulären Navigation des CMS und zwischen den restlichen Beiträgen erscheint, sollten Sie zusätzlich noch das Meta-AttributHidden: true
setzen.
Das Twig-Template feed.twig
Das Template feed.twig
wird vom Beitrag feed.md
aufgerufen und wird die eigentliche Arbeit leisten. Das Twig-Template soll das folgende Coding erhalten:
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
{% set RFC822 = "D, d M Y H:i:s O" %}
<channel>
<title>{{ site_title | e }}</title>
<description>{{ pages.index.meta.description | e }}</description>
<link>{{ base_url }}/</link>
<atom:link href="{{ base_url ~ "/feed" }}" rel="self" type="application/rss+xml"/>
<pubDate>{{ "now" | date(RFC822) }}</pubDate>
<lastBuildDate>{{ "now" | date(RFC822) }}</lastBuildDate>
<generator>Pico</generator>
<!-- Der rss-feed sendet alle mit Sticky markierten Beiträge -->
{% for page in pages if page.meta.Sticky and not end %}
<item>
<title> {{ page.title | e }} </title>
<description> {{ page.id | content | e }} </description>
<pubDate> {{ page.date | date(RFC822) }} </pubDate>
<link> {{ page.url }} </link>
<guid isPermaLink="true">{{ page.url }} </guid>
</item>
{% if loop.index == 5 %}{% set end = true %}{% endif %}
{% endfor %}
</channel>
</rss>
Bei diesem Twig-Script handelt es sich im wesentlichen, um die vorangegangene Definition des RSS-Feed, allerdings sorgt der Loop dafür, das nicht zwingend immer die neuesten Beiträge gesendet werden, sondern die Beiträge, die vom Redakteur bewusst hervorgehoben wurden (Sticky: true
), das ermöglicht eine bessere Steuerung des Outputs Ihrer Webseite. Denn Sie können den Feed beispielsweise auch bei XING einbinden und dort ist es erfahrungsgemäß besser, wenn nur ausgesuchte Beiträge im XING-feed für die Recruiter zu sehen sind (vertrauen Sie mir :).
{copyright}
Hinweis: der Filter
|e
soll lediglich dafür sorgen, das Escape-Sequenzen gefiltert werden, um Fehler durch Sonderzeichen zu verhindern. {autor} {mail}
09.07.2024 Kontakt@Oliver-Lohse.de RSS Feed News