Skip to content

SteelCrab/rsmd

Repository files navigation

rsmd - Rust Markdown Viewer

A fast, simple markdown file viewer that renders .md files in your web browser.

Features

  • 🚀 Fast rendering - Built with Rust for maximum performance
  • 🎨 Clean styling - Beautiful, readable HTML output
  • 🌐 Web-based - View in any browser
  • Well-tested - Comprehensive unit tests
  • 🔧 Modular - Clean architecture with separated concerns

Installation

From Source

git clone <repository-url>
cd rsmd
cargo build --release

The binary will be available at target/release/rsmd.

From Release

Download pre-built binaries from the Releases page for:

  • Linux (x86_64)
  • macOS (x86_64 and Apple Silicon)

Usage

rsmd <markdown-file.md>

This will start a web server at http://127.0.0.1:3000.

  • View rendered markdown: http://127.0.0.1:3000/
  • View raw markdown: http://127.0.0.1:3000/raw

Example

cargo run --release sample.md

Then open your browser to http://127.0.0.1:3000.

Development

Build

cargo build          # Debug build
cargo build --release  # Release build

Test

cargo test           # Run all tests
cargo clippy         # Run linter
cargo fmt            # Format code

Project Structure

rsmd/
├── src/
│   ├── main.rs       # CLI entry point
│   ├── lib.rs        # Library root
│   ├── markdown.rs   # Markdown parsing
│   ├── html.rs       # HTML template generation
│   └── server.rs     # Web server and routing
├── .github/
│   └── workflows/
│       ├── ci.yml       # CI testing
│       ├── release.yml  # Release: build binaries on tags
│       ├── contributors.yml # Auto-update contributors
│       └── labeler.yml     # Auto-label PRs and issues
└── sample.md         # Example markdown file

CI/CD

Continuous Integration

Every push/PR to main runs automated checks:

Quality Checks:

  • ✅ Tests on all platforms (Ubuntu, macOS, Windows)
  • ✅ Clippy linter with -D warnings (strict mode)
  • ✅ Code formatting check with cargo fmt
  • ✅ Security audit (RustSec and cargo-deny)
  • ✅ Code coverage (minimum 80% required)

Build Matrix:

  • Linux x86_64 & ARM64
  • macOS ARM64 (Apple Silicon)
  • Windows x86_64

Releases

Create a release by pushing a version tag:

git tag v0.1.0
git push origin v0.1.0

This automatically builds and publishes binaries for all supported platforms.

Contributors

All Contributors

Utkarsh9571
Utkarsh9571

💻 🚇
Arghya Sarkar
Arghya Sarkar

💻 🚇
pista
pista

📝 🚧 🚇 💻 ⚠️ 🌍 🔧 👀 📦 🧑‍🏫

Thanks goes to these wonderful people!

To contribute, comment on an issue or PR with:

@all-contributors please add @username for <contribution type>

Contribution types: code, docs, bug, feature, design, infra, maintenance, test, etc.

Contributing

We welcome PRs! Please read the Contributing Guidelines to understand the branching workflow, required checks, and expectations before opening a pull request.

License

MIT

About

A blazing-fast Markdown viewer written in Rust — clean, secure, and optimized for web rendering.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7