About


I’m a software developer from Belfast, currently living in the US of A 🗽.

This website serves as a portfolio of my projects, and a place to post content I find interesting or useful. It was generated using a custom static site generator, is currently hosted on GitHub pages, and built via GitHub actions.

I can be reached via email at contact [at] wasteofcyberspace.net or on GitHub at https://github.com/ZX-80.

USA Flag

Site Info


My first website was written in 2017 with raw HTML/CSS and has unfortunately been abandoned for many years (writing each page like that is no fun). This project started around 2023, as a spin-off from a djot parser I was writing for Python. I figured if I could turn simple documents like djot into HTML I might as well fix up my old website.

Features

  • Easily extensible via filters
    • Mermaid JS charts
    • GitHub style alerts
    • Syntax highlighting (580+ languages)
    • Tabs
    • Table of contents (TOC)
  • MathML support
  • Uses git to manage created / edited dates
  • Page metadata
  • Automatic anchors for page elements
  • Generated navigation bar with TOC
  • Supports 60+ document types as input

To speed up development, I’ve made use of some other libraries:

  • Pygments: Syntax highlighting for nearly 580+ languages.
  • Pandoc: Document to HTML conversion
  • Panflute: Easy editing of pandoc documents
  • dominate: HTML templating in Python

Building

Building is as simple as git push, after which a GitHub action will install and run the build script at https://github.com/ZX-80/Cyberspace, publishing to GitHub pages.

The build script itself will scan for css files, top-level source files (for the navigation bar), and filters. Then it will run each source file in the source directory through the following stages:

  1. Convert the document to a panflute document
  2. Apply filters one by one
  3. Convert the panflute document into the article HTML
  4. Wrap the article HTML to get the page HTML

Unless stated otherwise, all content on this site is published under CC-BY-SA. All code on this site is available under the MPL.