added optional js powered search

This commit is contained in:
Gabriele Musco 2021-04-13 15:21:40 +02:00
parent cfad046bb8
commit f51db60b35
No known key found for this signature in database
GPG key ID: 8539FD3454380B83
8 changed files with 159 additions and 43 deletions

View file

@ -0,0 +1,44 @@
<script>
function renderTags(tags) {
if (tags.length <= 0) return '';
let res = '| <span title="tags"></span>';
for (let tag of tags) {
res += `<a href="/tags/${tag}">#${tag}</a>
`;
}
return res;
}
function renderImage(image) {
if (!image) return '';
return `<img src="${image}" />`
}
function renderSingleArticle(article) {
if (article.ignore) return '';
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="Date"></span>
${article.date}
${renderTags(article.tags)}
</p>
{{ if .Site.Params.imageInArticlePreview }}
${renderImage(article.image)}
{{end}}
<div class="articlePreview">
<p>${article.summary}</p>
<p><a href="${article.link}">Continue reading </a></p>
</div>
</div>
<hr />
</article>
`;
}
function renderArticles(articles) {
let rendered = articles.map(a => renderSingleArticle(a)).join('\n');
document.getElementById('postlist').innerHTML += rendered;
}
</script>