Skip to content

mmousawy/ziggurat

Repository files navigation

Ziggurat


A complete development toolchain with dynamic site routing and Markdown support for PHP websites.

What is Ziggurat?

Ziggurat consists of two parts:

  1. Ziggurat Core: a PHP-based URL router that reads specific metadata in PHP files to index and create a dynamic page structure. The core also provides other features like templating, listing child-pages and built-in Markdown support.
  2. Ziggurat Toolchain: a Node-based toolchain that utilizes Gulp to compile and generate a deployment-ready build of the website.

Features

Ziggurat core:

  • Templating using PHP
  • Hierarchical page organisation
  • Simple page routing
  • Page list querying (for listing sub-pages)
  • Page indexing and caching (using SQLite3, with JSON plaintext fallback)
  • Basic HTML minification
  • Output compression using Zlib
  • Markdown in pages with the help of Parsedown
  • Lazy loading image ratio calculation for padding-top trick
  • Automatic sitemap generator

Ziggurat toolchain:

Example

There are a few examples available in the examples folder of Ziggurat GitHub repo. To see Ziggurat in action you can take a look at my personal website.

To do

  • Deployment integration?
  • Hook for custom templating engine?

Done

  • Automatic pages/posts list (done: 2019-04-19)
  • Add example project (done: 2019-04-20)
  • Favicon generation (done: 2019-04-21)
  • Generate sitemap automatically (done: 2019-05-04)
  • Better configurability with config.json (done: 2019-08-28)
  • Custom page status handling for error and 404 pages (done: 2019-08-29)

Donate

Please consider donating if you think Ziggurat is helpful to you or that my work is valuable. I am happy if you can buy me a cup of coffee. ☕️

About

Development tool chain for building optimized websites with dynamic page routing and extras.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors