Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

Software & Infrastruktur

Mächtig und schnell: Das dateibasierte CMS Grav

Grav CMS. (Screenshot: Grav)

Wenn ihr ein dateibasiertes und schlankes Content-Management-System für eine Website sucht und des Markdown mächtig seid, solltet ihr euch Grav mal anschauen.

Grav: Schnelle Installation und schnelle Ergebnisse

Es dürfte wohl kaum ein Content-Management-System geben, das so schnell istalliert ist, wie Grav. Nachdem ihr Grav heruntergeladen habt, entpackt ihr es einfach in ein Verzeichnis und könnt loslegen. Benötigt wird lediglich PHP 5.4 oder neuer. Wenn ihr jetzt die URL aufruft, in die ihr Grav entpackt habt, sehr ihr schon eine Inhaltsseite, die euch die wichtigsten nächsten Schritte mit dem CMS näher bringt.

Sofort nach dem Entpacken einsatzbereit: Das CMS Grav. (Screenshot: Eigene Grav-Installation)
Sofort nach dem Entpacken einsatzbereit: Das CMS Grav. (Screenshot: Eigene Grav-Installation)

In dem grav-Ordner findet ihr dann einige Verzeichnisse, von denen ganz zu Anfang eigentlich nur user wichtig ist.

Wenn ihr euch die Datei in dem Ordner user/pages/01.home anschaut, werdet ihr feststellen, dass es eine Markdown-Datei ist. Wenn ihr eine neue Seite anlegen möchtet, dann erstellt ihr einfach einen neuen Ordner 02.newpage und darin dann eine default.md-Datei. An den Anfang der Datei kommen dann alle wichtigen Header-Informationen nach dem folgenden Schema:

---
title: New Page
slug: my-new-page
menu: New Page Menu Title
---

Mit title legen wir den Titel des Dokuments fest und das ist die einzige Angabe, die wirklich gesetzt werden sollte. slug überschreibt als optionale Angabe den automatisch erstellten Pfad, der dem Ordnernamen ohne die vorangestellte Zahl entspricht. Mit menu können wir den Titel im Menü verändern, der sonst der Angabe unter title entsprechen würde. Weitere Header-Angaben findet ihr in der Dokumentation.

Wenn ihr nicht wollt, dass die Seite in dem Menü aufgeführt wird, dann lasst ihr einfach die Zahl mit dem Punkt vor dem Ordnernamen weg. Alternativ könnt ihr auch die Angabe visible: false als weitere Header-Angabe in die Markdown-Datei schreiben. Mit der Zahl und dem Punkt im Ordnernamen wird standardmäßig die Reihenfolge der Einträge im Menü festgelegt. Der übrige Inhalt einer Seite wird in Markdown geschrieben.

Die grundlegenderen Konfigurationsdateien sind in der YAML-Syntax geschrieben. Im Ordner user/config/ findet ihr die system.yaml-Datei, in der ihr unter anderem Dinge wie das Datumsformat, die Sortierreihenfolge von Seiten et cetera einstellen könnt. Genauere Informationen findet ihr auch hier wieder in der umfangreichen Dokumentation.

Grav: Mächtige Bildfunktionen

Wenn ihr Bilder oder andere Medien-Dateien in eine Seite einfügen möchtet, dann kopiert ihr einfach das Bild in den Ordner der Seite und bindet es nach dem folgenden Schema ein (dafür müsst ihr im Header den Prozess twig auf true setzen – siehe Header-Dokumentationsseite):

{{ media['grav-cms-installiert.jpg'].html() }}

Daneben gibt es aber noch viel mehr Möglichkeiten, was ihr mit Bildern anstellen könnt. Ihr könnt problemlos das Bild verkleinern, indem ihr beispielsweise folgendes eingebt:

{{ media['grav-cms-installiert.jpg'].resize(200, 200, '75879a').html() }}

