index.md
Raw
This is the toolset used to make this site. Its design largely fell out of the
set of requirements for the site and my own desire to give myself as much
freedom as possible to change things without obsoleting code.
In short, this is a set of small binaries using the [golang][go] [template][t]
system which make constrained bits of the site, with as little "business" logic
in them as is reasonable. It's driven by shell scripts that should ideally be
below 20 lines each, with the shell scripts building the source and content
organization. When in doubt, environment information is passed in rather than
embedded. Templates do bake-in some information about the site organization,
which is done for simplicity of the driving code.
The tool that walks the code tree and builds the code browsing webmatter cares
only about the given source tree. It intentionally does not do anything with
scm, both because it wasn't a necessity for the site and to give me freedom to
experiment with scm tools other than git for individual projects.
Advanced functionality such as scm information will come later, as needed. I
plan on building small, independent tools for individual parts, to be chain
run. By that, I mean that each tool should be run on just its own domain, and
if the output of it is supposed to be inside of another page, then the template
will create small fragments to be consumed by other templates.
[go]: http://golang.org
[t]: https://golang.org/pkg/html/template/