Since I despise having to write HTML, but I want to maintain my website, I decided it would be best to write my own markup language for constructing websites. I had the following criteria for its design:
- that it resemble LaTeX, so that I can use AUCTeX in Emacs to edit my website;
- that it have good support for label-based links between pages, so that I do not have to fix broken links due to moving files for pages around;
- that I may put multiple pages in a single file, because some pages are too small to merit their own file;
- and that it maintain the output directory for me, because I don’t want to have to manage the resulting files.
The result is htmacros, the “HyperText Macros,” since the language is roughly a macro-expansion language (but uses a model somewhat different from TeX).
The source code is available on GitHub.
The compiled documentation is htmacros documentation.