Back a few months ago I wrote about making a website for the Yancy
CMS that
included a basic Markdown page editor, adding a documentation viewer
with the Mojolicious PODViewer
plugin, and
deploying a static version of the site using the Mojolicious export
command.
The site uses a SQLite database, which makes it very easy to set up and
use the Yancy editor, but very difficult to work with the data any other
way...
To solve this problem, many people have taken to writing their website as a set of static files and using a static site generator to add templates and plugins to build their website. Each page has a header section that defines some metadata about the page, like the title or the date it was posted. Instead of having each page be a row in a SQLite database, each page in a static site is a file on the filesystem!
Yancy uses "Backends" to interface with a database. To make Yancy into a static site generator, I wrote a backend that works with a flat-file database made up of YAML and Markdown files: Yancy::Backend::Static. I can use this new backend to make my Yancy documentation site even easier to edit!