Web/main/scripts/blog.js
Ell 6bde3c4ff8
Some checks failed
Web/pipeline/head There was a failure building this commit
silently convert the entire website to jekyll
2021-07-09 01:59:28 +02:00

37 lines
No EOL
1.2 KiB
JavaScript

$("#blog-archive-button").on("click", function () {
let archive = $('#blog-archive');
archive.toggle();
$(this).html((archive.is(":visible") ? "Hide" : "Show") + " archived posts");
});
$(".blog-cat-button").on("click", function () {
let tag = $(this).attr("id");
openCategory(tag);
history.replaceState(null, null, `#blog-${tag}`);
});
let category = window.location.hash.match(/#blog-(.+)/);
openCategory(category && decodeURI(category[1]));
function openCategory(name) {
// if there are no tags that match our name, we display featured
if (!name || $(`#blog-${name}`).length <= 0)
name = "featured";
let all = name == "all";
// toggle post visibilites
$(".blog-entry").each(function () {
let e = $(this);
if (all || e.hasClass(`blog-tag-${name}`)) {
e.show();
} else {
e.hide();
}
});
// show or hide "no archived posts" text
$("#no-archived-posts").attr("hidden", all || $("#blog-archive").children(`.blog-tag-${name}`).length > 0);
// disable the shown category's button
$(`.blog-cat-button`).each(function () {
$(this).attr("disabled", $(this).attr("id") == name);
});
}