Tools
Some computer programs I have written. Since I actually use them, I guess they count as structured procrastination.
- pandoc
- a general markup converter, written in Haskell. I use this for all of my lecture notes, letters, slides, and websites.
- CommonMark
- a spec for a rationalized version of Markdown and reference implementations in C (cmark), JavaScript (commonmark.js), and Haskell (commonmark-hs).
- djot
- a new light markup syntax designed to be more coherent and full-featured than commonmark, with implementations in Lua and JavaScript.
- citeproc
- a Haskell library for generating a formatted bibliography and citations using the rules defined by a CSL stylesheet. There’s an online demo here.
- texmath
- a Haskell library for converting equations between LaTeX, MathML, OMML, and GNU eqn formats. There’s an online demo here.
- unicode-collation
- a pure Haskell library for correct multilingual sorting.
- lcmark
- a flexible CommonMark renderer in lua, with templates, YAML metadata, and filters.
- Babelmark 2
- a web app for comparing different markdown implementations.
- oyun-web
- a javascript-HTML implementation of Oyun.
- gitit
- a wiki program in Haskell, using git for file storage and history, and pandoc and skylighting for markup and page rendering. (See also: gitit’s git repository, gitit2.)
- yst
- a program that generates static websites (including this one!) from string templates and data in YAML or CSV files.
- skylighting
- a source code syntax highlighting library in Haskell. Parsers for different languages are automatically generated from Kate xml syntax definitions.
- filestore
- a generic interface to versioned storage for text or binary data, with backends for git and darcs.
- zip-archive
- a Haskell library for working with ZIP archives.
- lunamark
- a markdown to HTML and LaTeX converter written in lua, using a PEG grammar. A modified version of this is used in the LaTeX markdown package.
- peg-markdown
- an implementation of markdown in C, using a PEG (parsing expression grammar). (The peg-markdown code is also used in multimarkdown and rdoc.)
- GOGAR (game of giving and asking for reasons)
- a computer model of the scorekeeping dynamics in Robert Brandom’s Making It Explicit
- Truth table tutor
- an online truth table tutor, written in Haskell and Javascript.
- Navajo Lucida Sans font
- A TrueType font for the Navajo language. Just for historical interest: if you want to write Navajo now, I would recommend using a standard font that contains the Unicode glyphs needed, such as Noto Sans, and a Navajo keyboard layout, available here.
- cartargrapher
- a simple argument mapping app, made using JavaScript.