Kirby 2 Podcast Plugin
Jetzt kannst du dein Lieblings-CMS auch zum Podcasten benutzen. Dieses Kirby-Plugin erzeugt einen RSS-Feed speziell für Podcasts, sucht nach MP3s und deren Dauer und Größe.
Dieses Plugin erzeugt einen RSS-Feed für deinen Podcast und liefert dir einfache Statistiken, die du über Piwik oder Google Analytics noch weiter verfeinern kannst.
Download Code auf GitHub
Update für Kirby 3
Neben der Wartungs des Plugins arbeite ich parallel auch schon an der Umsetzung für Kirby 3. Du wirst also auch nach einem Update weiter podcasten können und es wird viele tolle neue Funktionen geben, die durch das Kirby-Update möglich sind. Schau einfach hin und wieder im Blog vorbei, um auf dem Laufenden zu bleiben.
Funktionen
- Podcast Kapitel
- Neue iTunes iOS 11 Spezifikationen unterstützt
- Downloadstatistiken
- Erweitere Statistiken via Piwik oder Google Analytics
- Deine Downloads im Panel (Widget)
- HTML5 Audioplayer Snippet
- Blueprints für Episoden und den Feed
- Mehrere Podcast-Feeds
- Kirby CLI Unterstützung
Updaten von Version 1
Diese Version wurde von Grund auf neu geschrieben. Eine Neuinstallation ist daher empfohlen. Bitte nutze eine Testumgebung um festzustellen, ob das Plugin noch mit deiner alten Installation kompatibel ist.
Anforderungen
- Kirby 2.4.1
- PHP 5.6
Installation
Kirby CLI (empfohlen)
Die Installation mittels Kirby CLI ist am einfachsten
kirby plugin:install mauricerenck/kirby-podcast
Clone the git repository
Du kannst auch einfach das Repository auf GitHub clonen
git clone https://github.com/mauricerenck/kirby-podcast site/plugins/podcast
Install via zip file
Du kannst das neueste Release hier herunterladen: https://github.com/mauricerenck/kirby-podcast/archive/master.zip
Entpacke es und kopiere das podcast
Verzeichnis in das Kirby-Plugin-Verzeichnis unter site/plugins/
Setup
Wenn du das Panel benutzt, kannst du nun zwei neue Blueprints nutzen. Den podcastrss
Blueprint, der für den Podcast feed genutzt wird.
Es gibt außerdem ein episode
Blueprint für die einzelnen Episoden.
Wenn du das Panel nicht benutzt, findest du einige Markdown-Beispiele im docs Verzeichnis dieses Plugins.
iTunes Kategorien für den Feed
Du findest eine liste der iTunes Kategorien im Docs Verzeichnis. Kategorien müssen auf eine bestimmte Weise angegeben werden:
HauptCategory,HauptCategory/UnterCategory
Beispiel:
Business,Business/Careers
Inhalte vorbereiten
RSS Feed
Den RSS-Feed sollte in einem Unterverzeichnis deines Podcast-Verzeichniess liegen. Es sollte unsichtbar sein (also ohne ein Nummer vor seinem Verzeichnisnamen). Lege dort eine Markdown-Datei mit dem Namen podcastrss.md
ab.
Wenn du ein Mehrsprachensystem nutzt, kannst du dort auch entsprechende sprachspezifische Dateien ablegen, wie z.b. podcastrss.de.md
Fülle alle Felder aus. Ein Bispiel findest du im Docs Verzeichnis.
Beispiel:
Angenommen, dein Podcast soll unter https://yoursite.com/podcast erreichbar sein. Gehe in das Content-Verzeichnis und füge den Ordner podcast
hinzu. Stelle sicher, dass der Ordner mit der passenden Nummer davor beginnt (je nach gewünschter Reihenfolge deiner Seiten)
Innerhalb des Podcast-Ordners legst du nun einen weiteren Ordner namens feed
an. Füge die podcastrss.md
Datei hinzu. Fülle alle Felder in der Datei. Dein RSS-Podcast-Feed sollte nun unter https://yoursite.com/podcast/feed erreichbar sein.
Episoden
Um eine Episode zu ergänzen, erstelle einfach den Ordner für die Episode im Podcast-Verzeichnis (parallel zu feed
). Genauso als würdest du z.b. einen Blogpost erstellen. Füge eine Markdown-Datei hinzu, z.b. die episode.md
. Trage die Inhalte ein. Fertig. Eine Beispieldatei findest du im Docs Verzeichnis.
Deine Episode wird im Feed erscheinen, sobald die Seite sichtbar geschaltet ist. Damit du Folgen vorproduzieren kannst, kannst du das Date-Feld benutzen. Trage ein Datum und eine Uhrzeit in der Zukunft ein, deine Episode wird erst dann im Feed erscheinen. Eventuell musst du dafür auch dein Theme anpassen (damit es dort nicht schon vorher auftaucht). Füge dazu einfach einen Filter zur Query hinzu:
$page->children()->visible()->flip()->filterBy('date', '<=', time())
Optionen
Um die Zahl der Einträge im Statistik-Widget zu steuern setze:
c::set('plugin.podcast.widget.entries', 10);
Um den Atom-Tag-Link zu überschreiben, setze:
c::set('plugin.podcast.atom.link', 'http://yourdomain.tld/path/to/file.php');
Das kann sinnvoll sein, wenn du deine Feed-URL umziehst.
Erweiterte Statistiken
Standardmäßig nutzt das Plugin ein simples Downloadtracking. Jeder Download erhöht einen Zähler der Episode. Du kannst aber auch erweiterte Statistiken nutzen, z.b. mit Piwik (empfohlen) oder Google Analytics (nicht umfassend getestet).
Piwik
Du kannst Piwik zum Tracken deines Podcasts nutzen. Du kannst Ziele, Events und/oder Aktionen erfassen. Um ein Ziel zu erfassen, musst du dieses zunächst in Piwik erstellen. Mehr dazu hier: https://piwik.org/docs/tracking-goals-web-analytics
Um das Piwik-Tracking zu aktivieren, setze einfach die URL zu Piwik und die Piwik ID deiner Seite. Sofern du keine Ziel-ID, keinen Event-Namen oder Aktion setzt, wird nichts passieren. Du kannst alle dieser Möglichkeiten aktivieren oder nur einzelne.
Diese Optionen stehen in der config.php
zur Verfügung:
Option | Value | Mandatory |
---|---|---|
plugin.podcast.piwik.Base | Deine Piwik URL | yes |
plugin.podcast.piwik.Id | Die Piwik ID deiner Webseite | yes |
plugin.podcast.piwik.Token | Dein Piwik Access Token https://piwik.org/faq/general/faq_114 | yes |
plugin.podcast.piwik.GoalId | Setze die ID eines Ziels, um es zu erfassen | optional |
plugin.podcast.piwik.EventName | Gib einen Namen für das Download-Event an, um es zu erfassen | optional |
plugin.podcast.piwik.Action (bool) | Setze es auf true um die Download-Aktion zu erfassen. |
optional |
Beispiel:
c::set('plugin.podcast.piwik.Base', 'http://stats.mypiwik.net/');
c::set('plugin.podcast.piwik.Id', 2);
c::set('plugin.podcast.piwik.Token', '1234567890abcdg6');
c::set('plugin.podcast.piwik.GoalId', 1);
c::set('plugin.podcast.piwik.EventName', 'Download');
c::set('plugin.podcast.piwik.Action', true);
Google Analytics
Du kannst auch Google Analytics zum Tracken benutzen. Bitte beachte, dass ich diese Funktion bisher nicht umfangreich testen konnte. Setze Deine UI-ID um das Tracking zu aktivieren, dann gibt einen Event-Namen ein und entscheide ob du auch pageviews auslösen möchtest.
Option | Value | Mandatory |
---|---|---|
plugin.podcast.GA.UA | UA-1234566 | yes |
plugin.podcast.GA.pageView (bool) | true | optional |
plugin.podcast.GA.eventName | Download | optional |
Beispiel:
c::set('plugin.podcast.GA.UA', 'UA-1234567890');
c::set('plugin.podcast.GA.pageView', true);
c::set('plugin.podcast.GA.eventName', 'Episode');
Kapitel
Dieses Plugin unterstützt Kapitel. Wenn du den Blueprint benutzt, hast du bereits die Möglichkeit Kapitelmarken einzutragen. Gebe einfach einen Zeitstempel, einen Titel und eine optionale URL ein. Du kannst beliebig viele Kapitel hinzufügen.
Im Docs-Verzeichnis gibt es ein Beispiel in der Episoden-Datei.
Player
Derzeit wird lediglich der HTML5 Audio-Player genutzt. Dieser hat naturgemäß einen sehr geringen Funktionsumfang. Ich arbeite an der Integration eines umfangreicheren Player. Um den HTML5-Player zu nutzen, benutze das Snippet in deinem Template:
snippet('podcastplayer'); ?>
Du kannst auch einen anderen Player nutzen, schaue dir die Datei snippets/podcastplayer.php
im podcast plugin Verzeichnis an. Dort findest du den passenden Code, den du auch in deinem Player nutzen kannst. Stelle unbedingt sicher, dass du auch das Umschreiben der mp3-URL verwendest. Das ermöglicht das Tracken von Downloads.
License
http://www.opensource.org/licenses/mit-license.php
Author
Maurice Renck https://maurice-renck.de