Blog

Introducing Fizl 2.0

I first wrote Fizl back in May of 2011 because I was interested in trying out the concept of a flat-file CMS that allowed you to create simple sites in a filesystem. Fizl was the product of some weekend fun coding, and since then it has been sitting on GitHub not doing much.

Lately, though, I've started to find more and more uses for it - mainly for documentation. It's really well suited to writing up docs, because you can have a complex documentation structure, and still keep everything versioned and very simple. Not database is required, so people can easily fork it and keep/reference a local copy. The docs here on Parse19 run off a special port of Fizl. The upcoming PyroCMS 2.1 docs are running on Fizl. It just seems to work well and make sense.

In that process of starting to use Fizl, I've made a lot of changes to it, and we're now calling those changes 2.0 and putting Fizl officially on the Parse19 site under "Labs" (since it really isn't an add-on. but more of an experiment). The docs have been updated as well.

The Changes


One of the biggest changes to Fizl is the folder structure. I've re-organized things so now Fizl is simpler to update (you just need to replace the system folder). Templates and embeds are now in assets, and most importantly, the site files are in content.

Another big change is a move from Simpletags to the Lex Parser. The Lex Parser is faster, cleaner, and the syntax is not too much of a change. See the docs for more details on what the syntax looks like.

I've also added some key new features regarding navigation. Fizl needed a good auto-generated navigation plugin, and now we've got one. The auto:nav function allows you to display full navigation for the entire site or starting from a specific URI:

{{ nav:auto start="about" }}

The problem with auto-generated navigation, though, is the order of files is a problem. In Fizl 2.0, we've added the ability to add an order.txt file into your directories. Fizl will obey this ordering when using nav:auto:

about
our-board | Our Awesome Board
our-history

And, as you can see, you can also specify a name for each item by adding a pipe character and the name you'd like the nav plugin to use. Otherwise, the plugin will just guess the name.

On top of that, we all use markdown and textile for these flat file type of situations, so Fizl now supports .md and .textile files as well as .html, and will automatically format both.

More to Come

Working on Fizl has been really fun, and I'm glad to see it getting some use, as well as some other people using it as well. If you are using Fizl and have some ideas on how to make it better, let us know on Twitter or by .(JavaScript must be enabled to view this email address).