Dead simple desktop Markdown viewer built with Rust.
- Linux backend: GTK3 + WebKit2GTK
- Windows backend: wry + WebView2
- Open Markdown files from a simple in-window menu bar.
- Open/close/toggle/quit with keyboard shortcuts (works well on i3/minimal WMs).
- Render Markdown as HTML in a desktop window.
- GitHub-inspired Markdown styling.
- Baseline hardening for untrusted files (HTML sanitization + JavaScript disabled).
- Toggle light/dark theme from the menu bar.
- Close currently opened file without quitting the app.
cargo runOpen a file directly from CLI:
cargo run -- /path/to/file.mdRelease binary:
cargo build --release
./target/release/dustrownShortcuts:
Ctrl+Oopen fileCtrl+Wclose fileCtrl+Dtoggle light/darkCtrl+Qquit
This app uses GTK3 + WebKit2GTK on Linux. Install runtime/dev packages for your distro.
For Debian/Ubuntu-like systems (example package names):
sudo apt install libwebkit2gtk-4.1-dev libgtk-3-devPackage names vary by distribution.
Windows backend requires WebView2 runtime (usually present on modern Windows 10/11).
Menus are rendered inside the app window and do not depend on desktop/global menu integrations.
This repository includes a cross-platform release workflow at .github/workflows/release.yml.
- Builds release artifacts for:
- Linux
x86_64-unknown-linux-gnu - Windows
x86_64-pc-windows-msvc
- Linux
- Trigger options:
- push a tag matching
v*(for examplev0.2.0) - run manually with GitHub Actions
workflow_dispatch
- push a tag matching
- Release artifacts produced:
dustrown-linux-x86_64.tar.gzdustrown-windows-x86_64.zip
git tag v0.2.0
git push origin v0.2.0When the tag workflow completes, GitHub Release assets are attached automatically.
