From 4e9a4a6483105d5eef1e3d769d6384c3af4ff4c9 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 21 Apr 2026 15:11:11 +0200 Subject: chore: adding files for agentic content writing --- themes/danix-xyz-hacker/assets/js/article-lazy.js | 34 +++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 themes/danix-xyz-hacker/assets/js/article-lazy.js (limited to 'themes/danix-xyz-hacker/assets/js') diff --git a/themes/danix-xyz-hacker/assets/js/article-lazy.js b/themes/danix-xyz-hacker/assets/js/article-lazy.js new file mode 100644 index 0000000..64ca862 --- /dev/null +++ b/themes/danix-xyz-hacker/assets/js/article-lazy.js @@ -0,0 +1,34 @@ +document.addEventListener('DOMContentLoaded', function () { + var timeline = document.querySelector('ol.timeline'); + if (!timeline) return; + + // Progressive enhancement: activates CSS hidden state + timeline.classList.add('js-lazy-timeline'); + + var items = Array.prototype.slice.call( + timeline.querySelectorAll('.timeline-item') + ); + + function reveal(item) { + item.classList.add('is-visible'); + } + + var observer = new IntersectionObserver( + function (entries) { + entries.forEach(function (entry) { + if (entry.isIntersecting) { + reveal(entry.target); + observer.unobserve(entry.target); + } + }); + }, + { + rootMargin: '-80px 0px 0px 0px', + threshold: 0.12, + } + ); + + items.forEach(function (item) { + observer.observe(item); + }); +}); -- cgit v1.2.3