5 releases

0.1.4 Mar 1, 2025
0.1.3 Sep 20, 2023
0.1.2 Aug 8, 2023
0.1.1 May 8, 2021
0.1.0 Oct 24, 2020

#104 in Visualization

Download history 170/week @ 2025-03-23 124/week @ 2025-03-30 172/week @ 2025-04-06 159/week @ 2025-04-13 139/week @ 2025-04-20 82/week @ 2025-04-27 123/week @ 2025-05-04 154/week @ 2025-05-11 491/week @ 2025-05-18 78/week @ 2025-05-25 95/week @ 2025-06-01 102/week @ 2025-06-08 133/week @ 2025-06-15 145/week @ 2025-06-22 130/week @ 2025-06-29 121/week @ 2025-07-06

543 downloads per month
Used in 18 crates (4 directly)

MIT/Apache

300KB
7K SLoC

C 7K SLoC // 0.1% comments Rust 163 SLoC // 0.0% comments

Pikchr - Diagram renderer

Taken from the pikchr homepage:

Pikchr (pronounced like "picture") is a PIC-like markup language for diagrams in technical documentation. Pikchr is designed to be embedded in fenced code blocks of Markdown (or in similar mechanisms in other markup languages) to provide a convenient means of showing diagrams.

This crate wrappers the pikchr.c version downloaded from that website on the 28th February 2025.

You can use it as follows:

use pikchr::{Pikchr, PikchrFlags};

let piccy = Pikchr::render(
    diagram_str,
    None,
    PikchrFlags::default()).unwrap();

println!("{}", piccy);

There is a little helper program that reads a Pikchr file named on the command line and renders it as SVG to the standard output:

cargo run -p pikchr-cli -q foo.pikchr > foo.svg

You can install it with cargo install pikchr-cli (cargo install --path=pikchr-cli from the source tree).

Dependencies

~0.4–315KB