File tree 5 files changed +27
-4
lines changed
5 files changed +27
-4
lines changed Original file line number Diff line number Diff line change @@ -69,6 +69,8 @@ struct PageLayout<'a> {
69
69
display_krate_version_extra : & ' a str ,
70
70
}
71
71
72
+ pub ( crate ) use crate :: html:: render:: sidebar:: filters;
73
+
72
74
pub ( crate ) fn render < T : Print , S : Print > (
73
75
layout : & Layout ,
74
76
page : & Page < ' _ > ,
Original file line number Diff line number Diff line change @@ -30,7 +30,7 @@ mod tests;
30
30
31
31
mod context;
32
32
mod print_item;
33
- mod sidebar;
33
+ pub ( crate ) mod sidebar;
34
34
mod span_map;
35
35
mod type_layout;
36
36
mod write_shared;
Original file line number Diff line number Diff line change @@ -77,6 +77,25 @@ impl<'a> Link<'a> {
77
77
}
78
78
}
79
79
80
+ pub ( crate ) mod filters {
81
+ use std:: fmt:: Display ;
82
+
83
+ use askama:: { Html , MarkupDisplay } ;
84
+
85
+ use crate :: html:: escape:: EscapeBodyTextWithWbr ;
86
+ use crate :: html:: render:: display_fn;
87
+ pub ( crate ) fn wrapped < T > ( v : T ) -> askama:: Result < MarkupDisplay < Html , impl Display > >
88
+ where
89
+ T : Display ,
90
+ {
91
+ let string = v. to_string ( ) ;
92
+ Ok ( MarkupDisplay :: new_safe (
93
+ display_fn ( move |f| EscapeBodyTextWithWbr ( & string) . fmt ( f) ) ,
94
+ Html ,
95
+ ) )
96
+ }
97
+ }
98
+
80
99
pub ( super ) fn print_sidebar ( cx : & Context < ' _ > , it : & clean:: Item , buffer : & mut Buffer ) {
81
100
let blocks: Vec < LinkBlock < ' _ > > = match * it. kind {
82
101
clean:: StructItem ( ref s) => sidebar_struct ( cx, it, s) ,
Original file line number Diff line number Diff line change 98
98
</ a > {# #}
99
99
{% endif %}
100
100
< h2 > {# #}
101
- < a href ="{{page.root_path|safe}}{{display_krate_with_trailing_slash|safe}}index.html "> {{display_krate}}</ a > {# #}
101
+ < a href ="{{page.root_path|safe}}{{display_krate_with_trailing_slash|safe}}index.html "> {{display_krate|wrapped|safe }}</ a > {# #}
102
102
{% if !display_krate_version_number.is_empty() %}
103
103
< span class ="version "> {{+ display_krate_version_number}}</ span >
104
104
{% endif %}
Original file line number Diff line number Diff line change 1
1
{% if !title.is_empty() %}
2
2
< h2 class ="location "> {# #}
3
- < a href ="# "> {{title_prefix}}{{title}}</ a > {# #}
3
+ < a href ="# "> {{title_prefix}}{{title|wrapped|safe }}</ a > {# #}
4
4
</ h2 >
5
5
{% endif %}
6
6
< div class ="sidebar-elems ">
@@ -15,7 +15,9 @@ <h2 class="location"> {# #}
15
15
{% for block in blocks %}
16
16
{% if block.should_render() %}
17
17
{% if !block.heading.name.is_empty() %}
18
- < h3 > < a href ="#{{block.heading.href|safe}} "> {{block.heading.name}}</ a > </ h3 >
18
+ < h3 > < a href ="#{{block.heading.href|safe}} "> {# #}
19
+ {{block.heading.name|wrapped|safe}} {# #}
20
+ </ a > </ h3 > {# #}
19
21
{% endif %}
20
22
{% if !block.links.is_empty() %}
21
23
< ul class ="block{% if !block.class.is_empty() +%} {{+block.class}}{% endif %} ">
You can’t perform that action at this time.
0 commit comments