Blast off with Grav

The Dynamic Flat-file CMS

Finding Balance

DB Backed

  • Great Administration interface
  • Live production editing
  • User permissions
  • Password protected areas
  • Personalization
  • Web forms
  • User submitted content
  • WYSIWYG Editors

Flat-file Generated

  • Content tied to functionality
  • Content Deployment
  • Configuration Deployment
  • Speed & Scale
  • Secure
  • Fewer server dependencies
  • More exact content entry
    (no copy/paste from Word fail)

CMS Benefits

  • Only requirement is PHP 5.5.9+ and a web server
  • Content is dynamically rendered (then cached)
  • Content is all in Markdown or HTML
  • Configuration is all in YAML
  • Twig templates (based on Jinja)
  • CLI for common tasks
  • Sub 100ms page loads
  • Impressive Admin UI (Optional)
    • User Logins
    • Production Content Entry
    • Production Configuration Changes
    • Markdown editor
    • Module installation and upgrades
    • Self upgrades
  • Core, Admin, and Skeleton Installs
  • Great Documentation

Anatomy of Grav Content

Content Architecture

/user/pages/01.blog/2014-11-30.pomade-bar/item.md

/user/pages/01.resume/default.md

content base path

page path

template name

YAML Frontmatter

Markdown Content

Using Frontmatter in Templates

---
title: Pomade/Hair Styling Bar
date: 11/30/2014
taxonomy:
  category: blog
  tag: [personal care, hair style, recipe]
description: "In the past I've used traditional spreadable pomade..."
slug: 2014/11/pomadehair-styling-bar
custom_data: "My Custom Data"
---
{{ page.title }}
{{ page.date }}
{{ page.taxonomy.category }}
{{ page.taxonomy.tag }}
{{ page.description }}
{{ page.slug }}
{{ page.header.custom_data }}

Content Types

  • Default Pages
  • Blog List
  • Modular
  • Custom!

Demo Time

Resources

Thank you!

Andrew Koebbe

@andrewkoebbe

http://blog.andrewkoebbe.com/talks

Blast off with Grav KCDC 2016

By akoebbe

Blast off with Grav KCDC 2016

Blast off with Grav The Dynamic Flat-file CMS

  • 1,625