2011-03-09

Micro Frabster a tiny templating system

I thought I'd mention it here too. I've had this templating system lying around for a long time. The first version was built sometime in 2003 or so. It has since been improved over several iterations, 4 at least. A breakthrough came at iteration 2 or 3 when I cut out the "content file". This simplified the whole process a lot.

Micro Frabster is now live at Frozenspeed, and has been so for over a year (at least). It's also running on a few other sites, but I think they might need some updating, so I'll leave them unmentioned.
The whole idea centered around the fact that users, or site owners, are usually very happy to add and edit content. They know their content. Having some cocky programmer tell them what to do or not to do is usually not a good idea. So I wanted my "customers" to be able to edit their own pages, add more pages and so forth, without my intervention. However, I wanted to keep them on the straight and narrow when it came to how the site looked. If they can easily change everything, they will. This distracts from the content, not to mention it'll look abysmal.

Also many of my "customers" are clever enough to be able to read simple PHP code, understand the required HTML code they need and so forth. They're also pretty decent when it comes to uploading files and such things.
This is the reason why I wanted to create a system that "wasn't in the way" of simple content. I just wanted the content to come from the author and for them to put it on a web server, but framed in their nice look and brand.

The principle is that the templating engine reads the file where it came from, called the content file. It then picks up the important content from the content file and prints those pieces out inside the template. It then terminates the execution before it's time to display the original content.
I've also included a tiny meny-system (only one depth) in the source so people can start a simple site within minutes. I've built more elaborate menu systems if someone needs them.
I've also incorporated a way to run simple business logic, erhm... that's PHP code, sort of a "module" on a page.

Technically it's running on PHP, and needs no particular dependencies. It should work straight out of the box, no config needed. I've had it running on IIS in the past, but as I don't have one to test on, results may vary. It is however developed on Linux/Apache and runs just fine.

Anyway, it's out there, for anyone to use. It's released under the Mozilla License, so feel free to use it commercially. I'd love to hear feedback on the system and I'd love to hear ideas on how to improve it.
Find the source on Github https://github.com/jocke/Micro-Frabster
See it in action on my home server: http://madhouse.selincite.com/js/microfrabster/ :)