29 releases (18 breaking)
0.19.0 | Dec 17, 2024 |
---|---|
0.18.0 | Sep 26, 2024 |
0.17.0 | Jul 3, 2024 |
0.14.0 | Mar 26, 2024 |
0.1.3 | Mar 24, 2022 |
#33 in GUI
15,613 downloads per month
Used in 39 crates
(8 directly)
90KB
2K
SLoC
A commonmark viewer for egui
While this crate's main focus is commonmark, it also supports a subset of Github's markdown syntax: tables, strikethrough, tasklists and footnotes.
Usage
In Cargo.toml:
egui_commonmark = "0.19"
# Specify what image formats you want to use
image = { version = "0.25", default-features = false, features = ["png"] }
use egui_commonmark::*;
let markdown =
r"# Hello world
* A list
* [ ] Checkbox
";
let mut cache = CommonMarkCache::default();
CommonMarkViewer::new().show(ui, &mut cache, markdown);
Compile time evaluation of markdown
If you want to embed markdown directly the binary then you can enable the macros
feature.
This will do the parsing of the markdown at compile time and output egui widgets.
Example
use egui_commonmark::{CommonMarkCache, commonmark};
let mut cache = CommonMarkCache::default();
let _response = commonmark!(ui, &mut cache, "# ATX Heading Level 1");
Alternatively you can embed a file
Example
use egui_commonmark::{CommonMarkCache, commonmark_str};
let mut cache = CommonMarkCache::default();
commonmark_str!(ui, &mut cache, "content.md");
Features
macros
: macros for compile time parsing of markdownbetter_syntax_highlighting
: Syntax highlighting inside code blocks withsyntect
svg
: Support for viewing svg imagesfetch
: Images with urls will be downloaded and displayed
Examples
For an easy intro check out the hello_world
example. To see all the different
features egui_commonmark has to offer check out the book
example.
FAQ
URL is not displayed when hovering over a link
By default egui does not show urls when you hover hyperlinks. To enable it, you can do the following before calling any ui related functions:
ui.style_mut().url_in_tooltip = true;
MSRV Policy
This crate uses the same MSRV as the latest released egui version.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Dependencies
~6–17MB
~237K SLoC