File tree Expand file tree Collapse file tree 3 files changed +26
-0
lines changed Expand file tree Collapse file tree 3 files changed +26
-0
lines changed Original file line number Diff line number Diff line change
1
+ #[ doc = "Escapes characters that are not valid in HTML" ] ;
2
+
3
+ export mk_pass;
4
+
5
+ fn mk_pass ( ) -> pass {
6
+ desc_pass:: mk_pass ( "html_escape" , escape)
7
+ }
8
+
9
+ fn escape ( s : str ) -> str {
10
+ let s = str:: replace ( s, "&" , "&" ) ;
11
+ let s = str:: replace ( s, "<" , "<" ) ;
12
+ let s = str:: replace ( s, ">" , ">" ) ;
13
+ let s = str:: replace ( s, "\" " , """ ) ;
14
+ ret s;
15
+ }
16
+
17
+ #[ test]
18
+ fn test ( ) {
19
+ assert escape ( "<" ) == "<" ;
20
+ assert escape ( ">" ) == ">" ;
21
+ assert escape ( "&" ) == "&" ;
22
+ assert escape ( "\" " ) == """ ;
23
+ assert escape ( "<>&\" " ) == "<>&"" ;
24
+ }
Original file line number Diff line number Diff line change @@ -39,3 +39,4 @@ mod sort_item_type_pass;
39
39
mod reexport_pass;
40
40
mod par;
41
41
mod page_pass;
42
+ mod html_escape_pass;
Original file line number Diff line number Diff line change @@ -149,6 +149,7 @@ fn run(config: config::config) {
149
149
desc_to_brief_pass:: mk_pass ( ) ,
150
150
trim_pass:: mk_pass ( ) ,
151
151
unindent_pass:: mk_pass ( ) ,
152
+ html_escape_pass:: mk_pass ( ) ,
152
153
sort_item_name_pass:: mk_pass ( ) ,
153
154
sort_item_type_pass:: mk_pass ( ) ,
154
155
markdown_index_pass:: mk_pass ( config) ,
You can’t perform that action at this time.
0 commit comments