Skip to main content

/ Treasa Ní Chonchúir

Colophon

First published on . Last updated on .

Table of Contents

  1. History
  2. Hosting
  3. Static site generator
    1. Backing store
    2. Publishing
  4. Markup and style
  5. Content

History

The first time I posted something resembling a colophon was in March 2007.

This website has existed, in some form or another, since 1997 or so. The software used to run this site has changed a number of times over the years. It was some kind of unholy Perl script way back in the day. In 2004 I started posting using a hand-written Atom feed. I switched to Wordpress in 2006, and then I switched again later that year, to custom software that used Atom Entry Documents as its backing store. I adopted the current unholy concoction of code in 2020.

Hosting

tess.oconnor.cx is hosted on trantor.cfhp.org, a server running Apache on Debian. Its TLS cert comes from Let’s Encrypt.

Static site generator

Because I’m a fool who is entirely too opinionated about things, I wrote my own cold-blooded static site generator using an unholy combination of JavaScript (Node.js), Ninja, Python, Swift, and Zsh.

Backing store

New content is usually written in Markdown or HTML, though some posts are in more esoteric formats, like Bikeshed.) Old content is stored in a number of formats, depending on where it came from—much of it is :

Publishing

On the static site generator’s first pass, it converts documents from all of the various backing store formats into HTML. This pass doesn’t have to run very often, because imported content doesn’t change all that much.

The HTML that comes out of the first pass is very generic—it doesn’t include things specific to the current site design. On the second pass, it alters all those HTML documents to be suitable for publication here. This is the phase where things like stylesheets and the site-wide masthead get added. I tweeted out the basic design philosophy back in 2010:

Instead of using templates to create transient HTML from your permanent content, infuse contingent markup into your permanent HTML.

There are several tasks that run after the second pass: the site’s Atom feed, sitemap, and the index of posts by tag all get generated then.

Markup and style

Elementa HTML non sunt multiplicanda praeter necessitatem.

— William of Ockham, probably

My HTML style is sparse. I don’t put quotes around attribute values unless I have to. I don’t use end tags unless I have to. I don’t explicitly write out elements that the HTML parser will create for me (e.g. the <html>, <head>, and <body> elements) unless I need to for some reason. (The markup served over the wire gets serialized from a DOM, so it doesn’t strongly resemble the way I actually write things.)

I try to avoid going overboard with too. The colors tend to be close to the default UA stylesheet, though I do try to respect your system's dark mode setting by using the prefers-color-scheme media feature. Links in dark mode are yellow and gold.

Most of this site is set in the Archivo, Chivo Mono, and Manuale variable fonts from Omnibus-Type.

I have scripts and styling in place to help me catch common authoring errors. For instance, empty figures get placeholder images automatically.

For more, see the custom elements and markup patterns I use on this site.

Content

Except where noted, I wrote and hold copyright to everything on this site. No large language models were used in its production.