#css-parser #css #parser #style #parse-error

css_forge

为Rust提供的强大且高效的CSS解析库

1个不稳定版本

新功能 0.1.0 2024年8月12日

#67 in 解析工具

Download history 103/week @ 2024-08-10

103每月下载量

MIT许可证

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愉快地编写样式!🎨🚀

无运行时依赖