Markdown to HTML Parser in Rust
A simple, lightweight library for converting Markdown to HTML, written in pure, safe Rust. This project aims to provide a straightforward and easy-to-use package for your Rust applications
✨ Features
Currently, the following Markdown syntax is supported:
- Headings (
#,##,###, etc.) - Bold text (
**text**) - Italic text (
*text*) - Links (
[display text](url)) - Unordered Lists (
- list item)
🏛️ Architecture
The conversion process happens in three main stages:
- Lexing: The input Markdown string is scanned and broken down into a sequence of "tokens". For example,
**hello**becomes[BoldStart, Text("hello"), BoldEnd]. - Parsing: The sequence of tokens is converted into a hierarchical structure called an Abstract Syntax Tree (AST). This tree represents the document's structure (e.g., a paragraph containing bold text).
- Rendering: The AST is traversed, and for each node in the tree, the corresponding HTML is generated.
🚀 Usage
-
Add this library to your project's
Cargo.toml:[] = "0.1.0" -
Use the
to_htmlfunction in your code:// main.rs extern crate markdown_to_html_parser;
What's New in 0.1.0
- Initial release of the
markdown-to-html-parsercrate! - Added support for basic Markdown features like headings, bold, italic, links, and unordered lists.
Examples
Here are a few examples of the conversion in action.
Input:
This is a paragraph with **bold** and *italic* text. Here is a [link to GitHub](https://github.com).
- -
Output:
Main Title
This is a paragraph with bold and italic text. Here is a link to GitHub.
First list item
Second list item
🤝 Contributing
This project is under active development. Contributions, issues, and feature requests are welcome!