As for why this is taking so long.
WebCit is broken. Really, really broken. Some time ago we embarked upon
an effort to get all of the HTML out of the WebCit C code and put it into
templates. And we did. The problem is that the template syntax is so horrible
that it's barely readable, and it certainly doesn't look like anything a site
operator would want to try to customize. There are weird syntaxes for
conditionals
and other things that are very difficult to work with.
This is not to knock the developer who built it. He was really helpful and
took us places we wouldn't have otherwise gone.
The problem is that WebCit originated in an era when I had no clue how to
build it. It started as a set of CGI scripts, then evolved into a standalone
web server, it began in the old page-by-page model and then evolved into dynamic
HTML, and all the way it got filled with horrible
constructs both in the code and in the HTML markup it generated. There's
so much cruft in there to support old browsers with horrible brokenness that
no longer exists.
That's why webcit-ng exists. All of the C code supports a REST backend,
and the web side is all client-side javascript. It feels great and I can't
wait to get back to it.