Grav

From IndieWeb
(Redirected from grav)
Jump to: navigation, search


Grav is a flat-file CMS built on PHP, with Twig templating, and YAML + Markdown for storing articles (YAML for metadata, Markdown for the content).

Contents

Introduction

Grav uses its filesystem as a database, and heavily relies on caching (filesystem, memcache, redis…)

There's an admin plugin with a nice user-interface which allows to:

  • add/edit pages and articles
  • configure the whole system and the plugins
  • run updates and backups
  • clear the cache manually

Grav is not a static site generator, as it handles dynamic operations via plugins using an eventing system. Yet it is not a Wordpress-like CMS that renders all templates on every request, as it caches rendered templates (among others).

As a concept, Grav brings the best of both worlds. But the current implementation is far from scalable (Grav team recommends setups with at max a few thousand pages).

Pros

  • Fast setup, amazing documentation
  • Nice responsive design
  • Many useful plugins
  • Multi-language support (url-based differenciation, support for language-based slugs)

Cons

  • Dates are not translated
  • Not optimized for big websites (1000s of pages), as building collections/taxonomies (categories, tags, events) requires parsing through all of the pages (can be made faster with SSDs, but still requires lots of RAM)

Setup

Download the latest version (bundled with admin plugin), extract it, and point your web server there.

Sample configuration files are available for nginx, caddy, Apache, IIS and lighttpd.

Updates

Updates can be made through the admin interface (from the main dashboard), or using the command-line tool, from your webroot : bin/gpm selfupgrade

Backups

Although backups are achievable through the web interface, data storage within Grav only relies on files, making daily backups of your website can be as easy as a cron job running rdiff/rsync for the user/ folder in the webroot.

Indieweb

Microformats

The default Antimatter theme supports basic microformats2 out-of-the-box. Support for h-feed name and description is available here.

To install one of these versions of Antimatter, from your themes directory:

git clone https://github.com/USER/grav-theme-antimatter antimatter

Please note that plugin/theme folders are replaced upon updating. So save your changes if you change anything in there!

More microformats

The events plugin has a fork adding microformats (no RSVP support yet).

The about-me plugin is work-in-progress.

Open Graph / Twitter Cards

To automatically generate og: and twitter: tags for your pages (can be overriden on a per-page basis), there's the socialmeta plugin.

RSS

OleVik has written a plugin that will display RSS feeds in a Grav site. This can be useful for bringing in content from elsewhere.

Webmention

There is a Webmention plugin marked as "beta", with Vouch support and a published implementation report against the specification.

IndieWeb Examples

Websites running Grav:

See Also

Retrieved from "https://indieweb.org/Grav"
Personal tools
Namespaces
Variants
Actions
Recent & Upcoming
Resources
Toolbox