Repolode
getgrav

getgrav/grav

A flat-file CMS written in PHP that stores pages as Markdown files, with no database required.

Open-source alternative to:WordPress

Stars
15,718
Forks
1,432
Open issues
415
Last commit
yesterday

What is it?

Grav is a content management system that keeps pages as plain Markdown files and configuration as YAML, so a site can run without a database. Installation is a matter of extracting an archive or running a Composer command, after which the site is ready to use.

Pages are rendered with Twig templates, and Markdown is parsed with Parsedown, including Markdown Extra support. The core is built on Symfony components for caching, events, and the command-line interface, and it uses a dependency injection container to support extensions.

Grav includes a Package Manager (GPM) for installing, updating, and removing plugins and themes, and for upgrading the core itself. Developers can run unit tests and PHPStan checks on the codebase.

Key features

  • 01Stores content as Markdown files and configuration as YAML, with no database needed.
  • 02Renders pages with Twig templates.
  • 03Includes the GPM package manager for installing and updating plugins, themes, and the core.
  • 04Provides a command-line interface (bin/grav) for setup and maintenance.
  • 05Built on Symfony components with an event system for plugins.

Use cases

  • Building a small or medium website that does not need a database.
  • Publishing a blog or documentation site written in Markdown.
  • Hosting a site on basic PHP web hosting with Apache or IIS.

Quick start

  1. 1

    Install Grav with Composer

    composer create-project getgrav/grav ~/webroot/grav
  2. 2

    Or clone the repository from GitHub

    git clone https://github.com/getgrav/grav.git
  3. 3

    Install plugin and theme dependencies with the Grav CLI

    bin/grav install

Things to know

  • Requires PHP 8.3 or higher with Apache or IIS web server setup.

In collections

Topics

FAQ

What is grav?
A flat-file CMS written in PHP that stores pages as Markdown files, with no database required. Grav is a content management system that keeps pages as plain Markdown files and configuration as YAML, so a site can run without a database. Installation is a matter of extracting an archive or running a Composer command, after which the site is ready to use.
Is grav free to use? What license does it have?
grav is open source under the MIT license. Check the license terms before using it in commercial products.
Is grav still maintained?
Actively maintained. The last commit to grav was on Nov 6, 2026.
What can I use grav for?
Building a small or medium website that does not need a database. Publishing a blog or documentation site written in Markdown. Hosting a site on basic PHP web hosting with Apache or IIS.
How do I install grav?
Install Grav with Composer: composer create-project getgrav/grav ~/webroot/grav Or clone the repository from GitHub: git clone https://github.com/getgrav/grav.git Install plugin and theme dependencies with the Grav CLI: bin/grav install
Where can I get grav?
The source code and installation instructions are on GitHub: https://github.com/getgrav/grav

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects