summaryrefslogtreecommitdiff
path: root/posts/post.js
diff options
context:
space:
mode:
Diffstat (limited to 'posts/post.js')
-rw-r--r--posts/post.js84
1 files changed, 0 insertions, 84 deletions
diff --git a/posts/post.js b/posts/post.js
deleted file mode 100644
index 233739f..0000000
--- a/posts/post.js
+++ /dev/null
@@ -1,84 +0,0 @@
-
-function main() {
-
- // Gather the used set of tags
- const tagSet = new Set();
- const postList = [];
- const tagContainers = document.getElementsByClassName('sitemap_tag');
- for (let index = 0; index < tagContainers.length; index++) {
- const container = tagContainers[index];
- const pContainer = container.children[0];
- if (!pContainer) {
- continue;
- }
-
- const tagText = pContainer.textContent.trim();
- const tagList = tagText.split(',').map(tag => tag.trim());
-
- // Replace the text content with styled tag badges
- pContainer.innerHTML = '';
- tagList.forEach(tag => {
- if (tag) {
- tagSet.add(tag);
- const tagBadge = document.createElement('span');
- tagBadge.className = 'post-tag';
- tagBadge.textContent = tag;
- pContainer.appendChild(tagBadge);
- }
- });
-
- postList.push({
- container: container.parentElement,
- tagList: tagList,
- enabled: tagList.length
- });
- }
-
- // Create the tag container
- const contentContainer = document.getElementById('content');
- const tagContainer = document.createElement('div');
- tagContainer.id = 'tag-filter-container';
- contentContainer.before(tagContainer);
-
- for (const tag of tagSet) {
- const tagElement = document.createElement('div');
- tagElement.className = "tag-filter-item";
- const tagElementLabel = document.createElement('span');
- tagElementLabel.innerHTML = tag;
- tagElement.append(tagElementLabel);
- tagContainer.append(tagElement);
-
- // Whenever a tag is clicked, execute the filtering behavior
- tagElement.onclick = function() {
- if (tagElement.classList.contains('disabled')) {
- tagElement.classList.remove('disabled');
-
- // Filter
- postList.forEach(post => {
- if (post.tagList.includes(tag)) {
- post.enabled++;
-
- if (post.enabled) {
- post.container.style.display = 'list-item';
- }
- }
- });
- }
- else {
- tagElement.classList.add('disabled');
-
- // Filter
- postList.forEach(post => {
- if (post.tagList.includes(tag)) {
- post.enabled--;
- if (!post.enabled) {
- post.container.style.display = 'none';
- }
- }
- });
- }
- };
- }
-}
-
-window.onload = main;