@@ -4,16 +4,16 @@ use std::fmt::Write;
4
4
use std:: path:: PathBuf ;
5
5
6
6
use memoize:: memoize;
7
- use rari_types:: fm_types:: { FeatureStatus , PageType } ;
7
+ use rari_types:: fm_types:: PageType ;
8
8
use rari_types:: globals:: { cache_content, deny_warnings} ;
9
9
use rari_types:: locale:: Locale ;
10
10
11
11
use super :: l10n:: l10n_json_data;
12
12
use super :: titles:: api_page_title;
13
13
use crate :: error:: DocError ;
14
+ use crate :: html:: links:: { render_internal_link, LinkModifier } ;
14
15
use crate :: pages:: page:: { Page , PageLike , PageReader } ;
15
16
use crate :: redirects:: resolve_redirect;
16
- use crate :: templ:: templs:: badges:: { write_deprecated, write_experimental, write_non_standard} ;
17
17
use crate :: utils:: COLLATOR ;
18
18
use crate :: walker:: walk_builder;
19
19
@@ -71,41 +71,43 @@ pub fn write_li_with_badges(
71
71
} else {
72
72
page
73
73
} ;
74
- out. extend ( [
75
- "<li>" ,
76
- r#"<a href=""# ,
74
+ out. push_str ( "<li>" ) ;
75
+ render_internal_link (
76
+ out ,
77
77
locale_page. url ( ) ,
78
- r#"">"# ,
79
- if code { "<code>" } else { "" } ,
78
+ None ,
80
79
& html_escape:: encode_safe ( locale_page. short_title ( ) . unwrap_or ( locale_page. title ( ) ) ) ,
81
- if code { "</code>" } else { "" } ,
82
- "</a>" ,
83
- ] ) ;
84
- add_inline_badges ( out, page, locale) ?;
80
+ None ,
81
+ & LinkModifier {
82
+ badges : page. status ( ) ,
83
+ badge_locale : locale,
84
+ code,
85
+ only_en_us : locale_page. locale ( ) != locale,
86
+ } ,
87
+ ) ?;
85
88
if closed {
86
89
write ! ( out, "</li>" ) ?;
87
90
}
88
91
Ok ( ( ) )
89
92
}
90
93
91
- pub fn add_inline_badges ( out : & mut String , page : & Page , locale : Locale ) -> Result < ( ) , DocError > {
92
- if page. status ( ) . contains ( & FeatureStatus :: Experimental ) {
93
- write_experimental ( out, locale) ?;
94
- }
95
- if page. status ( ) . contains ( & FeatureStatus :: NonStandard ) {
96
- write_non_standard ( out, locale) ?;
97
- }
98
- if page. status ( ) . contains ( & FeatureStatus :: Deprecated ) {
99
- write_deprecated ( out, locale) ?;
100
- }
101
- Ok ( ( ) )
102
- }
103
-
104
94
pub fn write_parent_li ( out : & mut String , page : & Page , locale : Locale ) -> Result < ( ) , DocError > {
105
- let title = l10n_json_data ( "Template" , "overview" , locale) ?;
106
- write ! ( out, "<li><a href=\" {}\" >{}</a>" , page. url( ) , title) ?;
107
- add_inline_badges ( out, page, locale) ?;
108
- write ! ( out, "</li>" ) ?;
95
+ let content = l10n_json_data ( "Template" , "overview" , locale) ?;
96
+ out. push_str ( "<li>" ) ;
97
+ render_internal_link (
98
+ out,
99
+ page. url ( ) ,
100
+ None ,
101
+ content,
102
+ None ,
103
+ & LinkModifier {
104
+ badges : page. status ( ) ,
105
+ badge_locale : locale,
106
+ code : false ,
107
+ only_en_us : page. locale ( ) != locale,
108
+ } ,
109
+ ) ?;
110
+ out. push_str ( "</li>" ) ;
109
111
Ok ( ( ) )
110
112
}
111
113
0 commit comments