diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2022-07-02 15:21:24 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2022-07-02 15:21:24 -0300 |
commit | 9c11308ace82c024ddb0223d9ffeb742d86ad927 (patch) | |
tree | 8dd13e11c64b1e0a31b6a14b1e49a446a78c0921 /src/util | |
parent | 5e3042d2e37e835bffef477b4003aa323e1e66d8 (diff) |
htmlify album pages prettify-lint
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/html.js | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/util/html.js b/src/util/html.js index 0ba923b3..338df71b 100644 --- a/src/util/html.js +++ b/src/util/html.js @@ -20,11 +20,18 @@ export const selfClosingTags = [ 'wbr', ]; -// Pass to tag() as an attri8utes key to make tag() return a 8lank string -// if the provided content is empty. Useful for when you'll only 8e showing -// an element according to the presence of content that would 8elong there. +// Pass to tag() as an attributes key to make tag() return a 8lank string if the +// provided content is empty. Useful for when you'll only 8e showing an element +// according to the presence of content that would 8elong there. export const onlyIfContent = Symbol(); +// Pass to tag() as an attributes key to make children be joined together by the +// provided string. This is handy, for example, for joining lines by <br> tags, +// or putting some other divider between each child. Note this will only have an +// effect if the tag content is passed as an array of children and not a single +// string. +export const joinChildren = Symbol(); + export function tag(tagName, ...args) { const selfClosing = selfClosingTags.includes(tagName); @@ -59,7 +66,11 @@ export function tag(tagName, ...args) { } if (Array.isArray(content)) { - content = content.filter(Boolean).join('\n'); + const joiner = attrs?.[joinChildren]; + content = content.filter(Boolean).join( + (joiner + ? `\n${joiner}\n` + : '\n')); } if (content) { |