' +
metaHTML + titleHTML + excerptHTML + rmHTML +
'
(function () { 'use strict'; function escHtml(str) { if (!str) return ''; return str.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); } function buildCardHTML(post, cfg) { var thumbHTML = ''; if (cfg.showImage && post.image) { thumbHTML = '
' + escHtml(post.excerpt) + '
'; } var rmHTML = ''; if (cfg.showReadMore) { var rmLabel = escHtml(cfg.rmLabel) + (cfg.rmStyle === 'arrow' ? ' →' : ''); rmHTML = '' + rmLabel + ''; } return '' + escHtml(cfg.noPosts) + '
'; return; } grid.innerHTML = posts.map(function (p) { return buildCardHTML(p, cfg); }).join(''); } function initPostGrid(wrap) { var d = wrap.dataset; var cfg = { postType: d.postType || 'post', orderby: d.orderby || 'date', order: d.order || 'desc', perPage: parseInt(d.perPage, 10) || 6, offset: parseInt(d.offset, 10) || 0, excerptLen: parseInt(d.excerptLen,10) || 20, showImage: d.showImage !== '0', showMeta: d.showMeta !== '0', showExcerpt:d.showExcerpt!== '0', showReadMore:d.showRm !== '0', rmLabel: d.rmLabel || 'Read More', rmStyle: d.rmStyle || 'link', noPosts: d.noPosts || 'No posts found.', hover: d.hover || 'zoom' }; var path = (window.blockenbergData && window.blockenbergData.restUrl) ? window.blockenbergData.restUrl + 'blockenberg/v1/post-grid' : '/wp-json/blockenberg/v1/post-grid'; var url = path + '?type=' + encodeURIComponent(cfg.postType) + '&orderby=' + encodeURIComponent(cfg.orderby) + '&order=' + encodeURIComponent(cfg.order) + '&per_page='+ cfg.perPage + '&offset=' + cfg.offset + '&excerpt_len=' + cfg.excerptLen; var grid = wrap.querySelector('.bkbg-pg-grid'); if (!grid) { grid = document.createElement('div'); grid.className = 'bkbg-pg-grid'; wrap.appendChild(grid); } grid.innerHTML = 'Failed to load posts.
'; }); } document.addEventListener('DOMContentLoaded', function () { document.querySelectorAll('.bkbg-pg-wrap').forEach(initPostGrid); }); })();