{"id":13394707,"url":"https://github.com/getgrav/grav","last_synced_at":"2026-04-25T18:03:07.397Z","repository":{"id":19315737,"uuid":"22553797","full_name":"getgrav/grav","owner":"getgrav","description":"Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig, and Symfony","archived":false,"fork":false,"pushed_at":"2025-04-02T11:34:17.000Z","size":29403,"stargazers_count":14937,"open_issues_count":435,"forks_count":1419,"subscribers_count":342,"default_branch":"develop","last_synced_at":"2025-05-05T17:21:05.853Z","etag":null,"topics":["cms","content","content-management","doctrine","flat-file","grav","markdown","php","php7","symfony","twig","website","website-builder","website-generation","yaml"],"latest_commit_sha":null,"homepage":"https://getgrav.org","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/getgrav.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":"grav","ko_fi":null,"tidelift":null,"custom":null}},"created_at":"2014-08-02T18:29:10.000Z","updated_at":"2025-05-05T16:24:43.000Z","dependencies_parsed_at":"2023-12-16T07:01:15.027Z","dependency_job_id":"385b44f2-a331-4eb9-9987-9df5dd8cd822","html_url":"https://github.com/getgrav/grav","commit_stats":{"total_commits":6323,"total_committers":253,"mean_commits":"24.992094861660078","dds":0.5747271864621224,"last_synced_commit":"5cf7ef864bd544abf9d1705981367aa5c6e9589b"},"previous_names":[],"tags_count":287,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getgrav%2Fgrav","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getgrav%2Fgrav/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getgrav%2Fgrav/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getgrav%2Fgrav/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/getgrav","download_url":"https://codeload.github.com/getgrav/grav/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253832484,"owners_count":21971274,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cms","content","content-management","doctrine","flat-file","grav","markdown","php","php7","symfony","twig","website","website-builder","website-generation","yaml"],"created_at":"2024-07-30T17:01:28.922Z","updated_at":"2025-12-28T07:16:15.389Z","avatar_url":"https://github.com/getgrav.png","language":"PHP","readme":"# ![](https://avatars1.githubusercontent.com/u/8237355?v=2\u0026s=50) Grav\n\n[![PHPStan](https://img.shields.io/badge/PHPStan-enabled-brightgreen.svg?style=flat)](https://github.com/phpstan/phpstan)\n[![Discord](https://img.shields.io/discord/501836936584101899.svg?logo=discord\u0026colorB=728ADA\u0026label=Discord%20Chat)](https://chat.getgrav.org)\n [![PHP Tests](https://github.com/getgrav/grav/workflows/PHP%20Tests/badge.svg?branch=develop)](https://github.com/getgrav/grav/actions?query=workflow%3A%22PHP+Tests%22) [![OpenCollective](https://opencollective.com/grav/tiers/backers/badge.svg?label=Backers\u0026color=brightgreen)](#backers) [![OpenCollective](https://opencollective.com/grav/tiers/supporters/badge.svg?label=Supporters\u0026color=brightgreen)](#supporters) [![OpenCollective](https://opencollective.com/grav/tiers/sponsors/badge.svg?label=Sponsors\u0026color=brightgreen)](#sponsors)\n\nGrav 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.\n\nThe 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:\n\n* [Twig Templating](https://twig.symfony.com/): for powerful control of the user interface\n* [Markdown](https://en.wikipedia.org/wiki/Markdown): for easy content creation\n* [YAML](https://yaml.org): for simple configuration\n* [Parsedown](https://parsedown.org/): for fast Markdown and Markdown Extra support\n* [Doctrine Cache](https://www.doctrine-project.org/projects/doctrine-orm/en/latest/reference/caching.html): layer for performance\n* [Pimple Dependency Injection Container](https://github.com/silexphp/Pimple): for extensibility and maintainability\n* [Symfony Event Dispatcher](https://symfony.com/doc/current/components/event_dispatcher/introduction.html): for plugin event handling\n* [Symfony Console](https://symfony.com/doc/current/components/console/introduction.html): for CLI interface\n* [Gregwar Image Library](https://github.com/Gregwar/Image): for dynamic image manipulation\n\n# Requirements\n\n- PHP 7.3.6 or higher. Check the [required modules list](https://learn.getgrav.org/basics/requirements#php-requirements)\n- Check the [Apache](https://learn.getgrav.org/basics/requirements#apache-requirements) or [IIS](https://learn.getgrav.org/basics/requirements#iis-requirements) requirements\n\n# Documentation\n\nThe full documentation can be found from [learn.getgrav.org](https://learn.getgrav.org).\n\n# QuickStart\n\nThese are the options to get Grav:\n\n### Downloading a Grav Package\n\nYou can download a **ready-built** package from the [Downloads page on https://getgrav.org](https://getgrav.org/downloads)\n\n### With Composer\n\nYou can create a new project with the latest **stable** Grav release with the following command:\n\n```bash\ncomposer create-project getgrav/grav ~/webroot/grav\n```\n\n### From GitHub\n\n1. Clone the Grav repository from [https://github.com/getgrav/grav]() to a folder in the webroot of your server, e.g. `~/webroot/grav`. Launch a **terminal** or **console** and navigate to the webroot folder:\n   ```bash\n   cd ~/webroot\n   git clone https://github.com/getgrav/grav.git\n   ```\n\n2. Install the **plugin** and **theme dependencies** by using the [Grav CLI application](https://learn.getgrav.org/advanced/grav-cli) `bin/grav`:\n   ```bash\n   cd ~/webroot/grav\n   bin/grav install\n   ```\n\nCheck out the [install procedures](https://learn.getgrav.org/basics/installation) for more information.\n\n# Adding Functionality\n\nYou can download [plugins](https://getgrav.org/downloads/plugins) or [themes](https://getgrav.org/downloads/themes) manually from the appropriate tab on the [Downloads page on https://getgrav.org](https://getgrav.org/downloads), but the preferred solution is to use the [Grav Package Manager](https://learn.getgrav.org/advanced/grav-gpm) or `GPM`:\n\n```bash\nbin/gpm index\n```\n\nThis will display all the available plugins and then you can install one or more with:\n\n```bash\nbin/gpm install \u003cplugin/theme\u003e\n```\n\n# Updating\n\nTo update Grav you should use the [Grav Package Manager](https://learn.getgrav.org/advanced/grav-gpm) or `GPM`:\n\n```bash\nbin/gpm selfupgrade\n```\n\nTo update plugins and themes:\n\n```bash\nbin/gpm update\n```\n\n## Upgrading from older version\n\n* [Upgrading to Grav 1.7](https://learn.getgrav.org/16/advanced/grav-development/grav-17-upgrade-guide)\n* [Upgrading to Grav 1.6](https://learn.getgrav.org/16/advanced/grav-development/grav-16-upgrade-guide)\n* [Upgrading from Grav \u003c1.6](https://learn.getgrav.org/16/advanced/grav-development/grav-15-upgrade-guide)\n\n# Contributing\nWe appreciate any contribution to Grav, whether it is related to bugs, grammar, or simply a suggestion or improvement! Please refer to the [Contributing guide](CONTRIBUTING.md) for more guidance on this topic.\n\n## Security issues\nIf you discover a possible security issue related to Grav or one of its plugins, please email the core team at contact@getgrav.org and we'll address it as soon as possible.\n\n# Getting Started\n\n* [What is Grav?](https://learn.getgrav.org/basics/what-is-grav)\n* [Install](https://learn.getgrav.org/basics/installation) Grav in few seconds\n* Understand the [Configuration](https://learn.getgrav.org/basics/grav-configuration)\n* Take a peek at our available free [Skeletons](https://getgrav.org/downloads/skeletons)\n* If you have questions, jump on our [Discord Chat Server](https://chat.getgrav.org)!\n* Have fun!\n\n# Exploring More\n\n* Have a look at our [Basic Tutorial](https://learn.getgrav.org/basics/basic-tutorial)\n* Dive into more [advanced](https://learn.getgrav.org/advanced) functions\n* Learn about the [Grav CLI](https://learn.getgrav.org/cli-console/grav-cli)\n* Review examples in the [Grav Cookbook](https://learn.getgrav.org/cookbook)\n* More [Awesome Grav Stuff](https://github.com/getgrav/awesome-grav)\n\n# Backers\nSupport Grav with a monthly donation to help us continue development. [[Become a backer](https://opencollective.com/grav/contribute)]\n\n\u003cimg src=\"https://opencollective.com/grav/tiers/backers.svg?avatarHeight=36\u0026width=600\" /\u003e\n\n\n# Supporters\nSupport Grav with a monthly donation to help us continue development. [[Become a supporter](https://opencollective.com/grav/contribute)]\n\n\u003cimg src=\"https://opencollective.com/grav/tiers/supporters.svg?avatarHeight=36\u0026width=600\" /\u003e\n\n\n# Sponsors\nSupport Grav with a yearly donation to help us continue development. [[Become a sponsor](https://opencollective.com/grav/contribute)]\n\n\u003cimg src=\"https://opencollective.com/grav/tiers/sponsors.svg?avatarHeight=36\u0026width=600\" /\u003e\n\n# License\n\nSee [LICENSE](LICENSE.txt)\n\n\n[gitflow-model]: http://nvie.com/posts/a-successful-git-branching-model/\n[gitflow-extensions]: https://github.com/nvie/gitflow\n\n# Running Tests\n\nFirst install the dev dependencies by running `composer install` from the Grav root.\n\nThen `composer test` will run the Unit Tests, which should be always executed successfully on any site.\nWindows users should use the `composer test-windows` command.\nYou can also run a single unit test file, e.g. `composer test tests/unit/Grav/Common/AssetsTest.php`\n\nTo run phpstan tests, you should run:\n\n* `composer phpstan` for global tests\n* `composer phpstan-framework` for more strict tests\n* `composer phpstan-plugins` to test all installed plugins\n","funding_links":["https://opencollective.com/grav","https://opencollective.com/grav/contribute"],"categories":["PHP","Table of Contents","Web应用 Web Applications","前端开发框架及项目","目录","Apps","置顶","Programming Languages","yaml","markdown","Uncategorized","Web 应用程序(Web Applications)","成品软件"],"sub_categories":["Content Management Systems (CMS)","其他_文本生成、文本对话","内容管理系统 content-management-systems-cms","CMS","9、效率工具集合","PHP","Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetgrav%2Fgrav","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgetgrav%2Fgrav","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetgrav%2Fgrav/lists"}