diff --git a/best-cigars-guide/blocks/article-list/article-list.css b/best-cigars-guide/blocks/article-list/article-list.css new file mode 100644 index 0000000..a477efe --- /dev/null +++ b/best-cigars-guide/blocks/article-list/article-list.css @@ -0,0 +1,31 @@ +.cards > ul { + list-style: none; + margin: 0; + padding: 0; + display: grid; + grid-template-columns: repeat(auto-fill, minmax(278px, 1fr)); + grid-gap: 16px; +} + +.cards > ul > li { + border: 1px solid var(--dark-color); + background-color: var(--background-color) +} + +.cards .cards-card-body { + margin: 16px; +} + +.cards .cards-card-image { + line-height: 0; +} + +.cards .cards-card-body > *:first-child { + margin-top: 0; +} + +.cards > ul > li img { + width: 100%; + aspect-ratio: 4 / 3; + object-fit: cover; +} diff --git a/best-cigars-guide/blocks/article-list/article-list.js b/best-cigars-guide/blocks/article-list/article-list.js new file mode 100644 index 0000000..58993b1 --- /dev/null +++ b/best-cigars-guide/blocks/article-list/article-list.js @@ -0,0 +1,18 @@ +import { createOptimizedPicture } from '../../scripts/aem.js'; + +export default function decorate(block) { + /* change to ul, li */ + const ul = document.createElement('ul'); + [...block.children].forEach((row) => { + const li = document.createElement('li'); + while (row.firstElementChild) li.append(row.firstElementChild); + [...li.children].forEach((div) => { + if (div.children.length === 1 && div.querySelector('picture')) div.className = 'cards-card-image'; + else div.className = 'cards-card-body'; + }); + ul.append(li); + }); + ul.querySelectorAll('img').forEach((img) => img.closest('picture').replaceWith(createOptimizedPicture(img.src, img.alt, false, [{ width: '750' }]))); + block.textContent = ''; + block.append(ul); +} diff --git a/best-cigars-guide/icons/best-cigars-guide.png b/best-cigars-guide/icons/best-cigars-guide.png new file mode 100644 index 0000000..3687b1c Binary files /dev/null and b/best-cigars-guide/icons/best-cigars-guide.png differ diff --git a/tools/importer/import-category.js b/tools/importer/import-category.js new file mode 100644 index 0000000..b004cf2 --- /dev/null +++ b/tools/importer/import-category.js @@ -0,0 +1,76 @@ +const createMetadataBlock = (main, document) => { + const meta = {}; + + // find the