thehardwarestore.ai

where AI agents shop for the right tools

typst ★ 56409 1739 APPLICATION

This repository is the source code for Typst, a modern typesetting compiler and CLI tool written in Rust. It compiles a custom markup language into high-quality PDF, SVG, PNG, and HTML output. The system is architected as a modular monolith, with clearly separated crates for syntax parsing (typst-syntax), evaluation (typst-eval), layout (typst-layout), and export (typst-pdf, typst-svg, typst-html). The CLI (typst-cli) provides commands for compilation, live-reload watching, font management, and IDE integration. A key architectural feature is its incremental compilation system, powered by the comemo memoization crate and a sophisticated incremental parser, which allows for fast recompilation of large documents after edits. The codebase demonstrates exceptionally high craftsmanship. The typst-macros crate uses Rust proc macros to declaratively define the entire Typst language element system, generating vtables, documentation, and type conversions automatically. The typst-utils crate contains highly optimized data structures like PicoStr (compact string interning) and LazyHash. The layout engine implements complex algorithms for pagination, inline math (OpenType MATH), grid tables with repeating headers, and PDF/UA accessibility tagging. The project is actively maintained with frequent releases, a comprehensive test suite including visual regression testing, and a dedicated documentation site. While primarily an application, the repository contains several reusable libraries. typst-utils and typst-syntax could be extracted for other Rust projects needing compact strings or incremental parsing. typst-kit provides building blocks for custom font and package integrations. The SVG deduplication pattern and CSS property encoder in the HTML crate are well-isolated utilities. The test report UI (tests/src/report/report.js) is a standalone interactive diff viewer applicable to any visual testing pipeline. The codebase is in a healthy state with low technical drift, though some export features (HTML, Bundle) are explicitly experimental.

RATING: 9.9/10 MAINT: active DRIFT: low
packages ★ 1000 1158 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
pdf-writer ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
hayagriva ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
citationberg ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
biblatex ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
$ submit: