website/layouts/partials/js_paginator.html

48 lines
1.7 KiB
HTML

<script>
function renderTags(tags) {
if (tags.length <= 0) return '';
let res = `| <span title='{{ i18n "tags" | safeJS }}'> </span>`;
for (let tag of tags) {
// regular space
res += `<a href="/tags/${tag}">#${tag}</a>&#32;`;
}
return res;
}
function renderImage(image) {
if (!image) return '';
return `<img src="${image}" />`
}
function renderSingleArticle(article) {
return `
<article class="card postlistitem {{ if .Site.Params.discreteCards }}discrete{{ end }}">
<div>
<h2>
<a href="${article.link}">${article.title}</a>
</h2>
<p class="date">
<span title='{{ i18n "date" | safeJS }}'> </span>
${article.date}
{{ if (.Site.Params.tagsInArticlePreview | default true) }}
${renderTags(article.tags)}
{{ end }}
</p>
{{ if .Site.Params.imageInArticlePreview }}
${renderImage(article.image)}
{{end}}
{{ if (site.Params.articleSummary | default true) }}
<div class="articlePreview">
<p>${article.summary}</p>
<p><a href="${article.link}">{{ i18n "continueReading" | safeJS }} </a></p>
</div>
{{ end }}
</div>
<hr />
</article>
`;
}
function renderArticles(articles) {
let rendered = articles.map(a => renderSingleArticle(a)).join('\n');
document.getElementById('postlist').innerHTML += rendered;
}
</script>