« get me outta code hell

content: generateColorStyleRules -> generateColorStyleTag - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2025-05-27 15:57:52 -0300
committer(quasar) nebula <qznebula@protonmail.com>2025-05-27 16:04:21 -0300
commitae93ab04d0775a5638a86adf2a71d067549456a3 (patch)
tree4235681c1ef85ccb2f4d51168b992a79dc2b71df /src
parented627b0723d49bae62e5534e749f6905542702aa (diff)
content: generateColorStyleRules -> generateColorStyleTag
Diffstat (limited to 'src')
-rw-r--r--src/content/dependencies/generateColorStyleTag.js (renamed from src/content/dependencies/generateColorStyleRules.js)23
-rw-r--r--src/content/dependencies/generatePageLayout.js12
2 files changed, 20 insertions, 15 deletions
diff --git a/src/content/dependencies/generateColorStyleRules.js b/src/content/dependencies/generateColorStyleTag.js
index c412b8f2..3b24fdfa 100644
--- a/src/content/dependencies/generateColorStyleRules.js
+++ b/src/content/dependencies/generateColorStyleTag.js
@@ -18,16 +18,19 @@ export default {
     },
   },
 
-  generate(data, relations, slots) {
-    const color = data.color ?? slots.color;
+  generate(data, relations, slots, {html}) {
+    const color =
+      data.color ?? slots.color;
 
     if (!color) {
-      return '';
+      return html.blank();
     }
 
-    return [
-      `:root {`,
-      ...(
+    const style =
+      html.tag('style', {class: 'color-style'},
+        {'data-color': color},
+
+        `:root {\n` +
         relations.variables
           .slots({
             color,
@@ -35,8 +38,10 @@ export default {
             mode: 'property-list',
           })
           .content
-          .map(line => line + ';')),
-      `}`,
-    ].join('\n');
+          .map(line => '    ' + line + ';\n')
+          .join('') +
+        `}`);
+
+    return style;
   },
 };
diff --git a/src/content/dependencies/generatePageLayout.js b/src/content/dependencies/generatePageLayout.js
index 2a4f5ae2..db5b0d71 100644
--- a/src/content/dependencies/generatePageLayout.js
+++ b/src/content/dependencies/generatePageLayout.js
@@ -3,7 +3,7 @@ import {atOffset, empty, repeat} from '#sugar';
 
 export default {
   contentDependencies: [
-    'generateColorStyleRules',
+    'generateColorStyleTag',
     'generateFooterLocalizationLinks',
     'generateImageOverlay',
     'generatePageSidebar',
@@ -60,8 +60,8 @@ export default {
         relation('transformContent', sprawl.footerContent);
     }
 
-    relations.colorStyleRules =
-      relation('generateColorStyleRules');
+    relations.colorStyleTag =
+      relation('generateColorStyleTag');
 
     relations.imageOverlay =
       relation('generateImageOverlay');
@@ -748,10 +748,10 @@ export default {
               href: to('staticCSS.path', 'site.css'),
             }),
 
-            html.tag('style', [
-              relations.colorStyleRules
-                .slot('color', slots.color ?? data.wikiColor),
+            relations.colorStyleTag
+              .slot('color', slots.color ?? data.wikiColor),
 
+            html.tag('style', [
               fallbackBackgroundStyleRule,
               goshFrigginDarnitStyleRule,
               slots.styleRules,