From 3c98e89daad1e312907c6f5f614b44b38f65408e Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Mon, 9 Feb 2026 17:28:21 -0400 Subject: data, content, html: FlashAct.nameHTML --- ...nerateArtistInfoPageAlbumArtistOnlyChunkItem.js | 12 +++++++++++ src/content/dependencies/generateContentEntry.js | 9 ++++---- .../dependencies/generateFlashActGalleryPage.js | 13 +++++++----- .../generateFlashActSidebarSideMapBox.js | 2 +- src/content/dependencies/generateUnsafeMunchy.js | 8 -------- src/content/dependencies/linkFlashAct.js | 21 ++++++++++--------- src/content/dependencies/linkFlashActInline.js | 24 ++++++++++++++++++++++ 7 files changed, 61 insertions(+), 28 deletions(-) create mode 100644 src/content/dependencies/generateArtistInfoPageAlbumArtistOnlyChunkItem.js delete mode 100644 src/content/dependencies/generateUnsafeMunchy.js create mode 100644 src/content/dependencies/linkFlashActInline.js (limited to 'src/content/dependencies') diff --git a/src/content/dependencies/generateArtistInfoPageAlbumArtistOnlyChunkItem.js b/src/content/dependencies/generateArtistInfoPageAlbumArtistOnlyChunkItem.js new file mode 100644 index 00000000..314813f5 --- /dev/null +++ b/src/content/dependencies/generateArtistInfoPageAlbumArtistOnlyChunkItem.js @@ -0,0 +1,12 @@ +export default { + relations: (relation) => ({ + template: + relation('generateArtistInfoPageChunkItem'), + }), + + generate: (relations, {language}) => + relations.template.slots({ + content: + language.$('artistPage.creditList.entry.album.albumArtistOnly'), + }), +}; diff --git a/src/content/dependencies/generateContentEntry.js b/src/content/dependencies/generateContentEntry.js index 7712d9f6..80a155fe 100644 --- a/src/content/dependencies/generateContentEntry.js +++ b/src/content/dependencies/generateContentEntry.js @@ -29,8 +29,9 @@ export default { }), data: (entry) => ({ - isWikiEditorCommentary: - entry.isWikiEditorCommentary, + isWikiEditorEntry: + entry.isWikiEditorCommentary || + entry.isWikiEditorSource, }), slots: { @@ -89,7 +90,7 @@ export default { html.tag('span', {class: 'content-entry-accent'}, language.$(titleCapsule, 'accent.withAnnotation', {annotation})); - if (data.isWikiEditorCommentary) { + if (data.isWikiEditorEntry) { workingCapsule += '.wikiEditor'; } } @@ -106,7 +107,7 @@ export default { relations.colorStyle.clone() .slot('color', slots.color), - data.isWikiEditorCommentary && + data.isWikiEditorEntry && {class: 'wiki-commentary'}, relations.bodyContent.slot('mode', 'multiline')), diff --git a/src/content/dependencies/generateFlashActGalleryPage.js b/src/content/dependencies/generateFlashActGalleryPage.js index 896ee224..4097d765 100644 --- a/src/content/dependencies/generateFlashActGalleryPage.js +++ b/src/content/dependencies/generateFlashActGalleryPage.js @@ -1,5 +1,3 @@ -import striptags from 'striptags'; - export default { relations: (relation, act) => ({ layout: @@ -9,7 +7,7 @@ export default { relation('linkFlashIndex'), flashActNavLink: - relation('linkFlashAct', act), + relation('linkFlashActInline', act), flashActNavAccent: relation('generateFlashActNavAccent', act), @@ -31,18 +29,23 @@ export default { data: (act) => ({ name: act.name, + nameHTML: act.nameHTML, color: act.color, flashNames: act.flashes.map(flash => flash.name), }), - generate: (data, relations, {language}) => + generate: (data, relations, {html, language}) => language.encapsulate('flashPage', pageCapsule => relations.layout.slots({ title: language.$(pageCapsule, 'title', { - flash: striptags(data.name), + flash: + html.ifelse([ + html.permit(data.nameHTML, {strip: true}), + language.sanitize(data.name), + ]), }), color: data.color, diff --git a/src/content/dependencies/generateFlashActSidebarSideMapBox.js b/src/content/dependencies/generateFlashActSidebarSideMapBox.js index 4b97f21d..7cae184f 100644 --- a/src/content/dependencies/generateFlashActSidebarSideMapBox.js +++ b/src/content/dependencies/generateFlashActSidebarSideMapBox.js @@ -17,7 +17,7 @@ export default { sideActLinks: sprawl.flashSideData .map(side => side.acts - .map(act => relation('linkFlashAct', act))), + .map(act => relation('linkFlashActInline', act))), }), data: (sprawl, act, flash) => ({ diff --git a/src/content/dependencies/generateUnsafeMunchy.js b/src/content/dependencies/generateUnsafeMunchy.js deleted file mode 100644 index df8231ef..00000000 --- a/src/content/dependencies/generateUnsafeMunchy.js +++ /dev/null @@ -1,8 +0,0 @@ -export default { - slots: { - contentSource: {type: 'string'}, - }, - - generate: (slots, {html}) => - new html.Tag(null, null, slots.contentSource), -}; diff --git a/src/content/dependencies/linkFlashAct.js b/src/content/dependencies/linkFlashAct.js index 069bedf4..dcad71e0 100644 --- a/src/content/dependencies/linkFlashAct.js +++ b/src/content/dependencies/linkFlashAct.js @@ -1,20 +1,21 @@ export default { relations: (relation, flashAct) => ({ - unsafeMunchy: - relation('generateUnsafeMunchy'), - link: relation('linkThing', 'localized.flashActGallery', flashAct), }), data: (flashAct) => ({ - name: flashAct.name, + name: + flashAct.name, + + nameHTML: + flashAct.nameHTML, }), - generate: (data, relations) => - relations.link.slots({ - content: - relations.unsafeMunchy - .slot('contentSource', data.name), - }), + generate: (data, relations, {html, language}) => + relations.link.slot('content', + html.ifelse([ + html.permit(data.nameHTML), + language.sanitize(data.name), + ])), }; diff --git a/src/content/dependencies/linkFlashActInline.js b/src/content/dependencies/linkFlashActInline.js new file mode 100644 index 00000000..ba2a4883 --- /dev/null +++ b/src/content/dependencies/linkFlashActInline.js @@ -0,0 +1,24 @@ +// junk component which only exists because you can't +// "extend" the slots of underlying linkThing. + +export default { + relations: (relation, flashAct) => ({ + link: + relation('linkThing', 'localized.flashActGallery', flashAct), + }), + + data: (flashAct) => ({ + name: + flashAct.name, + + nameHTML: + flashAct.nameHTML, + }), + + generate: (data, relations, {html, language}) => + relations.link.slot('content', + html.ifelse([ + html.permit(data.nameHTML, {inline: true}), + language.sanitize(data.name), + ])), +}; -- cgit 1.3.0-6-gf8a5