@@ -38,27 +38,26 @@ class Website is export {
38
38
# | collect metadata for all example files
39
39
method collect-all-metadata {
40
40
for $ ! categories . categories-list <- > $ category {
41
- my $ category-key = $ category . key ;
42
- my @ files = files-in-category($ category-key , base-dir => $ ! base-categories-dir );
43
- for @ files -> $ file {
44
- my $ example = self . collect-example-metadata($ file , $ category-key );
45
- $ category . examples{$ file . basename } = $ example ;
46
- }
41
+ self . collect-category-metadata($ category , $ ! base-categories-dir );
47
42
if $ category . subcategories {
48
43
for $ category . subcategories. categories-list <- > $ subcategory {
49
- my $ subcategory-key = $ subcategory . key ;
50
- my $ base-dir = $ ! base-categories-dir ~ " /" ~ $ category-key ;
51
- my @ files = files-in-category($ subcategory-key ,
52
- base-dir => $ base-dir );
53
- for @ files -> $ file {
54
- my $ example = self . collect-example-metadata($ file , $ subcategory-key );
55
- $ subcategory . examples{$ file . basename } = $ example ;
56
- }
44
+ my $ base-dir = $ ! base-categories-dir ~ " /" ~ $ category . key ;
45
+ self . collect-category-metadata($ subcategory , $ base-dir );
57
46
}
58
47
}
59
48
}
60
49
}
61
50
51
+ # | collect metadata for a given category
52
+ method collect-category-metadata ($ category , $ category-dir ) {
53
+ my $ category-key = $ category . key ;
54
+ my @ files = files-in-category($ category-key , base-dir => $ category-dir );
55
+ for @ files -> $ file {
56
+ my $ example = self . collect-example-metadata($ file , $ category-key );
57
+ $ category . examples{$ file . basename } = $ example ;
58
+ }
59
+ }
60
+
62
61
# | collect metadata for a given example
63
62
method collect-example-metadata ($ file , $ category-key ) {
64
63
say " Collecting metadata from $ file" ;
0 commit comments