November 23, 2012 PieCrust

If you have been reading Egg Freckles for a while, then you know I have a strong distrust of databases, proprietary file formats, and software bloat. I appreciate the portability of the file system, the compatibility of plain text files, and Unix philosophy of doing one thing well. When it came to picking a content management system for Egg Freckles I tried many of the popular approaches1, but none of them gave me the control I needed over my own content.

PieCrust is different.

PieCrust is a static website generator and lightweight CMS that’s all managed with text files. No complex setup, databases, or administrative panels. Simple, beautiful, and yummy.

To create a PieCrust website all you have to do is write HTML into the templates directory, and Markdown/HTML into the posts directory. PieCrust takes all of the ingredients, mixes them together, and bakes the finished product into a website you can post to almost any web server.

Your pages are not limited to one piece of content that you place in the center of your layout. You can define other “text segments” like a page-specific menu or sidebar text that you can insert in different places in the layout.

With PieCrust you don’t need to learn any special languages, or install any special blogging applications. Because everything is plain text, you can post from a Mac, PC, iPhone, iPad, Android, or anything that supports plain text, FTP, or SSH.

What I write is valuable to me. I keep a copy of my PieCrust website synced across all of my computers using Dropbox. A plain text file in the posts directory becomes a published article on Egg Freckles as soon as Dropbox syncs it to my web server, and PieCrust bakes the site2. Making a design change is just as easy as modifying a HTML file in the templates directory. No need to upload my entire site. PieCrust only bakes the pages that are changed.

Because PieCrust is also designed as a lightweight CMS, it can render your pages in less than a few milliseconds in most cases. It means that previewing or generating your website is super fast!

PieCrust includes a built-in HTTP server for previewing changes before you bake them. This eliminates the need of hosting a mirrored testing environment for website development. Configuration of a PieCrust website is as easy as tweaking an XML file. Changes can be previewed as soon as you make them, and baked into the next revision of the site.

Not suitable for everyone, PieCrust offers no dynamic features. You won’t find live search, on site editing, or dynamic page generation with PieCrust. What you will find is a static web page generator that works with meager server requirements.3

PieCrust only requires a web-server running PHP 5.3+ for dynamically rendered websites. If you bake your website, however, all you need is a web-server that can serve HTML files, and that’s by definition any web server!

PieCrust is a good choice for anyone who wants their CMS to stay out of the way so they can get back to writing. The project is small enough so feature requests can be incorporated, but simple enough that you should be able to extend its capabilities on your own.

PieCrust, the Newton equivalent of content management systems I use everyday to serve up Egg Freckles.

  1. WordPress, Stacey, Chyrp, and RapidWeaver 

  2. A single command I have setup with a cron job to run every 15 minutes. 

  3. I host Egg Freckles on an Economy hosting plan