A love letter to Iosevka.
Monoxide is an experimental project to build a monospaced typeface in Rust.
The immediate goal of monoxide is to create a typeface that can be used by its makers to code monoxide itself.
After all, who doesn't love the ouroboros?
So far, we have achieved the first working version of:
- A Rust-based eDSL to describe the typeface design.
- A backend that can generate real TTF files.
- A hot-reloadable playground powered by Axum and Vue to enable editing the design and previewing the results in real time.
- An expanding set of glyphs that will hopefully cover our basic programming needs soon™.
Please make sure you have the following installed on your machine:
- A recent Rust toolchain for most of the project.
dxv0.7+ is recommended for enabling live programming withsubsecond-based hotpatching. Whenever possible, use the samedxversion as monoxide'sdioxus-devtoolsdependency.
- PNPM for the JavaScript part of the project, namely the WebUI.
Launching the playground is as simple as:
> pnpm i
> cargo xtask devIf you want to develop the WebUI at the same time, run:
> cargo xtask dev --also-webuiAnd if you want to edit the Rust part outside of monoxide-font:
> cargo xtask dev --watchSee cargo xtask dev --help for more knobs to tweak.
To generate a TTF file from the current design, run:
> cargo runTo generate a static playground build for e.g. GitHub Pages, run:
> cargo xtask ssg