#markdown-parser #syntax #syntax-parser #rendering

bin+lib snekdown

A parser for the custom snekdown markdown syntax

93 releases (32 breaking)

0.33.4 Apr 13, 2021
0.33.3 Jan 24, 2021
0.32.1 Jan 17, 2021
0.32.0 Dec 17, 2020
0.18.2 Jul 30, 2020

#1853 in Text processing

Download history 2/week @ 2025-08-29

131 downloads per month

GPL-3.0 license

245KB
5K SLoC

Snekdown

More than just Markdown



Documentation | Releases


Description

This projects goal is to implement a fast markdown parser with an extended syntax fitted for my needs.

Core Features

  • Imports
  • Bibliography & Glossary
  • AsciiMath
  • Placeholders
  • Advanced Images

Prerequisites

  • Google Chrome/Chromium (for PDF rendering)

Installation

Binaries

You can download prebuilt binaries on the Releases Page.

Arch Linux

Snekdown is available in the AUR.

Cargo

You need a working rust installation, for example by using rustup.

cargo install snekdown

With pdf rendering

cargo install snekdown --features pdf

Usage

Use snekdown help and snekdown <subcommand> --help for more information.

Rendering

snekdown render <input> <output>

Watching

snekdown watch <input> <output>

Editors

I've created a VisualStudio Code extension for Snekdown. This extension provides a preview of snekdown files, exports and other commands similar to the cli. The source code can be found here.

Roadmap

The end goal is to have a markup language with features similar to LaTeX.

Short Term

  • Checkboxes
  • Emojis (:emoji:)
  • Colors
  • Watching and rendering on change
  • Metadata files
  • Bibliography
  • Math
  • Glossary
  • Chromium based pdf rendering
  • Custom Stylesheets
  • Smart arrows
  • Cross References
  • Figures
  • EPUB Rendering
  • Text sizes
  • Title pages

Long Term

  • Rewrite of the whole parsing process
  • Custom Elements via templates

License

This project is licensed under GPL 3.0. See LICENSE for more information.

Dependencies

~26–48MB
~694K SLoC