We believe in Sharing What You Know

Building a website with Grav CMS - Part 1

We've recently started to crack down on Parlor's online presence. As with many agencies, we can get so wrapped up in solving our clients' problems that we forget about our own. Our brand suffers as a result of the neglect. To remedy this, we decided to use our own discovery processes on ourselves. This allowed us to diagnose and take action to fortify any weak spots in our workflow as well as our brand.

We decided to tackle the Parlor website which has existed as a bare bones splash page for the better part of year. After considering our needs and our development process, we settled on Grav CMS to power the site. We're gonna throw a series of posts together to talk about Grav and how awesome it is.

Check out Part 2 - The Grav Admin Plugin

This is part one. Let's get into it.

Grav Logo

What is Grav?

According to their website,


"Grav is a modern open source flat-file CMS." The underlying architecture of Grav is built using well established and best-in-class technologies. This is 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: 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

We're suckers for open source, and found flat-file CMSs to be intriguing enough to take a closer look. What really got us to get onboard, though, was the templating system that compiles pages from Twig.

With a flat-file CMS, installation is as easy as downloading the package in dropping into the root directory of your site. Couldn't really be any easier than that.

The core of Grav is built around the concept of folders and markdown files for content. These folders and files are automatically compiled into HTML and cached for performance.

Site pages render directly from Twig templates which can be broken down into individual site components and called as needed. We already use a component-based CSS structure for our design system workflow, and the templating feels like a natural extension of the process.

Overall, Grav is crazy fast, simple to set up and use, and exactly what we've been looking for in a CMS. In our next post, we'll dive into the Grav Admin plugin and the cool features we're using on the site.

If you think Grav could be a good fit for your next web design project (or you just want to find out more), drop us a line with the contact form below!

-Bradley

Interested in working with us? Just want to say hey? Spambot?
Drop us a line and we'll talk next steps, have a chat, or ignore you, respectively.