2323import static java .lang .System .lineSeparator ;
2424import static java .nio .charset .StandardCharsets .UTF_8 ;
2525import static java .nio .file .FileVisitResult .CONTINUE ;
26+ import static java .util .Locale .ENGLISH ;
2627import static java .util .stream .Collectors .groupingBy ;
2728
2829public class generate_navigation {
@@ -77,7 +78,7 @@ public static void main(String... args) throws Exception {
7778 features .add (feature );
7879
7980 for (String category : categories ) {
80- categoriesMap .computeIfAbsent (category , c -> new TreeSet <>()).add (feature );
81+ categoriesMap .computeIfAbsent (category . toLowerCase ( ENGLISH ) , c -> new TreeSet <>()).add (feature );
8182 }
8283
8384 versionsMap .computeIfAbsent (version , v -> new TreeSet <>()).add (feature );
@@ -95,13 +96,13 @@ private static void generateIncludes(Path path, Map<String, ? extends Item> oute
9596 Files .createDirectories (pages );
9697
9798 for (Item o : outer .values ()) {
98- var index = pages .resolve (o .getId ()).resolve ("index.adoc" );
99+ var index = pages .resolve (o .getId (). toLowerCase ( ENGLISH ) ).resolve ("index.adoc" );
99100 Files .createDirectories (index .getParent ());
100- Files .write (index , ("include::" + outerLabel + ":partial$" + o .getId () + ".adoc[]" + lineSeparator ()).getBytes (UTF_8 ));
101+ Files .write (index , ("include::" + outerLabel + ":partial$" + o .getId (). toLowerCase ( ENGLISH ) + ".adoc[]" + lineSeparator ()).getBytes (UTF_8 ));
101102 for (Item i : inner .values ()) {
102- index = pages .resolve (o .getId ()) .resolve (i .getId ()).resolve ("index.adoc" );
103+ index = pages .resolve (o .getId (). toLowerCase ( ENGLISH )) .resolve (i .getId (). toLowerCase ( ENGLISH )).resolve ("index.adoc" );
103104 Files .createDirectories (index .getParent ());
104- Files .write (index , ("include::" + innerLabel + ":partial$" + i .getId () + ".adoc[]" + lineSeparator ()).getBytes (UTF_8 ));
105+ Files .write (index , ("include::" + innerLabel + ":partial$" + i .getId (). toLowerCase ( ENGLISH ) + ".adoc[]" + lineSeparator ()).getBytes (UTF_8 ));
105106 }
106107 }
107108 }
@@ -112,22 +113,23 @@ private static void generateNavigation(Path path, Map<String, Set<Feature>> data
112113
113114 for (Map .Entry <String , Set <Feature >> e : data .entrySet ()) {
114115 var classifier = e .getKey ();
116+ var normalizedClassifier = classifier .toLowerCase (ENGLISH );
115117 var features = e .getValue ();
116118
117- System .out .printf ("🔖 Generating %s%n" , classifier );
118- var index = path .resolve ("pages/" + classifier + "/index.adoc" );
119+ System .out .printf ("🔖 Generating %s%n" , normalizedClassifier );
120+ var index = path .resolve ("pages/" + normalizedClassifier + "/index.adoc" );
119121 // create page if it does not exist
120122 if (!Files .exists (index )) {
121123 Files .createDirectories (index .getParent ());
122124 Files .write (index , ("= " + classifier + lineSeparator ()).getBytes (UTF_8 ));
123125 }
124126
125127 indexNav .append ("** xref:" )
126- .append (classifier )
128+ .append (normalizedClassifier )
127129 .append ("/index.adoc[]" )
128130 .append (lineSeparator ());
129131
130- System .out .printf ("🔖 Generating %s/features%n" , classifier );
132+ System .out .printf ("🔖 Generating %s/features%n" , normalizedClassifier );
131133
132134 indexNav .append ("*** All" )
133135 .append (lineSeparator ());
@@ -136,15 +138,15 @@ private static void generateNavigation(Path path, Map<String, Set<Feature>> data
136138 var featureFilename = feature .path .getFileName ().toString ();
137139
138140 indexNav .append ("**** xref:" )
139- .append (classifier )
141+ .append (normalizedClassifier )
140142 .append ("/features/" )
141143 .append (featureFilename )
142144 .append ("[]" )
143145 .append (lineSeparator ());
144146
145147 // create partial
146- System .out .printf ("📝 Generating %s/features/%s%n" , classifier , featureFilename );
147- var partial = path .resolve ("pages/" + classifier + "/features/" + featureFilename );
148+ System .out .printf ("📝 Generating %s/features/%s%n" , normalizedClassifier , featureFilename );
149+ var partial = path .resolve ("pages/" + normalizedClassifier + "/features/" + featureFilename );
148150 Files .createDirectories (partial .getParent ());
149151 Files .write (partial , ("include::features:partial$" + featureFilename + "[]" + lineSeparator ()).getBytes (UTF_8 ));
150152 }
@@ -157,10 +159,10 @@ private static void generateNavigation(Path path, Map<String, Set<Feature>> data
157159 for (Map .Entry <String , List <Feature >> ve : versionedFeatures .entrySet ()) {
158160 String version = ve .getKey ();
159161
160- System .out .printf ("🔖 Generating %s/%s%n" , classifier , version );
162+ System .out .printf ("🔖 Generating %s/%s%n" , normalizedClassifier , version );
161163
162164 indexNav .append ("*** xref:" )
163- .append (classifier )
165+ .append (normalizedClassifier )
164166 .append ("/" )
165167 .append (version )
166168 .append ("/index.adoc[]" )
@@ -179,8 +181,8 @@ private static void generateNavigation(Path path, Map<String, Set<Feature>> data
179181 .append (lineSeparator ());
180182
181183 // create partial
182- System .out .printf ("📝 Generating %s/%s/%s%n" , classifier , version , featureFilename );
183- var partial = path .resolve ("pages/" + classifier + "/" + version + "/" + featureFilename );
184+ System .out .printf ("📝 Generating %s/%s/%s%n" , normalizedClassifier , version , featureFilename );
185+ var partial = path .resolve ("pages/" + normalizedClassifier + "/" + version + "/" + featureFilename );
184186 Files .createDirectories (partial .getParent ());
185187 Files .write (partial , ("include::features:partial$" + featureFilename + "[]" + lineSeparator ()).getBytes (UTF_8 ));
186188 }
@@ -189,13 +191,13 @@ private static void generateNavigation(Path path, Map<String, Set<Feature>> data
189191 var categorized = new TreeMap <String , Set <Feature >>();
190192 for (Feature feature : features ) {
191193 for (String category : feature .categories ) {
192- categorized .computeIfAbsent (category , k -> new TreeSet <>())
194+ categorized .computeIfAbsent (category . toLowerCase ( ENGLISH ) , k -> new TreeSet <>())
193195 .add (feature );
194196 }
195197 }
196198
197199 for (Map .Entry <String , Set <Feature >> k : categorized .entrySet ()) {
198- var category = k .getKey ();
200+ var category = k .getKey (). toLowerCase ( ENGLISH ) ;
199201
200202 System .out .printf ("🔖 Generating %s/%s%n" , classifier , category );
201203
@@ -261,7 +263,7 @@ private static <I extends Item> void copyPartials(Collection<I> items, String ti
261263 .append (lineSeparator ());
262264 for (Item item : items ) {
263265 content .append ("* xref:" )
264- .append (item .getId ())
266+ .append (item .getId (). toLowerCase ( ENGLISH ) )
265267 .append ("/index.adoc[]" )
266268 .append (lineSeparator ());
267269 }
@@ -412,7 +414,7 @@ private String asSummary() {
412414 var category = categories [i ];
413415 if (i > 0 ) b .append (", " );
414416 b .append ("xref:categories:" )
415- .append (category )
417+ .append (category . toLowerCase ( ENGLISH ) )
416418 .append ("/index.adoc[]" );
417419 }
418420 b .append (lineSeparator ());
0 commit comments