File tree Expand file tree Collapse file tree 5 files changed +25
-5
lines changed Expand file tree Collapse file tree 5 files changed +25
-5
lines changed Original file line number Diff line number Diff line change @@ -71,6 +71,8 @@ struct PageLayout<'a> {
7171 display_krate_version_extra : & ' a str ,
7272}
7373
74+ pub ( crate ) use crate :: html:: render:: sidebar:: filters;
75+
7476pub ( crate ) fn render < T : Print , S : Print > (
7577 layout : & Layout ,
7678 page : & Page < ' _ > ,
Original file line number Diff line number Diff line change @@ -30,7 +30,7 @@ mod tests;
3030
3131mod context;
3232mod print_item;
33- mod sidebar;
33+ pub ( crate ) mod sidebar;
3434mod span_map;
3535mod type_layout;
3636mod write_shared;
Original file line number Diff line number Diff line change @@ -76,6 +76,22 @@ impl<'a> Link<'a> {
7676 }
7777}
7878
79+ pub ( crate ) mod filters {
80+ use crate :: { html:: escape:: EscapeBodyTextWithWbr , html:: render:: display_fn} ;
81+ use askama:: { Html , MarkupDisplay } ;
82+ use std:: fmt:: Display ;
83+ pub ( crate ) fn wrapped < T > ( v : T ) -> askama:: Result < MarkupDisplay < Html , impl Display > >
84+ where
85+ T : Display ,
86+ {
87+ let string = v. to_string ( ) ;
88+ Ok ( MarkupDisplay :: new_safe (
89+ display_fn ( move |f| EscapeBodyTextWithWbr ( & string) . fmt ( f) ) ,
90+ Html ,
91+ ) )
92+ }
93+ }
94+
7995pub ( super ) fn print_sidebar ( cx : & Context < ' _ > , it : & clean:: Item , buffer : & mut Buffer ) {
8096 let blocks: Vec < LinkBlock < ' _ > > = match * it. kind {
8197 clean:: StructItem ( ref s) => sidebar_struct ( cx, it, s) ,
Original file line number Diff line number Diff line change 9898 </ a > {# #}
9999 {% endif %}
100100 < 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 > {# #}
102102 {% if !display_krate_version_number.is_empty() %}
103103 < span class ="version "> {{+ display_krate_version_number}}</ span >
104104 {% endif %}
Original file line number Diff line number Diff line change 11{% if !title.is_empty() %}
22 < h2 class ="location "> {# #}
3- < a href ="# "> {{title_prefix}}{{title}}</ a > {# #}
3+ < a href ="# "> {{title_prefix}}{{title|wrapped|safe }}</ a > {# #}
44 </ h2 >
55{% endif %}
66< div class ="sidebar-elems ">
@@ -15,12 +15,14 @@ <h2 class="location"> {# #}
1515 {% for block in blocks %}
1616 {% if block.should_render() %}
1717 {% 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 > {# #}
1921 {% endif %}
2022 {% if !block.links.is_empty() %}
2123 < ul class ="block{% if !block.class.is_empty() +%} {{+block.class}}{% endif %} ">
2224 {% for link in block.links %}
23- < li > < a href ="#{{link.href|safe}} "> {{link.name}}</ a > </ li >
25+ < li > < a href ="#{{link.href|safe}} "> {{link.name|wrapped|safe }}</ a > </ li >
2426 {% endfor %}
2527 </ ul >
2628 {% endif %}
You can’t perform that action at this time.
0 commit comments