Damit wird das Bild an der längsten Seite auf 200 Pixel gebracht und der „leere Raum“ der kürzeren Seite, der zum Quadrat fehlt, mit der angegebenen Farbe gefüllt. Dabei wird das Bild nicht einfach per CSS skaliert, sondern wirklich als neues Bild erstellt. Ihr könnt daneben auch noch verschiedene Arten der Skalierung auswählen: Ohne die Ursprungs-Seitenverhältnisse zu berücksichtigen, mit Zuschneiden und so weiter. Außerdem bringt Grav auch noch einige Filter mit, wie etwa einen Helligkeits- und Kontrastfilter.

Fazit: Viele Möglichkeiten in einem schlanken System

Abschließend lässt sich sagen, dass Grav ein ziemlich mächtiges dateibasiertes CMS ist, mit dem viel bewerkstelligt werden kann. In diesem Artikel wurde der Fuktionsumfang nur angerissen, mehr Infos, unter anderem auch zu der Theme-Erstellung, findet ihr in der Dokumentation. Neben dem reinen Grundgerüst gibt es auch schon drei Themes zur Auswahl und einige Plugins.

Bitte beachte unsere Community-Richtlinien

8 Reaktionen
cephei

Hab Grav mal kurz angetestet. Macht einen guten Eindruck.

Sehr schlank. Für den Download und die Installation hab ich ca. eine Minute gebraucht.
Auf der Grav Homepage gibt es eine übersichtliche KickStart Dokumentation.
Die Doku ist noch nicht sehr umfangreich, aber das scheint gerade ein aktuelles Thema zu sein bei denen.

Probleme hatte ich beim Anlegen von neuen Seiten. Da bekomme ich einen 404. Wahrscheinlich nur was mit der htaccess oder mod_rewrite. Hab mich jetzt nicht mehr drum gekümmert.

Anscheinend gibts da auch Plugins. Wie im Blog steht sind sie an einem Shop Plugin dran. Wäre also durchaus denkbar eine Produktseite für 2-3 Produkte anzulegen.
Eine kleine Werbe-Kampagne, dedizierte Produktseite oder eine Wiki/Tutorial Page könnte ich mir mit dem System gut vorstellen.

Antworten
Patrick

Erinnert mich sehr an PICO CMS (http://picocms.org/). Läuft auch mit Markdown und setze ich inzwischen sehr viel ein. Viele Websites benötigen halt einfach keine Datenbank, dass verringert die Wartung und ist oft um einiges schneller.

Antworten
Просто

Neos Neos, was für Dummheit. Erstens ist Neos nich so einfach zu installieren.... 100%.
Und der Artikel will etwas anderes damit sagen. Es gibt auch entwas anderes, was auch gut ist, sonst kann man ja Neos mit nichts vergleichen ;-)

Wozu braucht ein Friseur neben an Multi ( was) ?
Grüße ans Gehirn.

Antworten
David Mair Spiess

Du sprichst mir aus der Seele!

Antworten
cephei

Das CMS finde ich interessant, ich werds mal antesten.

Etwas generell an die t3n Rdaktion: (nicht unbedingt auf diesen einen Artiekl bezogen)
Einige der Redakteure von t3n wissen leider nicht was ein Fazit ist. Das Fazit ist eine Zusammenfassung des Artikels. Der Sinn eines Fazit ist, dass man einen Eindruck erhält, ohne den gesamten Artikel gelesen zu haben.
"In diesem Artikel wurde der Fuktionsumfang nur angerissen" - Wer das Fazit liesst hat den Artikel oft nicht gelesen, das ist doch der Sinn des Fazit, also wiese auf den Artikel verweisen?
"mehr Infos findet ihr" - wer ein Fazit liesst will das wichtigste in Kürze, nicht mehr Infos, sondern weniger.

Antworten
Berthold

Wenigstens setzt es mit twig auf eine vernünftige Theming Engine; schlanke CMS sind schön und gut aber wenn man erst eine neue esoterische Sprache lernen muss für Themes die bei der nächsten Migration direkt wieder sinnfrei ist...

Antworten
Philipp

Wobei Neos Multilingualität kann...

Antworten
Armin

Pfff. Das "CMS" kann ja nicht mal Multilingualität. Da kann ich auch Neos nutzen :P

Antworten

Melde dich mit deinem t3n-Account an oder fülle die unteren Felder aus.

Abbrechen

Finde einen Job, den du liebst