« get me outta code hell

content, language: hardcode language.split{Con,Dis}junctionList - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2026-07-08 17:15:06 -0300
committer(quasar) nebula <qznebula@protonmail.com>2026-07-08 17:15:06 -0300
commitb4237cc22616618ebf3ded2c105f80a08ae123ad (patch)
tree097693614b4d656039dae0d0820a36f789a0f036
parentffe1f8cfc4fed1496224777b8ecd3f007c00d79f (diff)
content, language: hardcode language.split{Con,Dis}junctionList
-rw-r--r--src/content/dependencies/generateArtistCredit.js2
-rw-r--r--src/content/dependencies/generateExternalLinksLineOrList.js2
-rw-r--r--src/data/things/Language.js8
3 files changed, 10 insertions, 2 deletions
diff --git a/src/content/dependencies/generateArtistCredit.js b/src/content/dependencies/generateArtistCredit.js
index 17901338..3f6d1452 100644
--- a/src/content/dependencies/generateArtistCredit.js
+++ b/src/content/dependencies/generateArtistCredit.js
@@ -238,7 +238,7 @@ export default {
     if (slots.chunkwrap) {
       // TODO: This is obviously evil.
       return (
-        html.metatag('chunkwrap', {split: /,| (?=and)/},
+        html.metatag('chunkwrap', {split: language.splitConjunctionList},
           html.resolve(content)));
     } else {
       return content;
diff --git a/src/content/dependencies/generateExternalLinksLineOrList.js b/src/content/dependencies/generateExternalLinksLineOrList.js
index 3de3ba49..9ea16e77 100644
--- a/src/content/dependencies/generateExternalLinksLineOrList.js
+++ b/src/content/dependencies/generateExternalLinksLineOrList.js
@@ -78,7 +78,7 @@ export default {
     switch (style) {
       case 'line': return (
         html.tag('p',
-          html.metatag('chunkwrap', {split: /,/},
+          html.metatag('chunkwrap', {split: language.splitDisjunctionList},
             language.$(slots.string, {
               links:
                 language.formatDisjunctionList(externalLinks),
diff --git a/src/data/things/Language.js b/src/data/things/Language.js
index 8b8c78b7..e69c9493 100644
--- a/src/data/things/Language.js
+++ b/src/data/things/Language.js
@@ -23,6 +23,14 @@ import {flag, name} from '#composite/wiki-properties';
 const languageOptionRegex = /{(?<name>[A-Z0-9_]+)}/g;
 
 export class Language extends Thing {
+  static {
+    // TODO: Don't hard-code these. Oh, you know...
+    Object.assign(this.prototype, {
+      splitDisjunctionList: /,| (?=hoặc)/,
+      splitConjunctionList: /,| (?=and)/,
+    });
+  }
+
   static [Thing.getPropertyDescriptors] = () => ({
     // Update & expose