The CleanCode Colophon
provides the first level of introduction to how CleanCode is put together.
This file repository takes you a step further, providing:
-
The blueprint for building the entire website (the ant build file
plus documentation and visualization).
An ant file is an XML source that lays out a dependency graph
among all elements on the website, and automatically puts all the pieces
together (after laborious hand-crafting of the build file).
-
The language for web pages on the CleanCode site.
Rather than creating the web pages in HTML, they are created in
a form of XML that is similar to HTML, but with some additional constructs.
This allows custom elements such as examples, callouts, nutshells, etc.,
to be used in my web page source code.
The source code is then translated, via the CleanCode
XmlTransform
generator, into pure HTML for rendering in a browser.
The language specification is done via XML Schema, which defines
a very specific set of custom constructs per my needs.
The Schema is also used to validate each source page,
to make sure it conforms to the input language.
After using XmlSpy's great documentation generator for XML Schema,
I modified the documentation to include input/output code and illustrations
so one may actually see what is rendered for each construct.
-
The web site source tree itself, i.e. the collection of files that
constitute the input to the XmlTransform tool, which is then transformed
into an output tree and posted on the server for you to peruse
as the CleanCode website.