1class BlogPostsWidget{constructor(t){this.widgetId=t,this.loadMoreButton=document.querySelector(`.blog-posts-load-more[data-widget-id="${t}"]`),this.loadMoreButton&&this.init()}init(){this.loadMoreButton.addEventListener("click",this.handleLoadMore.bind(this))}handleLoadMore(){const t=parseInt(this.loadMoreButton.getAttribute("data-posts-per-load"))||3,e=parseInt(this.loadMoreButton.getAttribute("data-total-loaded"))||0,o=document.getElementById("hidden-posts-data-"+this.widgetId);if(!o)return;const s=JSON.parse(o.innerHTML),a=s.slice(0,t),d=document.getElementById("blog-posts-container-"+this.widgetId);if(!d)return;const i=s.slice(t),n=e+a.length;this.loadMoreButton.setAttribute("data-total-loaded",n),this.appendPosts(a,d),o.innerHTML=JSON.stringify(i),0===i.length&&(this.loadMoreButton.style.display="none")}appendPosts(t,e){t.forEach((t=>{const o=document.createElement("article");o.className="blog-post "+(t.is_featured?"blog-post--featured":"");let s="";t.is_featured&&(s+='<span class="blog-post__featured-badge">Featured</span>'),t.show_image&&t.featured_image&&(s+='<a href="'+t.permalink+'" class="blog-post__image-link"><div class="blog-post__image" style="background-image: url(\''+t.featured_image+"')\"></div></a>"),s+='<div class="blog-post__content">',s+='<div class="blog-post__meta">',t.show_date&&(s+='<span class="blog-post__date">'+t.date+"</span>"),t.show_author&&(s+='<span class="blog-post__meta-separator"> | </span>',s+='<span class="blog-post__author">'+t.author+"</span>"),s+="</div>",s+='<h3 class="blog-post__title">',s+='<a href="'+t.permalink+'">'+t.title+"</a>",s+="</h3>",s+='<div class="blog-post__footer">',t.show_category&&t.category&&(s+='<span class="blog-post__category">'+t.category+"</span>"),t.show_reading_time&&(s+='<span class="blog-post__reading-time">'+t.reading_time+" min read</span>"),s+="</div>",s+="</div>",o.innerHTML=s,e.appendChild(o)}))}}window.blogPostsWidgets={},document.addEventListener("DOMContentLoaded",(function(){document.querySelectorAll(".blog-posts-load-more").forEach((t=>{const e=t.getAttribute("data-widget-id");e&&(window.blogPostsWidgets[e]=new BlogPostsWidget(e))}))}));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.