Crates.io | bem |
lib.rs | bem |
version | 0.2.7 |
source | src |
created_at | 2023-08-09 10:11:10.541378 |
updated_at | 2023-08-15 14:49:17.02274 |
description | Parser for the BEM file format (Block, Element, Modifier) |
homepage | http://vortex.design |
repository | https://github.com/vortex-design/bem |
max_upload_size | |
id | 939956 |
size | 82,255 |
A Rust-based parser for the BEM (Block Element Modifier) file format, utilizing the Pest parsing library.
This parser provides functionality to parse BEM notations, primarily used in CSS methodologies for naming classes in HTML. With this parser, you can interpret and work with BEM notations programmatically in Rust.
Ensure you have Rust and Cargo installed:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Here's a simple example to parse a BEM formatted string:
use bem::parse;
let input = "block[mod1,mod2]\nelement1\nelement2[mod3]";
let bem_block = parse(input).unwrap();
// You can now access `bem_block.name`, `bem_block.modifiers`, and `bem_block.elements`.
The parse
function returns a Result<BEMBlock, String>
, allowing you to handle parsing errors explicitly. Here's an example:
let input = "block[mod1,mod2]\nelement1\nelement2[mod3]";
match parse(input) {
Ok(bem_block) => {
// Process the parsed block
},
Err(error) => {
println!("Failed to parse BEM content: {}", error);
}
}
Find the documentation for your installed version at https://docs.rs/bem/VERSION/bem/, replacing VERSION
with your installed version number.
Feel free to open issues or pull requests if you have suggestions, improvements, or fixes.
MIT License. See LICENSE for details.