diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2023-07-27 12:58:56 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2023-07-27 12:58:56 -0300 |
commit | df93623c48f9ce32fe7fac8344512836f7fe345b (patch) | |
tree | 32fbb9f0c1e33674b4e852a15785146b29bb08de /src | |
parent | 377a9804116e8931e6335a0e0f1025b06d15cf69 (diff) |
content: generateListingPage: listStyle slot (un/ordered)
Diffstat (limited to 'src')
-rw-r--r-- | src/content/dependencies/generateListingPage.js | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/content/dependencies/generateListingPage.js b/src/content/dependencies/generateListingPage.js index c01d3b35..af93954e 100644 --- a/src/content/dependencies/generateListingPage.js +++ b/src/content/dependencies/generateListingPage.js @@ -65,10 +65,20 @@ export default { chunkTitles: {validate: v => v.strictArrayOf(v.isObject)}, chunkRows: {validate: v => v.strictArrayOf(v.isObject)}, + listStyle: { + validate: v => v.is('ordered', 'unordered'), + default: 'unordered', + }, + content: {type: 'html'}, }, generate(data, relations, slots, {html, language}) { + const listTag = + (slots.listStyle === 'ordered' + ? 'ol' + : 'ul'); + return relations.layout.slots({ title: language.$(`listingPage.${data.stringsKey}.title`), headingMode: 'sticky', @@ -99,7 +109,7 @@ export default { })), slots.type === 'rows' && - html.tag('ul', + html.tag(listTag, slots.rows.map(row => html.tag('li', language.$(`listingPage.${data.stringsKey}.item`, row)))), @@ -119,7 +129,7 @@ export default { }), html.tag('dd', - html.tag('ul', + html.tag(listTag, rows.map(row => html.tag('li', language.$(`listingPage.${data.stringsKey}.chunk.item`, row))))), |