I've always wanted to make a 0-dependency website app. A single executable that works on windows and linux, that installs and configures itself on the server and 'just works' on its own, without installing 20 megs of python libraries.
And the time has come to finally make it. The system currently works as an FCGI-server. And eventually, it will have its own http server (naturally). It's primarily designed for blogs, portfolios and such, but will possibly grow into something bigger.
It works with pre-baked templates (written in custom markup format, that is translated into C++ as a part of a build process - bascically it's html with C++ code hidden in the comments. (See 1st screenshot)
The content (posts) is stored in plain html files. Files are meant to be editable live on the server. To publish posts - you just drop your files to the server via ftp.
I'm currently working on first public version - 0.1, however I've already published the (very much broken) code on github. Feel free to explore the code and post suggestions into the discussions thread.
current features:
- cross-platform fcgi server
- file-based post storage (posts are regular html files with some metadata)
- hot-loading of the content: you can drop assets or new posts to the sever and the app with auto-reload and cache everything. (because of that posts can be edited live right on the server)
- Custom templating system, compiled as C++ code (really proud of this one!)
- caching (and hashing) of pages and assets
- sqlite-based analytics system (say no to google analytics!): Currently I gather request count, unique clicks, page response time (with and without i/o).
- custom time library (because why not)