back to home

getgrav / grav

Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig, and Symfony

15,416 stars
1,419 forks
465 issues
PHPCSSTwig

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing getgrav/grav in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/getgrav/grav)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

Grav Grav is a **Fast**, **Simple**, and **Flexible**, file-based Web-platform. There is **Zero** installation required. Just extract the ZIP archive, and you are already up and running. It follows similar principles to other flat-file CMS platforms, but has a different design philosophy than most. Grav comes with a powerful **Package Management System** to allow for simple installation and upgrading of plugins and themes, as well as simple updating of Grav itself. The underlying architecture of Grav is designed to use well-established and _best-in-class_ technologies to ensure that Grav is simple to use and easy to extend. Some of these key technologies include: • Twig Templating: for powerful control of the user interface • Markdown: for easy content creation • YAML: for simple configuration • Parsedown: for fast Markdown and Markdown Extra support • Doctrine Cache: layer for performance • Pimple Dependency Injection Container: for extensibility and maintainability • Symfony Event Dispatcher: for plugin event handling • Symfony Console: for CLI interface • Gregwar Image Library: for dynamic image manipulation Requirements • PHP 7.3.6 or higher. Check the required modules list • Check the Apache or IIS requirements Documentation The full documentation can be found from learn.getgrav.org. QuickStart These are the options to get Grav: Downloading a Grav Package You can download a **ready-built** package from the Downloads page on https://getgrav.org With Composer You can create a new project with the latest **stable** Grav release with the following command: From GitHub • Clone the Grav repository from [https://github.com/getgrav/grav]() to a folder in the webroot of your server, e.g. . Launch a **terminal** or **console** and navigate to the webroot folder: • Install the **plugin** and **theme dependencies** by using the Grav CLI application : Check out the install procedures for more information. Adding Functionality You can download plugins or themes manually from the appropriate tab on the Downloads page on https://getgrav.org, but the preferred solution is to use the Grav Package Manager or : This will display all the available plugins and then you can install one or more with: Updating To update Grav you should use the Grav Package Manager or : To update plugins and themes: Upgrading from older version • Upgrading to Grav 1.7 • Upgrading to Grav 1.6 • Upgrading from Grav Supporters Support Grav with a monthly donation to help us continue development. [Become a supporter] Sponsors Support Grav with a yearly donation to help us continue development. [Become a sponsor] License See LICENSE [gitflow-model]: http://nvie.com/posts/a-successful-git-branching-model/ [gitflow-extensions]: https://github.com/nvie/gitflow Running Tests First install the dev dependencies by running from the Grav root. Then will run the Unit Tests, which should be always executed successfully on any site. Windows users should use the command. You can also run a single unit test file, e.g. To run phpstan tests, you should run: • for global tests • for more strict tests • to test all installed plugins