Housecat is designed to be a tool in a bigger system. It does its one thing, and, in my opinion, it does it pretty well. Currently, I'm editing this blog post with vim. I'm navigating and administrating articles with regular unix directory and file utilities. I have a tiny bash script which converts my articles from markdown to HTML before Housecat processes them. Eventually, I even plan to make a web interface for administrating things and writing blog posts and such, which will use Housecat as a back-end. To my understanding, this is what the UNIX philosophy is all about.
Housecat features a rather powerful theming system, a plugin system, pagination, drafts (start a post with the string "DRAFT:", and it'll only be accessible through the canonical URL, not listed anywhere), and should be compatible with any sane web server, and is, of course, open source.
Now, some of you might be wondering why anyone would ever use C to write a
static site generator. To be honest, the main reason I chose C was that I
wanted to learn it better. However, after using it for a while, it doesn't
to have a compiler actually tell me when something's wrong, instead of just
randomly blowing up in certain situations. C certainly isn't perfect when it
comes to compiler warnings, as anyone who has ever seen the phrase
segmentation fault (core dumped) will tell you, however having a compiler
tell you you're wrong at all is a very nice change, and valgrind helps a lot
with those segfaults. I also think that being forced to have more control over
throw enough hacks at the problem, and it disappears for a while. That strategy
generally literally doesn't work at all in C. That isn't to say that you can't
found it nice nonetheless.