11 releases
0.2.8 | Feb 19, 2024 |
---|---|
0.2.7 | Feb 18, 2024 |
0.2.5 | Jan 17, 2023 |
0.2.4 | Dec 1, 2021 |
0.1.1 | Jan 20, 2019 |
#123 in Parser implementations
17,771 downloads per month
Used in 22 crates
(13 directly)
580KB
6.5K
SLoC
css-color
Parse color strings from CSS Color Module Level 4. All legacy sRGB forms are supported:
- RGB hexadecimal notations.
rgb()
andrgba()
functions.hsl()
andhsla()
functions.hwb()
function.- Named colors including the
transparent
keyword.
The none
keyword is supported. "Missing" color components behave identically to zero.
Usage
First, add this to your Cargo.toml
:
[dependencies]
css-color = "0.2.8"
Example
use css_color::Srgb;
fn main() {
let lime = Srgb::new(0., 1., 0., 1.);
assert_eq!(lime, "#0f0".parse().unwrap());
assert_eq!(lime, "rgb(0 255 0)".parse().unwrap());
assert_eq!(lime, "rgb(0% 100% 0%)".parse().unwrap());
assert_eq!(lime, "hsl(120deg 100% 50% / 100%)".parse().unwrap());
assert_eq!(lime, "hwb(120 0% 0% / 1)".parse().unwrap());
assert_eq!(lime, "lime".parse().unwrap());
}
Supported Rust Versions
The minimum supported Rust version is 1.55. Earlier versions may compile but parsing can reject certain valid numeric values.
License
This repository is 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
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 dual licensed as above, without any additional terms or conditions.