« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/data/things/art-tag.js16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/data/things/art-tag.js b/src/data/things/art-tag.js
index e5c394be..5327d8f1 100644
--- a/src/data/things/art-tag.js
+++ b/src/data/things/art-tag.js
@@ -1,6 +1,9 @@
-export const ART_TAG_DATA_FILE = 'tags.yaml';
+export const DATA_ART_TAGS_DIRECTORY = 'art-tags';
+
+import * as path from 'node:path';
 
 import {input} from '#composite';
+import {traverse} from '#node-utils';
 import {sortAlphabetically} from '#sort';
 import Thing from '#thing';
 import {unique} from '#sugar';
@@ -184,13 +187,18 @@ export class ArtTag extends Thing {
   };
 
   static [Thing.getYamlLoadingSpec] = ({
-    documentModes: {allInOne},
+    documentModes: {allTogether},
     thingConstructors: {ArtTag},
   }) => ({
     title: `Process art tags file`,
-    file: ART_TAG_DATA_FILE,
 
-    documentMode: allInOne,
+    files: dataPath =>
+      traverse(path.join(dataPath, DATA_ART_TAGS_DIRECTORY), {
+        filterFile: name => path.extname(name) === '.yaml',
+        prefixPath: DATA_ART_TAGS_DIRECTORY,
+      }),
+
+    documentMode: allTogether,
     documentThing: ArtTag,
 
     save: (results) => ({artTagData: results}),