7 releases

new 0.3.0 Feb 16, 2025
0.2.1 Jan 3, 2025
0.2.0 Dec 30, 2024
0.1.3 Sep 1, 2024
0.1.2 Aug 22, 2024

#182 in GUI

MIT/Apache

1MB
5K SLoC

JavaScript 3.5K SLoC // 0.0% comments Rust 1.5K SLoC // 0.0% comments

🌋 Igneous-md

The simple and lightweight markdown framework / viewer written in rust

Igneous-md is a gfm compatible markdown viewer and viewer framework with a focus of staying lightweight and extensible

Features

  • Syntax highlighting similar to GitHub using highlight.js
  • Standalone markdown viewer outside browser
  • Switching of stylesheets on the fly
  • Ability to add custom CSS
  • Export generated HTML
  • Works offline

To-do

  • Introduce proper hot-reloading for the config

  • Make the viewer be able to re-attach to the server

  • Add support for markdown highlight notes

  • Fix bugs

  • Create packages

  • Write tests

  • Optimize performance

Usage

igneous-md view path/to/file.md

For more information see docs.md

A markdown viewer Framework?

Yes. It's simpler than it sounds.

Since igneous-md works by using a server in the background and then communicates with the built-in viewer, as well as the browser, using https and websockets anyone could use this to write their own viewer.

The benefits of this being you would receive all of the hot-reloading and conversion from md to html for free, while having full freedom to implement your viewer however they would like.

The only real limitation on this is what the websocket json-protocol is written to support. (PRs welcome)

This aspect of igneous-md is still experimental, but if you already want to get started check out ./crates/igneous-md/src/handlers/ws.rs and have a look at what is possible right now.

If you want to only use igneous-md for this be sure to disable the viewer cargo feature.

Attribution

Many thanks to all the people, who have created/contributed to technology used in the creation this project.

GitHub for their markdown styling and markdown-alert icons.

License

This project is licensed under either of

at your option.

Dependencies

~24–60MB
~1M SLoC