6 releases (1 stable)
Uses new Rust 2024
| new 1.0.0 | Jan 15, 2026 |
|---|---|
| 0.1.4 | Nov 15, 2025 |
| 0.1.3 | Oct 31, 2025 |
#843 in Text processing
70KB
948 lines
mdbook-qr
An mdBook preprocessor that generates and embeds a QR code for your book, powered by fast-qr.
It produces a PNG image during the build and replaces {{QR_CODE}} markers in chapters with an <img> tag pointing to the generated QR code.
Read the documentation here, to see the actual examples in action.
Features
- Generates PNG QR codes using
fast-qr - Structured configuration under
[preprocessor.qr]with sub-tables:- Configurable RGB/A or hex color options
- Optional fit width/height for the
<img>tag - Support for multiple module shapes (see Shapes)
- Adjustable quiet zone margin
- Supports custom named QR configurations under
[preprocessor.qr.custom.*](see Custom Configuration)
Installation
From crates.io:
cargo install mdbook-qr
From source (in this repository):
cargo install --path .
Ensure the mdbook-qr binary is available on your PATH.
Quick Start
Add to your book.toml:
[preprocessor.qr]
enable = true
url = "https://example.com"
qr-path = "src/qr.png"
margin = 2
background = "#FFFFFFFF"
module = "#000000FF"
[preprocessor.qr.fit]
width = 256
height = 256
[preprocessor.qr.shape]
circle = true
Then, in any Markdown file:
{{QR_CODE}}
During the build, this is replaced with:
<img src="./qr.png" alt="QR code" style="width:256px;height:256px;" loading="eager">
...and rendered as:
License
Licensed under the MIT License
Author
Dependencies
~19MB
~299K SLoC