@@ -9,7 +9,6 @@ interface Props {
9
9
}
10
10
11
11
const { itemsByCategory, what } = Astro .props ;
12
- const categories = Object .keys (itemsByCategory );
13
12
const slugify = (str : string ) => str .replace (/ \s + / g , ' -' );
14
13
15
14
const categoryEmojis: Record <string , string > = {
@@ -115,21 +114,27 @@ function displayCategory(category: string) {
115
114
<section data-pagefind-ignore >
116
115
<h5 >Table of Contents</h5 >
117
116
<div class =" mtatoc-list" >
118
- { categories .map (category => (
117
+ { Object .keys (itemsByCategory ).sort ((a , b ) => a .localeCompare (b ))
118
+ .map (category => (
119
119
<div class = " mtatoc-item" >
120
120
<a href = { ` #${slugify (category )} ` } >{ displayCategory (category )} </a >
121
121
</div >
122
122
))}
123
123
</div >
124
124
125
125
126
- { Object .entries (itemsByCategory ).map (([category , items ]) => (
126
+ { Object .entries (itemsByCategory )
127
+ .sort (([a ], [b ]) => a .localeCompare (b ))
128
+ .map (([category , items ]) => (
127
129
<section id = { slugify (category )} >
128
130
<h4 >{ displayTitle (category )}
129
131
<a href = { ` #${slugify (category )} ` } ><Icon size = " 1.5rem" name = " external" class = " mtainfoicon" /></a >
130
132
</h4 >
131
133
<ul >
132
- { items .map (item => (
134
+ { items
135
+ .slice ()
136
+ .sort ((a , b ) => a .id .localeCompare (b .id ))
137
+ .map (item => (
133
138
<li set :html = { displayItem (item )} ></li >
134
139
))}
135
140
</ul >
0 commit comments