Plugins

Ein wesentliche Merkmal von Yellow CMS ist die Erweiterbarkeit mit Hilfe von Plugins.

Plugin-Übersicht - Plugins in der zentralen Plugin-Datei (enthält 30 Plugins)

  • blog - Einzelheiten zum Einbau und Test weiter unten
  • breadcrumbs - erstellt eine Breadcrumb- (Brotkrumen-)Navigation für die Website
  • commandline - ist in yellow-master.zip enthalten, funktionierte zunächst nicht unter Windows, mit dem Plugin WebCLI klappt es jetzt aber.
  • contact - mit diesem Plugin kann man ein Kontaktformular unter Yellow CMS nutzen, mehr dazu siehe unten
  • core - ist in yellow-master.zip enthalten, unverzeichtbar
  • disqus - dieses Plugin setzt voraus, dass man über einen Account bei der Diskussionsplatzform Disqus verfügt
  • draft
  • emojiawesome
  • feed
  • fontawesome
  • gallery - Einzelheiten zum Einbau und Test weiter unten
  • googlemaps
  • highlight - Syntaxhighlighter auf der Basis von Geshi, kann man eventuell mit prettify.js einfacher haben.
  • image - dieses Plugin ist teilweise für andere Plugins erforderlich. Einzelheiten zum Einbau und Test weiter unten
  • language - ist in yellow-master.zip enthalten
  • markdown - ist in yellow-master.zip enthalten, wertet Markdown-Syntax aus, ist in dieser Hinsicht wohl unverzichtbar, Yellow verwendet MarkDown Extra, siehe https://michelf.ca/projects/php-markdown/extra/
  • piwik
  • preview
  • search - erstellt eine Volltextsuche für die Website
  • sitemap - Einzelheiten zum Einbau und Test weiter unten
  • slider - Bilder-Slideshow, Einzelheiten zum Einbau und Test weiter unten
  • slideshare - dient zum Einbetten von slideshare.com-Inhalten, nicht weiter sinnvoll, da ich dort keinen Account habe
  • smartypants
  • soundcloud
  • stats - könnte man eventuell mal testen
  • toc - Einzelheiten zum Einbau und Test weiter unten
  • vimeo
  • webinterface - ist in yellow-master.zip enthalten, mit diesem Plugin kann man die Seiten Online bearbeiten
  • wiki - Einzelheiten zum Einbau und Test weiter unten
  • youtube

Plugin-Übersicht - Zusatzplugins (14 Plugins)

  • CheetJS: Add easter eggs via key binds.
  • Comments: Get in touch with users of your website directly.
  • DynamicCss: A (very) small CSS preprocessor, der es ermöglich, innerhalb der CSS-Datei mit Variablen zu arbeiten, siehe unten
  • FAQ: Yellow plugin for easy FAQ handling.
  • Fotorama: A jQuery image gallery with carousel. - Einzelheiten zum Einbau und Test weiter unten
  • jQuery: Add the power of jQuery to Yellow.
  • Maintenance: Maintenance status for entire site or single page.
  • Markbar: Dieses Plugin fügt im MarkDown-Editor eine Bearbeitungsleiste hinzu, mehr siehe unten.
  • Medialist: Create a list of MP3/OGG/PDF media files.
  • PageTxt: Overwrite language entries in a page.
  • Shariff: Privacy-friendly social sharing buttons for your Yellow website.
  • Sublime: Sublime Text 3 Extensions for blogs based on Yellow.
  • WebCLI: Mit Hilfe dieses Plugins kann man das CLI auch im Browser nutzen, mehr siehe unten.
  • YCSSG: Image gallery in CSS only.

Überblick zu den Plugins zur Darstellung von Grafiken

  • gallery - Einzelheiten zum Einbau und Test weiter unten
  • image - dieses Plugin ist teilweise für andere Plugins erforderlich. Einzelheiten zum Einbau und Test weiter unten
  • slider - Einzelheiten zum Einbau und Test weiter unten und die Testseite zum Plugin Slider
  • Fotorama: A jQuery image gallery with carousel. - Einzelheiten zum Einbau und Test weiter unten
  • YCSSG: Image gallery in CSS only.

