Grav CMS ist eines der interessantesten neuen Content Management Systeme am Markt. Es geht einen völlig anderen Weg als bisher bekannte Ansätze und kommt sehr leichtgewichtig daher. Die Voraussetzungen für die Installation sind so gering, dass ein günstiges Webhosting-Paket bereits ausreicht, um mit Grav zu experimentieren. Das Grav CMS benötigt keinerlei Datenbanken und kann in der Tat innerhalb von 30 Sekunden installiert werden. Grav ist so interessant, dass wir dir das CMS heute etwas näher vorstellen möchten.
Das ist Grav CMS
Grav ist eine schnelle, einfache und flexible Datei-basierte Web-Plattform, die keinerlei Installation benötigt. Entpacke einfach das ZIP-Archiv, und es läuft bereits. Das CMS verfolgt ähnliche Prinzipien wie andere Flat-File-CMS-Plattformen, besitzt jedoch eine völlig andere Design-Philosophie.
Die zugrundeliegende Architektur von Grav hat zum Ziel, es so einfach zu verwenden und zu erweitern wie nur möglich. Auf folgenden Schlüsseltechnologien beruht Grav:
- Twig Templating: Wird zur Darstellung der Templates genutzt
- Markdown: Der Inhalt wird sehr einfach mittels Markdown verfasst
- YAML: Für eine einfache Konfiguration
- Parsedown: Für schnellen Markdown- und Markdown-Extra Support
- Doctrine Cache: Für schnelle Performance
- Pimple Dependency Injection Container: Für Erweiterbarkeit und Wartbarkeit
- Symfony Event Dispacher: Für Plugin Event-Handling
- Symfony Console: Für eine CLI-Schnittstelle
- Gregwar Image Library: Für eine dynamische Bild-Manipulation
- SASS und LESS
Für Grav gibt es mittlerweile über 100 Themes und mehr als 270 Plugins, mit denen du das Aussehen und die Funktionalität der Website schnell ändern kannst. Themes und Plugins können entweder manuell oder auch mittels GitHub installiert werden.
Wer es etwas einfacher haben möchte, installiert eines von mehr als 45 sogenannten „Skeletons“. Die Skeletons beinhalten den Grav-Core, ein Theme nach Wahl und die nötigen Plugins. Um einen Eindruck zu bekommen, was du mit Grav alles machen kannst, schau dich auf der mit Grav umgesetzten Homepage des CMS um.
Grav CMS: Voraussetzungen und Installation
Die Voraussetzungen für die Installation auf einem Webhosting-Paket sind denkbar gering. Grav benötigt nur ein Webhosting-Paket und PHP 5.6.4 oder neuer. Das war es auch schon.
Es lohnt sich dennoch, einen leistungsstärkeren Space zu buchen, denn die Mindestanforderung wird sich schon mit Version 1.6 erneut ändern und dann auf PHP 7.1.x lauten.
Die Installation von Grav CMS
Lade Grav auf deinen Desktop herunter, entpacke die ZIP-Datei und befördere den kompletten, entpackten Ordner auf deinen Webspace. Vielleicht benennst du den entsprechenden Ordner noch in „Grav“ um, damit du dich besser zurechtfindest und eine Domain auf den Ordner leiten kannst. Nachdem du das getan hast, ist Grav sofort einsatzbereit. Die komplette Installation dauert keine 30 Sekunden. Solltest du das Core-Paket heruntergeladen haben, sieht deine Website anschließend so aus:
Dies ist ein sehr guter Ausgangspunkt, um etwas mit Grav zu experimentieren. Zu diesem Zeitpunkt existiert nur eine Seite, die jedoch jederzeit mit Markdown-Syntax bearbeitet werden kann.
Die für den Inhalt zuständige Seite default.md findest du im Ordner „user => pages => 01.home => default.md„. Öffne diese Seite nun in einem Code- / HTML-Editor deiner Wahl und editiere den Inhalt. Eine vollständige Liste mit allen verwendbaren Markdown Tags ist in der umfangreichen Dokumentation von Grav vorhanden.
Die Hauptseite (default.md) im Editor zum Bearbeiten geöffnet
Die Installation per Grav-Skeleton
Etwas mehr Funktionalität und Aussehen bringt ein Skeleton mit sich, das bereits ein Theme und die zur Darstellung nötigen Plugins enthält. Es bietet ein voll funktionales Website-Skelett, daher der Name.
Die Installation eines Skeletons ist ebenso einfach wie jene des Core-Pakets: Datei entzippen, in „grav“ umbenennen und auf den Server schubsen, fertig! Das von mir genutzte Skeleton heißt „Blog Site“. Das Blog-Skeleton liefert Demo-Blog-Inhalte, das Theme und die Plugins Pagination, BreadCrumbs und die Taxonomy List.
Anpassen des Blogs
Der Blog lässt sich recht leicht an persönliche Bedürfnisse anpassen. Um den Blognamen zu ändern geht man folgendermaßen vor:
Unter „User => Pages => 01.Blog“ findest du die blog.md-Datei. Diese öffnest du mit einem HTML-Editor deiner Wahl und benennst den Blog nun um.
Einen Artikel verfassen
Das Verfassen eines Artikels geht recht einfach. Hierbei musst du dich nur um den Artikel direkt kümmern. Der Blogpost wird automatisch in die Übersichtsseite einsortiert. Für einen neuen Artikel gehst du folgendermaßen vor:
Erstelle einen Ordner mit dem Namen deines Artikels, dieser muss kleingeschrieben werden. Ein Beispiel: „mein-neuer-artikel„.
In den Ordner kommt ein Artikelbild hinein, das ruhig in größerer Auflösung vorhanden sein kann, da sich Grav automatisch um die korrekten Maße kümmert. Nun erstelle eine Datei namens item.md in dem neu angelegten Ordner. Diese item.md-Datei muss dabei einen solchen Kopfbereich aufweisen:
Ein kompletter Artikel würde so aussehen:
Der neue Artikel verlinkt sich nun automatisch auf der Blog-Übersichtsseite.
Etwas weniger Handarbeit mit dem Admin-Plugin
Das Administration Panel ist ein optionales Plugin, das dir den Umgang mit dem Grav CMS deutlich erleichtert. Wie das Wörtchen „optional” suggeriert, ist dieses Plugin nicht erforderlich, um mit dem CMS zu arbeiten. Du kannst darauf verzichten und sämtliche Dateien, aber auch Konfigurationseinstellungen mit der Hand ins Dateisystem schreiben.
Entscheidest du dich für die Installation des Admin-Plugins, erwartet dich indes ein grafisches Userinterface, mit dem du weitaus intuitiver unterwegs sein wirst. Du kannst von hier aus nicht nur das System konfigurieren, sondern auch Plugins und Themes installieren und aktualisieren, sowie Systemupdates durchführen. Ebenso legst du hier die Seitenstruktur, sowie die Inhalte an. Im Ergebnis verwaltest du mit dem Admin-Plugin deine komplette Website.
Das Admin-Plugin ist die Monetarisierungs-Idee hinter dem CMS. Zukünftig soll es eine Pro-Version dieses Plugins geben, mit dem dann mehr möglich ist, etwa die Medienverwaltung.
Fazit
Grav verfolgt einen sehr interessanten Ansatz, der einen breiten Einsatzbereich für einfachere, nicht so aufwändige Websites eröffnet. Mir persönlich erscheint Grav wie ein statisches HTML-Projekt auf Viagra zu sein. Doch man muss sagen, dass die Arbeit mit dem CMS Spaß macht und vor allem sehr unkompliziert ist.
Entwickelt wurde Grav CMS übrigens ursprünglich vom Team hinter RocketThemes. Dort findest du wenig überraschend denn auch ein paar Dutzend Grav-Themes.
Links zum Beitrag
- Grav Homepage
- Grav Downloads
- Die Grav Dokumentation
- Grav Markdown Dokumentation
- Das Grav-Projekt auf GitHub
(Der Beitrag wurde im Original von Andreas Hecht geschrieben und am 8. Juli 2015 veröffentlicht. Für die Veröffentlichung vom 2. Januar 2019 wurde der Text von Dieter Petereit vollständig überarbeitet, erweitert und auf den aktuellen Versionsstand gebracht.)
10 Antworten
Ich bin hier am Verzweifeln. Ich arbeite mit WordPress und CMSimple. Die ganze Kommandozentrale und die seltsame Mischung aus HTML und Markdown ist eher verwirrend als einfach. Die Doku ist saumäßig schlecht und eher was für Insider. Ich habe es noch immer nicht geschafft ein Eingabeformular aufzubauen. Ganz Ganz schlecht beschrieben. MIt CMSimple hätte ich da schon eine ganze Homepage aufgebaut. Ich halte CMSimple für eines der besten Flatfile-Systeme. An diese sperrige Arbeitsweise mit Grav werde ich mich nie gewöhnen. Selbst das komplexe WordPress ist viel intuitiver und verständlicher aufgebaut. Ich habe einfach kein Bock mehr diese Kröte hier zu schlucken und werde mich nach stundenlanger Doktorei von diesem CMS genüsslich verabschieden.
Der Beitrag ist zwar schon etwas älter, aber ich versuch’s trotzdem mal …
»Die Installation eines Skeletons ist ebenso einfach wie bei dem Core-Paket: Die Datei entzippen, in “grav” umbenennen und auf den Server schubsen, fertig!«
Stimmt soweit. Ich habe das Skeleton Package mit dem Theme „Big Picture“ heruntergeladen und auf den Server „geschubst“. Und tatsächlich erscheint beim Aufruf der URL (mydomain.com/grav) sofort die Demosite des Themes. So weit, so gut.
Aber – blöde Frage: Wie komme ich jetzt ins Backend? Und mit welchen Benutzerdaten?
Bei der normalen Grav-Installation erscheint beim ersten Aufruf der URL (mydomain.com/grav) ja ein Dialogfenster, in dem man erst mal einen Account anlegt. Ich habe schon per ftp alle Unterordner nach aufrufbaren Dateien durchforstet – aber leider vergeblich.
Hallo Axel,
ich verweise mal auf diesen Kommentar, er könnte vielleicht hilfreich sein. => Kommentar von Henning
Klingt spannend. Ich habe gerade 23 Themes, 19 Skeletons und 54 Plugins gesehen. In 2 Tagen 4 Themes und 9 Plugins mehr 🙂 ist spannend.
Übrigens … gibt es jetzt das lange erwartete admin-plugin mit gui.
http://getgrav.org/blog/grav-0.9.36-and-admin-0.3.0
super super spannend
Spannend ist auch ne Folge von Wallander aber dies Umstandskiste von CMS ist eher nervig: Ich kenne diese Sprücheklopfer: Total Easy und so….gebt mir meine verschwendete Zeit wieder – Ich widme mich lieber wieder dem Vorbild aller Flat-File-Systeme: CMSimple.
Der Nachteil von diesen „light“ CMS’s ist doch, dass der Inhalt in .md Datei mit Konfiguration-Zeilen gemischt wird. Dem Kunden gebe ich so was nicht in die Hände 🙂
Es gibt unterschiedliche Systeme. Konfigurationen und Inhalte müssen nicht zwangsläufig zusammen gespeichert werden. Ob die Software für die Dateien .md, .txt, .csv oder was auch immer verwendet, ist für die Funktion Wurscht. Was die Technik im Hintergrund genau macht, wird die meisten Kunden herzlich wenig interessieren.
Wenn dadurch eine Fehlerquelle enstehen kann wird es den Kunden sehr interessieren. Da bin ich mir sicher.
Axel hat recht – ein CMS dient zur Selbstpflege. Dieses CMS ist für Redakteure und Laien eine Zumutung.