snekdown
snekdown copied to clipboard
An extended markdown parser written in pure rust
Snekdown
More than just Markdown
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
- [x] Checkboxes
- [x] Emojis (:emoji:)
- [x] Colors
- [x] Watching and rendering on change
- [x] Metadata files
- [x] Bibliography
- [x] Math
- [x] Glossary
- [x] Chromium based pdf rendering
- [x] Custom Stylesheets
- [x] 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.