Erfahrungen mit einzelnen Plugins

Das Plugin Blog

Zu diesem Plugin gehören die folgenden Dateien:

  • 2013-04-07-blog-example.txt und page.txt - nach /content/6-blog oder nach /content/blog kopieren (Verzeichnis muss natürlich vorher neu angelegt werden
  • blog.html und blogpages.html - nach /system/themes/templates kopieren
  • blog.php - nach /system/plugins kopieren
  • blog-plugin.jpg - ist anscheinend nicht notwendig
  • content-blog.php und content-blogpages.php - nach /system/themes/snippets kopieren
  • page-new-blog.txt - nach /system/config kopieren
  • README.md - keine Installation, nur Anleitung

In der Datei README.mdfindet man die folgenden Beispiele zur Einbindung des Blogs

  • [blogarchive LOCATION] for a list of months
  • [blogrecent LOCATION PAGESMAX] for recently published pages
  • [blogrelated LOCATION PAGESMAX] for related pages to current page
  • [blogtags LOCATION] for a list of tags
  • [blogrecent]
  • [blogrecent /blog/ 10]
  • [blogrecent / 10]

Es funktioniert allerdings nicht, wenn man für den Blog ein Verzeichnis /content/6-blog verwendet. Ich habe mich daher für /content/blog entschieden. Das hat allerdings den Nachteil, dass kein Link zum Blog in der Navigation angezeigt wird. Beispiele:

[blogrecent /blog/ 10] liefert:

[blogrecent /blog/ 10]

[blogarchive /blog/] liefert:

[blogtags /blog/] liefert:

[blogrelated /blog/] liefert:

Das Plugin cli.php

Mit Hilfe dieses Plugin kann man das CLIauch im Browser nutzen. Das Plugin wurde so wie beschrieben installiert. Anders als vorgesehen, erscheint allerdings die Seite im Menü.

Beim Test des Kommandos version gibt es einen Fehler (sowohl beim localhost als auch bei Lima-City). Der Test des Kommandos build test ist aber erfolgreich. Das Verzeichnis wird erstellt und es werden viele Dateien geschrieben. Die Meldung bei build test ist z.B. Yellow build: 76 files, 0 errors, status 200.

Auch das Löschen der statischen Dateien, z.B. mit clean test funktioniert.

Zu beachten:

  • Dateien bzw. ganze Verzeichnisse, die außerhalb der eigentlichen CMS-Struktur liegen, werden nicht mit kopiert dies muss man ggf. manuell nachholen.
  • man muss eingeloggt sein.

Fazit: Das Erstellen der statischen Seiten mit diesem Plugin funktioniert sowohl auf dem localhost als auch bei Lima-City. Die Versionsanzeige klappt in beiden Fällen nicht. Außerdem ist in beiden Fällen zu beachten, dass ggf. außerhalb der Dateistruktur des CMS liegende Dateien manuell kopiert werden müssen.

Ein wichtiger Aspekt ist zusätzlich die Tatsache, dass teilweise die Dateien nicht als .html erteugt werden, sondern endungslos.

Das Plugin Commandline

Mit Hilfe dieses Plugin kann man bestimmte Operationen auf der Kommandozeilenebene ausführen.

php yellow.php

liefert eine Hilfestellung zu den möglichen Parametern.

php yellow.php build

bricht hingegen unter Windows 7 ab mit der Meldung

Please configure ServerScheme, ServerName, ServerBase, ServerTime in file 'system/config/config.ini'!

Allerdings können diese statischen Seiten auf der Browserebene mit Hilfe des zusätzlichen Plugins WebCLI erzeugt werden. Das Anlegen eines neuen Nutzers mit Hilfe von

php yellow.php user adresse@mail.de passwort

funktioniert. Die zur Langversion

php yellow.php user adresse@mail.de passwort name sprache status home

fehlenden Parameter werden automatisch ergänzt.

Das Plugin Contact

Dieses Plugin enthält mehrere Dateien, die in die richtigen Verzeichnisse kopiert werden müssen. Wichtig ist aber auch, dass in der Datei config.ini eine korrekte E-Mail-Adresse eingefügt wird. Ein Demo zum Kontaktformular ist unter Kontaktformular verfügbar. Wenn man dies beachtet, dann funktioniert der Versand (getestet beim Lima City). Nachteilig ist, dass es keine Spamabfrage gibt. Möglicherweise kann man dies noch individuell nachbessern.

Das Plugin DynamicCss

Die Möglichkeiten dieses Plugins sind nur minimal, sie werden auf der Demo-Seite DynamicCss erklärt und demonstriert.

Das Plugin Fotorama

Diese Plugin erzeugt eine Slideshow, in der die Bilder responsive angezeigt werden. Näheres wird auf der Plugin Fotorama Demoseite erklärt und demonstriert.

Die Bildanzeige in diesem Plugin ist responsiv ausgelegt. Das Plugin Gallery besteht nur aus den Dateien gallery.php und gallery.js.

Wichtig: Das Gallery-Plugin legt automatisch thumbnail-Dateien im Verzeichnis /media/thumbnails an. Dieses Verzeichnis sollte man manuell anlegen, um Fehler zu vermeiden.

Ausführlich erklärt und demonstriert wird das Plugin auf der Test- und Demo-Seite.

Das Plugin Sitemap

Zu diesem Plugin gehören:

  • content-sitemap.php - geht zu /system/themes/snippets
  • page.txt - geht zu /content/sitemap (muss ggf. neu angelegt werden)
  • README.md - nur Erklärung
  • sitemap.html - geht zu /system/themes/templates
  • sitemap.php - geht zu /system/plugins

Dieses Plugin liefert zwei Sitemaps aus

Ergänzung: Offensichtlich funktionieren jetzt unter XAMPP beide Varianten. Auf dem eigentlichen Webserver (also LINUX) funktioniert aber weiterhin nur die Doppelpunkt-Variante.

Tests bei anderen Websites mit Yellow CMS


Das Plugin Slider

Mit diesem Plugin wird eine Slideshow erzeugt. Es basiert auf Flickity v1.2.0. Weitere Erklärungen und Demonstrationen findet man in der Testseite.

Das Plugin TOC

Dieses Plugin besteht nur aus der Datei toc.php, die nach /system/plugins kopiert wird. Das mit diesem Plugin erzeugbare Inhaltsverzeichnis wird mit [toc]. Ein Beispiel findet man am Anfang dieser Seite.

Das Plugin Wiki

Zu diesem Plugin gehören die folgenden Dateien:

  • wiki-page.txt, sidebar.txt und page.txt - nach /content/3-wiki kopieren (Verzeichnis muss natürlich vorher neu angelegt werden
  • wiki.html und wikipages.html - nach /system/themes/templates kopieren
  • wiki.php - nach /system/plugins kopieren
  • wiki-plugin.jpg - ist anscheinend nicht notwendig
  • content-wiki.php und content-wikipages.php - nach /system/themes/snippets kopieren
  • page-new-wiki.txt - nach /system/config kopieren
  • README.md - keine Installation, nur Anleitung

Das Plugin markbar.php

Dieses Plugins fügt dem Markdown-Editor eine Bearbeitungsleiste hinzu. Es wurde erfolgreich integriert. Das Plugin weist noch einige kleinere Macken auf, ist aber nutzbar.

Das Plugin ycssg.php (CSS Galery)

Mit diesem Plugin erstellt man eine Galerie, die nur auf CSS basiert. Einzelheiten des Einbaus und eine für die Funktionsfähigkeit erforderliche Fehlerbereinigung werden auf der Demoseite zum Plugin ycssg.php (CSS Galery) erklärt.

Eigene Plugins

Hier beschreibe ich meine Versuche zu eigenen Plugins:

bs01