diff options
| author | (quasar) nebula <qznebula@protonmail.com> | 2025-10-23 18:18:26 -0300 |
|---|---|---|
| committer | (quasar) nebula <qznebula@protonmail.com> | 2025-10-23 18:19:16 -0300 |
| commit | f41f72314b32fd62d940631a310b573d41fd346f (patch) | |
| tree | 673c0517d45795ffe5b14bdbd064d90b6e0761fe /src | |
| parent | 9cbfd12db65406eaf755f98295ec8086aca65aaf (diff) | |
language: preserve and surface lone-item templates
Diffstat (limited to 'src')
| -rw-r--r-- | src/data/things/language.js | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/data/things/language.js b/src/data/things/language.js index 91774761..43f69f3d 100644 --- a/src/data/things/language.js +++ b/src/data/things/language.js @@ -354,13 +354,19 @@ export class Language extends Thing { partInProgress += template.slice(lastIndex, match.index); - for (const insertionItem of html.smush(insertion).content) { + const insertionItems = html.smush(insertion).content; + if (insertionItems.length === 1 && typeof insertionItems[0] !== 'string') { + // Push the insertion exactly as it is, rather than manipulating. + if (partInProgress) outputParts.push(partInProgress); + outputParts.push(insertion); + partInProgress = ''; + } else for (const insertionItem of insertionItems) { if (typeof insertionItem === 'string') { // Join consecutive strings together. partInProgress += insertionItem; } else { // Push the string part in progress, then the insertion as-is. - outputParts.push(partInProgress); + if (partInProgress) outputParts.push(partInProgress); outputParts.push(insertionItem); partInProgress = ''; } |