1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
//! ## JSS Rust //! Implementation of JSS for Rust. Use css styles without css with identical properties. //! *Part of Rise-UI project.* //! //! ### [Documentation](http://friktor.github.io/jss-rs/jss/index.html) //! //! ### Usage //! Add to your Cargo.toml. //! ``` toml //! [dependencies] //! jss = { git = "https://github.com/rise-ui/jss-rs" } //! ``` //! //! ``` rust //! extern crate jss; //! ``` //! //! #### Examples //! Simple JSON element parsing example //! //! ``` rust //! extern crate failure; //! extern crate jss; //! //! use jss::traits::*; //! use jss::types::*; //! //! fn main() -> Result<(), failure::Error> { //! let source = r#" //! { //! "borderTopRightRadius": 10, //! "borderTopStyle": "solid", //! "alignContent": "center", //! "borderTopWidth": 10, //! //! "filter": [ //! "blur(20)" //! ], //! "transform": [ //! "translate(10px,10%)", //! "rotate(40deg,15rad)" //! ] //! } //! "#; //! //! let style = StyleBuilder::default().source(source).parse()?; //! println!("{:#?}", style); //! //! Ok(()) //! } //! ``` //! //! Or if you need YAML... //! //! ``` rust //! extern crate failure; //! extern crate jss; //! //! use jss::traits::*; //! use jss::types::*; //! //! fn main() -> Result<(), failure::Error> { //! let source = r#" //! --- //! borderTopRightRadius: 10 //! borderTopStyle: solid //! alignContent: center //! borderTopWidth: 10 //! filter: //! - blur(20) //! transform: //! - translate(10px,10%) //! - rotate(40deg,15rad) //! "#; //! //! let style = StyleBuilder::default().source(source).source_type(SourceFormat::Yaml).parse()?; //! println!("{:#?}", style); //! //! Ok(()) //! } //! ``` #![feature(custom_attribute)] #![feature(concat_idents)] #![feature(never_type)] #![feature(try_from)] #[macro_use] extern crate failure_derive; #[macro_use] extern crate serde_derive; #[macro_use] extern crate jss_derive; #[macro_use] extern crate enum_extract; #[macro_use] extern crate lazy_static; #[macro_use] extern crate failure; #[macro_use] extern crate nom; #[macro_use] extern crate maplit; #[macro_use] mod macros; extern crate erased_serde; extern crate serde_json; extern crate serde_yaml; extern crate yaml_rust; extern crate serde; extern crate ordered_float; extern crate euclid; extern crate css_color_parser; extern crate interpolation; extern crate webrender; extern crate inflector; extern crate regex; extern crate yoga; extern crate eval; pub mod properties; pub mod animation; pub mod parser; pub mod traits; pub mod types; pub mod utils; mod convert;