colophon
This site is built with a variety of tools.
I like static site generators but the way this site works I don’t have to learn a static site generator, just incrementally add on tools I already know as I need the site to do more.
Beautiful Soup is a Python library for working with HTML. Used for some post-processing of HTML files built by Pandoc.
Bitstream Charter is a classic-looking serif typeface. Available as part of Modern Font Stacks
cowsay helps deal with voluminous
makeoutput by making important messages more obviousDark Visitors provides updated
robots.txtentries for the latestAI
crawlers (Block AI training on a web site)devd is a simple web server for local previews
Git is version control
GNU Image Manipulation Program is what I use for image cropping and resizing
gzip is the Python module that powers the
similar posts
section on each page. See (“Low-Resource” Text Classification: A Parameter-Free Classification Method with Compressors by Zhiying Jiang, Matthew Yang, Mikhail Tsirlin, Raphael Tang, Yiqin Dai, and Jimmy Lin.Inconsolata is a monospaced typeface I like. (I use one font loaded from this server and system fonts for everything else because I like Charter for body copy.)
Pagefind is a site search tool that runs in the browser so the site can be totally static
Pandoc is what I use on here to convert CommonMark files to HTML, under control of the Makefile
pass stores the API token for Dark Visitors so it’s not in any file that gets committed to Git
RealFaviconGenerator made the favicon image
rsync synchronizes the built site to the web server
Universal Feed Parser extracts links from RSS feeds to build the bonus links sections.
Vim is my main text editor
xml.dom.minidom is a Python module for parsing and writing XML. Used in the Python script that builds RSS feeds and an XML sitemap from HTML files.
All of these do a lot more than just what I use them for on this site.
The blogroll is built from an OPML source.
Feeds and sitemap
This site has two RSS feeds.
/feed.xml is a full-text feed that should work in an RSS reader. Please let me know if it doesn’t work for yours. This is the feed that the sparkline (
) counts subscribers to.
/changes.xml is a link-only feed of changed pages.
The main difference is that the first is built using the blog post date, so you don’t get a new RSS item if I change an old page. The second is built using the date from git log so it’s more the kind of thing that a well-behaved crawler would find useful.
Both feeds, and the sitemap, are built using the same script: /code/xmlwriter. (This script can be used on its own to make feeds and sitemaps for static sites where there’s no CMS, in case you need to do that.)
Cross-browser issues
This site mostly works the same on browsers I have tried it on. Where there’s a difference I file an issue with webcompat.com