File tree Expand file tree Collapse file tree 1 file changed +78
-1
lines changed Expand file tree Collapse file tree 1 file changed +78
-1
lines changed Original file line number Diff line number Diff line change 1
1
# css-inline
2
- Inline CSS into style attributes
2
+ A crate for inlining CSS into HTML documents. When you send HTML emails you need to use "style" attributes instead of "style" tags.
3
+
4
+ For example, this HTML:
5
+
6
+ ``` html
7
+ <html >
8
+ <head >
9
+ <title >Test</title >
10
+ <style >
11
+ h1 , h2 { color :blue ; }
12
+ strong { text-decoration :none }
13
+ p { font-size :2px }
14
+ p .footer { font-size : 1px }
15
+ </style >
16
+ </head >
17
+ <body >
18
+ <h1 >Big Text</h1 >
19
+ <p >
20
+ <strong >Solid</strong >
21
+ </p >
22
+ <p class =" footer" >Foot notes</p >
23
+ </body >
24
+ </html >
25
+ ```
26
+
27
+ Will be turned into this:
28
+
29
+ ``` html
30
+ <html >
31
+ <head >
32
+ <title >Test</title >
33
+ </head >
34
+ <body >
35
+ <h1 style =" color :blue ;" >Big Text</h1 >
36
+ <p style =" font-size :2px ;" >
37
+ <strong style =" text-decoration :none ;" >Solid</strong >
38
+ </p >
39
+ <p style =" font-size :1px ;" >Foot notes</p >
40
+ </body >
41
+ </html >
42
+ ```
43
+
44
+ To use it in your project add the following line to your ` dependencies ` section in project's ` Cargo.toml ` file:
45
+
46
+ ``` toml
47
+ cssinline = " 0.1"
48
+ ```
49
+
50
+ ## Example:
51
+
52
+ ``` rust
53
+ use cssinline
54
+
55
+ const HTML : & str = r#"<html>
56
+ <head>
57
+ <title>Test </ title >
58
+ <style>
59
+ h1, h2 { color: blue; }
60
+ strong { text - decoration : none }
61
+ p { font - size : 2px }
62
+ p . footer { font - size : 1px }
63
+ </ style >
64
+ </ head >
65
+ <body >
66
+ <h1 >Big Text </ h1 >
67
+ <p >
68
+ <strong >Solid </ strong >
69
+ </ p >
70
+ <p class = " footer" >Foot notes </ p >
71
+ </ body >
72
+ </ html >" #;
73
+
74
+ fn main() -> Result<(), css_inline::InlineError> {
75
+ let inlined = css_inline::inline(HTML)?;
76
+ // Do something with inlined HTML, e.g. send an email
77
+ Ok(())
78
+ }
79
+ ```
You can’t perform that action at this time.
0 commit comments