# Html Parser Rs ![Rust](https://img.shields.io/badge/language-Rust-orange.svg) ![License](https://img.shields.io/badge/license-MIT-blue.svg) `html-parser-rs` is a Rust crate for parsing HTML documents. It supports reading HTML documents in an event-based fashion. This allows you to receive events for different elements, attributes, and text content during the parsing process. ## Features - **Event-Based Parsing:** Receive events for different elements, attributes, and text content during parsing. ## Usage Add this crate to your `Cargo.toml` file: ```toml [dependencies] html-parser-rs = "0.1.0" ``` ```rs use html_parser_rs::Lexer; use std::fs; fn main() { let contents = fs::read_to_string("./examples/index.html") .expect("Failed to read file."); let mut lexer = Lexer::new(contents); for token in lexer.parse() { println!("{token:?}"); } } ``` ## Events - `StartElement(TAG_NAME)`: Triggered when an HTML element starts. - `EndElement(TAG_NAME)`: Triggered when an HTML element ends. - `TextContent(TEXT)`: Triggered when text content is encountered. - `Attribute(NAME, VALUE)`: Triggered when an attribute is encountered. ## Contributing Contributions are welcome! I would like you to contribute in this project. ## Roadmap This project is in its early stages, and there are many missing features that need implementation. Check the [Issues](/issues) section for a list of features, enhancements, and bug fixes that are planned. ## License This project is licensed under the MIT License - see the [LICENSE](/LICENSE.md) file for details.