« get me outta code hell

content: transformContent: support [[site/media/root:path]] - 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>2023-08-08 21:01:15 -0300
committer(quasar) nebula <qznebula@protonmail.com>2023-08-08 21:01:15 -0300
commit42a81b7172c856ad611431ef7d7b468d5b1ffbfd (patch)
treeab343a6c25699b41c41ec369fa7a5ca69e793fe3
parent6645e6e8e0e58c59d1660767181bb32efbf7930a (diff)
content: transformContent: support [[site/media/root:path]]
-rw-r--r--src/content/dependencies/linkPathFromMedia.js13
-rw-r--r--src/content/dependencies/linkPathFromRoot.js13
-rw-r--r--src/content/dependencies/linkPathFromSite.js13
-rw-r--r--src/content/dependencies/transformContent.js6
4 files changed, 42 insertions, 3 deletions
diff --git a/src/content/dependencies/linkPathFromMedia.js b/src/content/dependencies/linkPathFromMedia.js
new file mode 100644
index 0000000..34a2b85
--- /dev/null
+++ b/src/content/dependencies/linkPathFromMedia.js
@@ -0,0 +1,13 @@
+export default {
+  contentDependencies: ['linkTemplate'],
+
+  relations: (relation) =>
+    ({link: relation('linkTemplate')}),
+
+  data: (path) =>
+    ({path}),
+
+  generate: (data, relations) =>
+    relations.link
+      .slot('path', ['media.path', data.path]),
+};
diff --git a/src/content/dependencies/linkPathFromRoot.js b/src/content/dependencies/linkPathFromRoot.js
new file mode 100644
index 0000000..dab3ac1
--- /dev/null
+++ b/src/content/dependencies/linkPathFromRoot.js
@@ -0,0 +1,13 @@
+export default {
+  contentDependencies: ['linkTemplate'],
+
+  relations: (relation) =>
+    ({link: relation('linkTemplate')}),
+
+  data: (path) =>
+    ({path}),
+
+  generate: (data, relations) =>
+    relations.link
+      .slot('path', ['shared.path', data.path]),
+};
diff --git a/src/content/dependencies/linkPathFromSite.js b/src/content/dependencies/linkPathFromSite.js
new file mode 100644
index 0000000..6467646
--- /dev/null
+++ b/src/content/dependencies/linkPathFromSite.js
@@ -0,0 +1,13 @@
+export default {
+  contentDependencies: ['linkTemplate'],
+
+  relations: (relation) =>
+    ({link: relation('linkTemplate')}),
+
+  data: (path) =>
+    ({path}),
+
+  generate: (data, relations) =>
+    relations.link
+      .slot('path', ['localized.path', data.path]),
+};
diff --git a/src/content/dependencies/transformContent.js b/src/content/dependencies/transformContent.js
index 9a135ee..625b137 100644
--- a/src/content/dependencies/transformContent.js
+++ b/src/content/dependencies/transformContent.js
@@ -129,9 +129,9 @@ const linkThingRelationMap = {
 };
 
 const linkValueRelationMap = {
-  // media: 'linkPathFromMedia',
-  // root: 'linkPathFromRoot',
-  // site: 'linkPathFromSite',
+  media: 'linkPathFromMedia',
+  root: 'linkPathFromRoot',
+  site: 'linkPathFromSite',
 };
 
 const linkIndexRelationMap = {