This is not a browser-grade CSS parser. If you need one, use cssparser + selectors.
Since it's very simple we will start with limitations:
- At-rules are not supported. They will be skipped during parsing.
- Property values are not parsed.
In CSS like
* { width: 5px }
you will get awidth
property with a5px
value as a string. - CDO/CDC comments are not supported.
- Parser is case sensitive. All keywords must be lowercase.
- Unicode escape, like
\26
, is not supported.
- Selector matching support.
- The rules are sorted by specificity.
!important
parsing support.- Has a high-level parsers and low-level, zero-allocation tokenizers.
- No unsafe.
This version of SimpleCSS has been verified to compile with Rust 1.65 and later.
Future versions of SimpleCSS might increase the Rust version requirement. It will not be treated as a breaking change and as such can even happen with small patch releases.
Click here if compiling fails.
As time has passed, some of SimpleCSS's dependencies could have released versions with a higher Rust requirement. If you encounter a compilation issue due to a dependency and don't want to upgrade your Rust toolchain, then you could downgrade the dependency.
# Use the problematic dependency's name and version
cargo update -p package_name --precise 0.1.1
Discussion of SimpleCSS development happens in the Linebender Zulip at https://xi.zulipchat.com/, specifically the #resvg channel. All public content can be read without logging in.
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contributions are welcome by pull request. The Rust code of conduct applies. Please feel free to add your name to the AUTHORS file in any substantive pull request.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.