Why another static website tool?
There are a lot of good static website authoring tools available including Hugo and Jekyll just to name a couple. So why yet another static website authoring toolkit? It mainly boils down to:
- My interest in finding simpler and more minimalistic tools (I.E. the Unix Philosophy).
- A desire to learn the go programming language and apply it to a current project (namely this blog).
About the tools
I started using existing unix tools to make static web pages. make and sed worked for a while with simple web pages but I soon realized that it wasn’t a good fit for authoring larger websites. A much more effective solution was to use a template system to define and standardize components of the site. The go standard library has a well designed template system, but I needed to add a wrapper to enable it to be used from the command line and to also “include” other template source files to enable a hierarchy structure for web pages. The pgot utility was created as a result. In addition I wanted to be able to use markdown and raw html within the pgot template files and ended up creating the chuf utility. Both of these combined with make and various other standard unix utilities (find, sort, sha256sum, etc.) enabled the makehtml functionality currently used to build this blog site.
- makehtml - https://git.lenzplace.org/lenzj/makehtml
- pgot - https://git.lenzplace.org/lenzj/pgot
- chuf - https://git.lenzplace.org/lenzj/chuf
- markdown - I use discount https://github.com/Orc/discount Any markdown processor will do though.
Other static website authoring and template toolkits
For reference below are a few other similar projects that I found along the way that may be of interest.