From 92ca9a8341de261dec5ebe597ae3109abc4212ab Mon Sep 17 00:00:00 2001 From: SqrtMinusOne Date: Sun, 26 Jun 2022 21:57:33 +0300 Subject: [PATCH] fix: images & resize TOC --- scripts/publish-configs.el | 6 +++++- static/js/dynamic-toc.js | 21 ++++++++++++++++++--- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/scripts/publish-configs.el b/scripts/publish-configs.el index 353156d..42453e9 100644 --- a/scripts/publish-configs.el +++ b/scripts/publish-configs.el @@ -55,7 +55,11 @@ file)) file 'overwrite)) -;; (copy-directory (expand-file-name "~/dot-stats/img") "dot-stats/img" t t) +(copy-directory + (expand-file-name + (format "%s/repos/dotfiles/dot-imgs/" + (vc-find-root default-directory ".git"))) + "dot-imgs" t t) (dolist (file my/config-files) (with-temp-buffer diff --git a/static/js/dynamic-toc.js b/static/js/dynamic-toc.js index eb31840..2292873 100644 --- a/static/js/dynamic-toc.js +++ b/static/js/dynamic-toc.js @@ -5,7 +5,7 @@ let currentActiveLinkId = null; let elemsToHide = []; let linksById = {}; -let headerObserver; +let headerObserver = null; function observeHeadings() { const links = document.querySelectorAll(`#${tocId} a`); @@ -94,10 +94,25 @@ function showHeadings() { } } +function setUpObserver() { + if (document.documentElement.clientWidth >= (750 + 350 + 25)) { + if (headerObserver === null) { + observeHeadings(); + observeButtons(); + } + } else { + if (headerObserver !== null) { + headerObserver.disconnect(); + headerObserver = null; + showHeadings(); + } + } +} + window.addEventListener("load", (event) => { if ("IntersectionObserver" in window) { - observeHeadings(); - observeButtons(); + setUpObserver(); + window.addEventListener("resize", setUpObserver); } });