Nodea — logo

Grav CMS

Grav CMS to nowoczesny, otwartoźródłowy system zarządzania treścią (CMS) należący do kategorii flat-file, czyli działający bez bazy danych. Zamiast zapisywać artykuły i konfigurację w tabelach MySQL, Grav przechowuje wszystko w zwykłych plikach — treść w formacie Markdown, ustawienia w YAML. Napisany w PHP, kładzie nacisk na szybkość, prostotę i wygodę pracy dewelopera, co odróżnia go od cięższych, opartych na bazie systemów jak WordPress.

Jak działa Grav CMS?

Fundamentem Grava jest struktura katalogów odzwierciedlająca strukturę strony: każdy folder w katalogu user/pages to jedna podstrona, a plik Markdown w środku zawiera jej treść wraz z metadanymi (tzw. front matter w YAML). System działa w oparciu o trzy filary:

  • Flat-file — brak bazy danych oznacza, że backup sprowadza się do skopiowania katalogu, a migracja na inny serwer nie wymaga eksportu i importu danych.
  • Zaawansowane cache'owanie — Grav agresywnie buforuje wyrenderowane strony, dzięki czemu przy niewielkim ruchu odpowiada bardzo szybko mimo braku bazy.
  • Modularna architektura — motywy oparte na silniku szablonów Twig oraz wtyczki rozszerzające funkcjonalność, instalowane z wbudowanego menedżera pakietów.

Zastosowanie w praktyce

Grav sprawdza się najlepiej w projektach, gdzie prostota i wydajność są ważniejsze niż rozbudowana redakcja treści:

  1. Blogi i strony wizytówkowe — szybkie do postawienia witryny, których autorzy piszą wygodnie w Markdown.
  2. Dokumentacja techniczna — plikowa struktura idealnie pasuje do wersjonowania treści w systemie Git.
  3. Prototypy i mikrostrony — brak instalacji bazy skraca wdrożenie do rozpakowania archiwum na serwerze.

Do uruchomienia Grava wystarczy standardowy hosting z obsługą PHP; brak wymagań co do bazy danych ułatwia utrzymanie i zwiększa bezpieczeństwo, bo znika jeden z typowych wektorów ataku.

Powiązane pojęcia

Najczęstsze pytania

Czy Grav CMS wymaga bazy danych?

Nie. Grav to CMS typu flat-file — całą treść, konfigurację i strukturę przechowuje w plikach na dysku (głównie w formacie Markdown i YAML). Nie potrzebuje MySQL ani innej bazy, co upraszcza instalację, backup (wystarczy skopiować katalog) i przenoszenie między serwerami.