Grav CMS und eigenes Plugin

Grav CMS und eigenes Plugin
 
08.04.2019
Entwicklung
Twig YAML Markdown CMS
 

Wer sich weiterentwickeln und etwas erreichen will, der muss neue Wege gehen!

Auf der Suche nach einer Alternative zu Drupal, um kleinere Webseiten wie Portfolio-Seiten oder für Einzelunternehmen umzusetzen, bin ich auf das Grav CMS gestossen. Dries (Creator of Drupal) selbst hat gesagt, dass Drupal möglicherweise nicht die beste Lösung für kleiner Websites oder Projekte ist:

If you want to build a small web site, I'm not sure it makes sense to use Drupal today. It's good for… ambitious sites. #driesnote

Grav ist sehr schlank aufgebaut und bietet gerade genug Funktionalität, um die Grundlagen zu schaffen. Die zugrundeliegende Architektur von Grav hat mich fasziniert. Als erster Punkt, es gibt keine Datenbank. Desweiterem beruht Grav auf folgende Schlüsseltechnologien:

  • Zur Definition von Vorlagen wird Twig verwendet.
  • Der Inhalt wird mittels Markdown verfasst.
  • Zur Konfiguration dient YAML .

Wenn ich also eine Änderung an der Konfiguration vornehmen möchte, ändere ich diese in der entsprechenden YAML-Datei. Wenn ich eine Seite aktualisieren möchten, ändere ich diese in der entsprechenden Markdown-Datei. Wenn ich die Gestaltung einer Seite ändere möchte, ändere ich diese in der entsprechenden Twig-Datei. That's it.

Eine wichtige Frage die ich beantworten wollte: Wie kompliziert gestalten sich Erweiterungen?
Plugins werden in der Regel entwickelt, weil es eine Aufgabe gibt, die nicht mit der Kernfunktionalität von Grav erledigt werden kann. Ich habe mich entschlossen das Plugin Leaflet Address zu entwicklen, welches die Erfassung einer Adresse erlaubt und diese auf einer OpenStreetMap Karte anzeigt. Die Adresse kann ebenfalls als reiner Text ausgegeben werden.

Fazit!

Drupal glänzt bei der Erstellung komplexer Inhaltsmodelle, bei denen es viele Arten von Inhaltstypen gibt, die sich gegenseitig referenzieren oder einbetten oder die Felder des anderen wiederverwenden, etc. Grav ist vielleicht mehr seitenfokussiert als datenfokussiert, was die Arbeit mit Grav für viele Websites viel einfacher gestaltet, jedoch nicht sehr geeignet ist für Websites, die komplexere Beziehungen benötigen.

Die Entwicklung von Plugins und Themes ermöglichen massgeschneiderte Lösungen um Kundenanforderungen zu erfüllen. Für eine typische kleine bis mittelgrosse Unternehmenswebsite kann Grav eine wirklich grossartige Lösung sein, die einen Teil des Overheads einer typischen Drupal-Website reduziert. Durch den Modularen Seitenaufbau lassen sich sogar relativ komplexe One Pager mit Grav erstellen. Der Funktionsumfang ist für viele Anwendungsbereiche ausreichend.