knuthify
Set TeX words the way TeX sets them, client-side, with Knuth's exact metrics.
The Island of TeX maintains a growing set of libraries and Gradle plugins that power our own tools — and that are ready to power yours. Most of them are Kotlin Multiplatform libraries, usable from the JVM and beyond, alongside a small set of build tooling; they cover everything from reading TeX log files and parsing bibliographies to inspecting fonts and rendering diagrams. Browse the cards below, and take whatever is useful to your own projects.
Set TeX words the way TeX sets them, client-side, with Knuth's exact metrics.
A Java API for texdoc.
A Kotlin Multiplatform library for reading and analyzing TeX and ConTeXt log files.
A Kotlin Multiplatform library for fetching CTAN's JSON API, mapped to strongly typed data classes.
A Kotlin reimplementation of the SyncTeX file structure, based on the manpage and real-world output.
A faithful, tolerant BibTeX parser and model for Kotlin Multiplatform.
A Kotlin Multiplatform library for parsing SFNT-based fonts.
A JVM library that converts SVG to vector PDF with a small, fluent API.
A lightweight Kotlin/JVM library that converts Markdown to any output format via a small, type-safe DSL.
A small, idiomatic Kotlin/JVM client for Kroki, the HTTP service that turns plain-text diagram definitions into images.
A data filtering language for Kotlin with a natural-language approach to filtering.
A Kotlin/JVM library that embeds Lua via LuaJ behind a tiny, idiomatic DSL.
A Kotlin Multiplatform library with a DSL for creating Bats test scripts.
A Kotlin Multiplatform library with a DSL for writing troff manpages in structured Kotlin code.
A Kotlin/JVM library and Gradle plugin that inspects class files and jar archives and reports their Java versions.
A Gradle plugin that promotes an Unreleased section in Keep a Changelog to a versioned release.
A Gradle plugin that takes a JVM tool — jar, documentation, man page, sources — and produces the archives CTAN expects on submission.
A Gradle plugin for keeping copyright and attribution headers up to date.