Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Install

afm ships as a single afm binary and as a Rust library. The two entry points share the same parser core, so a CLI run and a library embed produce identical HTML for the same input.

From GitHub Releases

Pre-built binaries for the following targets are published to GitHub Releases:

TargetArchive
x86_64-unknown-linux-gnu.tar.gz
x86_64-unknown-linux-musl.tar.gz
aarch64-apple-darwin.tar.gz
x86_64-apple-darwin.tar.gz
x86_64-pc-windows-msvc.zip

Each archive bundles the afm binary alongside LICENSE-MIT, LICENSE-APACHE, NOTICE, and README.md. A release-wide SHA256SUMS file is attached to the release for bulk verification:

# Replace vX.Y.Z with the release tag you want from the Releases page.
curl -L https://github.com/P4suta/afm/releases/download/vX.Y.Z/SHA256SUMS -o SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS
tar xzf afm-vX.Y.Z-x86_64-unknown-linux-gnu.tar.gz
afm-vX.Y.Z-x86_64-unknown-linux-gnu/afm --version

From source

git clone https://github.com/P4suta/afm
cd afm
just build-release

This produces target/release/afm. The build runs inside the dev Docker image per ADR-0002; the host does not need a Rust toolchain installed.

As a Rust library

afm is not on crates.io yet; depend on it directly by git URL:

[dependencies]
afm-markdown = { git = "https://github.com/P4suta/afm" }

See Library Usage for a minimal parse + render example.