diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-03-31 17:43:33 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-04-10 16:02:36 -0300 |
commit | 05c3b2ad399081cac88c8ac7fddf233c01d79e98 (patch) | |
tree | 02b05c6247fbe6122b457985abc5de7e491a4ed2 /src/content/dependencies/generatePageLayout.js | |
parent | 015989924eadd401ae5932d634109a2f6b801666 (diff) |
content: cover-artwork, cover-art-column
Diffstat (limited to 'src/content/dependencies/generatePageLayout.js')
-rw-r--r-- | src/content/dependencies/generatePageLayout.js | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/content/dependencies/generatePageLayout.js b/src/content/dependencies/generatePageLayout.js index 7605c00d..f21aa00d 100644 --- a/src/content/dependencies/generatePageLayout.js +++ b/src/content/dependencies/generatePageLayout.js @@ -93,7 +93,7 @@ export default { mutable: false, }, - cover: { + coverColumnContent: { type: 'html', mutable: false, }, @@ -262,6 +262,17 @@ export default { ? data.canonicalBase + pagePathStringFromRoot : null); + const firstItemInCoverColumn = + html.smooth(slots.coverColumnContent) + .content[0]; + + const primaryCover = + (firstItemInCoverColumn && + html.resolve(firstItemInCoverColumn, {normalize: 'tag'}) + .attributes.has('class', 'cover-artwork') + ? firstItemInCoverColumn + : null); + const titleContentsHTML = (html.isBlank(slots.title) ? null @@ -279,7 +290,7 @@ export default { ? [ relations.stickyHeadingContainer.slots({ title: titleContentsHTML, - cover: slots.cover, + cover: primaryCover, }), relations.stickyHeadingContainer.clone().slots({ @@ -316,9 +327,9 @@ export default { [ titleHTML, - html.tag('div', {id: 'cover-art-container'}, + html.tag('div', {id: 'cover-art-column'}, {[html.onlyIfContent]: true}, - slots.cover), + slots.coverColumnContent), subtitleHTML, |