Page loadedSkip to main content

thinker

thinker is a static site generator and the site it builds. Posts are written in a small markup that reads like a Unix manual page. The generator has zero external dependencies.

Visit website
  • Rust
  • Tooling
  • Writing
The thinker home page laid out like a manual page, with NAME and POSTS sections and a list of dated posts

The problem

I wanted a blog generator small enough to read in one sitting, with no dependency tree to keep patched, and posts that read as well in a terminal as in a browser.

How it works

  • Zero external dependencies: running cargo tree should list one crate, and that rule is written into the repository.
  • The markup grammar has a single definition in the source, and the writing rules are documented as a manual page of their own.
  • Every image must carry useful alt text, which doubles as how the image appears in a terminal.
  • A post can be published from a browser by adding a Markdown file on GitHub, with no local toolchain.
  • One command builds, tests and validates the site, and another installs the manual page.

Built with

  • Rust
  • Make
  • mandoc
  • Python