1个不稳定版本
新功能 0.1.0 | 2024年8月12日 |
---|
#67 in 解析工具
103每月下载量
12KB
246 行
css_forge
为Rust提供的强大且高效的CSS解析库
🚀 功能
选择器解析
:解析复杂的CSS选择器,包括类、ID和属性选择器。属性解析
:轻松解析CSS属性及其值。值解析
:解析各种CSS值类型,包括颜色、长度等。错误处理
:优雅地处理解析错误,如无效选择器和意外标记。
📦 安装
要使用css_forge
,将以下内容添加到您的Cargo.toml中
[dependencies]
css_forge = "0.1.0"
用法
1. 基本解析示例
以下是使用css_forge解析简单CSS片段的方法
use css_forge::parser::Parser;
use css_forge::css::Stylesheet;
fn main() {
let input = r#"
.container {
width: 100%;
max-width: 1200px;
}
p { color: #333; }
"#.to_string();
let mut parser = Parser::new(input);
match parser.parse() {
Ok(stylesheet) => println!("Parsed Stylesheet: {:?}", stylesheet),
Err(err) => eprintln!("Parsing error: {:?}", err),
}
}
2. 处理错误
css_forge在解析过程中优雅地处理常见错误
use css_forge::{parser::Parser, errors::CssParseError};
fn main() {
let input = ".invalid-selector { color: }".to_string();
let mut parser = Parser::new(input);
match parser.parse() {
Err(CssParseError::InvalidSelector) => eprintln!("Error: Invalid CSS selector"),
Err(CssParseError::InvalidValue) => eprintln!("Error: Invalid property value"),
Ok(stylesheet) => println!("Parsed Stylesheet: {:?}", stylesheet),
Err(err) => eprintln!("Other parsing error: {:?}", err),
}
}
👥 贡献
欢迎贡献!请随意打开问题、提交拉取请求或分叉仓库以进行改进。
📝 许可证
此库是开源的,可在MIT许可证下使用。
使用css_forge愉快地编写样式!🎨🚀