Docs Generator
The architecture of doc generator is as simple as having a generator a set of org files transformed to a set of HTML pages served at the right location. This is mostly what the Docs Generator serves as.
But inorder to accomplish that the generator has to do a bit of sitemap building, counting words and other stuff that is contextually relevant to each of the sites.
So when you look at the NCLVerse environment, you can see that it consists of 4 types of documentation. How to use manuals intended for the user, design language for the visual designers interested in building UIs for the universe, code documentation that narrates how the code is documented in literate programming style and finally the dissertation that outlines the whole theoretical framework and ideas behind building this digital academic universe.
Each of these documentation websites have their own set of requirements. Such as the word count is important in the dissertation whereas line count might be of interest in the code documentation website. Inorder to cater for all these different uses, it is of importance that the docs generator is sufficiently abstracted to cater to each of these cases and also flexible enough if a new use case is to be discovered in the future.
I have tried to be not so clever in building up the abstractions because I am a new entrant in composing functions, but I have tried to put up an effort in the manner my knowledge served and what seemed logical. As always, all this code is available for your perusal in a literate programming manner, starting from the next entry.