Stacey is a framework for building simple dynamic html websites.
The project is based around two core ideals:
- Separating textual content & assets from your html, and
- Keeping ugly php-style logic out of your templates
These map directly to the /content and /templates folders respectively.
Stacey handles all the dynamic parts like creating breadcrumbs, navigation lists & shared content and linking images & assets. It includes a simple templating language and partial system so you have complete control over every piece of markup that is generated.
There are a few simple portfolio-style templates provided to give an idea of how the system works, but don’t let that mislead you, stacey is flexible enough to build sites of significant complexity.
Because stacey uses the file system to store and manage data, it means you are able to build & deploy sites extremely quickly. Additionally, as php hosting is so common, stacey-based sites can be deployed very cost-effectively and to pretty much any standard hosting package.
Because reading a file system can become slow on larger sites, stacey uses a combination of file-based caching & e-tag headers to ensure pages are always loaded as quickly as possible. The caching system is smart enough to only rebuild the cache when the content has been updated.
The entire stacey codebase is around 600 lines of code, so it shouldn’t be too hard to read through, get an idea of how it works & extend for your own purposes.
The project is maintained over at http://github.com/kolber/stacey, so feel free to pick through the code, suggest improvements or fork it and fix things yourself.