File tree 3 files changed +14
-15
lines changed
3 files changed +14
-15
lines changed Original file line number Diff line number Diff line change @@ -107,12 +107,8 @@ impl<'a> Paginator<'a> {
107
107
paginate_reversed : false ,
108
108
root : PaginationRoot :: Taxonomy ( taxonomy, item) ,
109
109
permalink : item. permalink . clone ( ) ,
110
- path : format ! ( "/{}/{}/" , taxonomy. slug, item. slug) ,
111
- paginate_path : taxonomy
112
- . kind
113
- . paginate_path
114
- . clone ( )
115
- . unwrap_or_else ( || "page" . to_string ( ) ) ,
110
+ path : item. path . clone ( ) ,
111
+ paginate_path : taxonomy. kind . paginate_path ( ) . to_owned ( ) ,
116
112
is_index : false ,
117
113
template : template. to_string ( ) ,
118
114
} ;
Original file line number Diff line number Diff line change @@ -92,24 +92,19 @@ pub fn find_entries<'a>(
92
92
if !taxonomy. kind . render {
93
93
continue ;
94
94
}
95
- let name = & taxonomy. kind . name ;
96
- entries. insert ( SitemapEntry :: new ( Cow :: Owned ( config. make_permalink ( name) ) , & None ) ) ;
95
+ entries. insert ( SitemapEntry :: new ( Cow :: Borrowed ( & taxonomy. permalink ) , & None ) ) ;
97
96
98
97
for item in & taxonomy. items {
99
- entries. insert ( SitemapEntry :: new (
100
- Cow :: Owned ( config. make_permalink ( & format ! ( "{}/{}" , name, item. slug) ) ) ,
101
- & None ,
102
- ) ) ;
98
+ entries. insert ( SitemapEntry :: new ( Cow :: Borrowed ( & item. permalink ) , & None ) ) ;
103
99
104
100
if taxonomy. kind . is_paginated ( ) {
105
101
let number_pagers = ( item. pages . len ( ) as f64
106
102
/ taxonomy. kind . paginate_by . unwrap ( ) as f64 )
107
103
. ceil ( ) as isize ;
108
104
for i in 1 ..=number_pagers {
109
105
let permalink = config. make_permalink ( & format ! (
110
- "{}/{}/{}/{}" ,
111
- name,
112
- item. slug,
106
+ "{}{}/{}/" ,
107
+ item. path,
113
108
taxonomy. kind. paginate_path( ) ,
114
109
i
115
110
) ) ;
Original file line number Diff line number Diff line change @@ -169,6 +169,14 @@ fn can_build_multilingual_site() {
169
169
assert ! ( file_contains!( public, "fr/tags/index.html" , "bonjour" ) ) ;
170
170
assert ! ( !file_contains!( public, "fr/tags/index.html" , "hello" ) ) ;
171
171
172
+ // sitemap contains per-language taxonomies
173
+ assert ! ( file_contains!( public, "sitemap.xml" , "https://example.com/tags/" ) ) ;
174
+ assert ! ( file_contains!( public, "sitemap.xml" , "https://example.com/tags/hello/" ) ) ;
175
+ assert ! ( file_contains!( public, "sitemap.xml" , "https://example.com/fr/tags/" ) ) ;
176
+ assert ! ( file_contains!( public, "sitemap.xml" , "https://example.com/fr/tags/bonjour/" ) ) ;
177
+
178
+ assert ! ( !file_contains!( public, "sitemap.xml" , "https://example.com/tags/bonjour" ) ) ;
179
+
172
180
// one lang index per language
173
181
assert ! ( file_exists!( public, "search_index.en.js" ) ) ;
174
182
assert ! ( file_exists!( public, "search_index.it.js" ) ) ;
You can’t perform that action at this time.
0 commit comments