From 14dfb92e712bd902ddafe91b17af2a7271a76772 Mon Sep 17 00:00:00 2001 From: liuzhihang Date: Tue, 25 Oct 2022 22:32:14 +0800 Subject: [PATCH] =?UTF-8?q?js=20=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/assets/js/heo.js | 433 +++++---------- templates/assets/js/main.js | 901 +++++++------------------------ templates/assets/js/utils.js | 273 +++------- templates/assets/zhheo/blogex.js | 736 ++++++++----------------- templates/modules/head.html | 25 +- 5 files changed, 617 insertions(+), 1751 deletions(-) diff --git a/templates/assets/js/heo.js b/templates/assets/js/heo.js index ed1080b6..7e65c338 100644 --- a/templates/assets/js/heo.js +++ b/templates/assets/js/heo.js @@ -1,309 +1,126 @@ "use strict"; -var heo_cookiesTime = null, - heo_musicPlaying = !1, - heo_keyboard = !0, - heo_intype = !1, - heo = { - darkModeStatus: function () { - "light" == - ("dark" === document.documentElement.getAttribute("data-theme") - ? "dark" - : "light") - ? $(".menu-darkmode-text").text("深色模式") - : $(".menu-darkmode-text").text("浅色模式"); - }, - changeTimeInEssay: function () { - document.querySelector("#bber") && - document.querySelectorAll("#bber time").forEach(function (e) { - var t = e, - o = t.getAttribute("datetime"); - (t.innerText = btf.diffDate(o, !0)), (t.style.display = "inline"); - }); - }, - initIndexEssay: function () { - document.querySelector("#bber-talk") && - new Swiper(".swiper-container", { - direction: "vertical", - loop: !0, - autoplay: {delay: 3e3, pauseOnMouseEnter: !0}, - }); - }, - onlyHome: function () { - var e = window.location.pathname; - "/" == (e = decodeURIComponent(e)) - ? $(".only-home").attr("style", "display: flex") - : $(".only-home").attr("style", "display: none"); - }, - is_Post: function () { - return 0 <= window.location.href.indexOf("/p/"); - }, - addNavBackgroundInit: function () { - var e, - t = 0, - o = 0; - document.body && (t = document.body.scrollTop), - document.documentElement && (o = document.documentElement.scrollTop), - (e = 0 < t - o ? t : o), - console.log("滚动高度" + e), - 0 != e && - (document.getElementById("page-header").classList.add("nav-fixed"), - document.getElementById("page-header").classList.add("nav-visible"), - $("#cookies-window").hide(), - console.log("已添加class")); - }, - tagPageActive: function () { - var e = window.location.pathname, - e = decodeURIComponent(e); - console.log(e); - var t, - o, - n = /\/tags\/.*?\//.test(e); - console.log(n), - n && - ((t = e.split("/")), - console.log(t[2]), - (o = t[2]), - document.querySelector("#tag-page-tags") && - document.getElementById(o).classList.add("select")); - }, - categoriesBarActive: function () { - document.querySelector("#category-bar") && - $(".category-bar-item").removeClass("select"); - var e, - t = window.location.pathname, - t = decodeURIComponent(t); - console.log(t), - "/" == t - ? document.querySelector("#category-bar") && - document.getElementById("category-bar-home").classList.add("select") - : /\/categories\/.*?\//.test(t) && - ((e = t.split("/")[2]), - document.querySelector("#category-bar") && - document.getElementById(e).classList.add("select")); - }, - addFriendLinksInFooter: function () { - fetch("https://moments.zhheo.com/randomfriend?num=3") - .then(function (e) { - return e.json(); - }) - .then(function (e) { - for (var t = getArrayItems(e, 3), o = "", n = 0; n < t.length; ++n) { - var a = t[n]; - o += "') - .concat(a.name, ""); - } - (o += "更多"), - (document.getElementById("friend-links-in-footer").innerHTML = o); - }); - }, - stopImgRightDrag: function () { - $("img").on("dragstart", function () { - return !1; - }); - }, - topPostScroll: function () { - var o; - document.getElementById("recent-post-top") && - (o = document.getElementById("recent-post-top")).addEventListener( - "mousewheel", - function (e) { - var t = -e.wheelDelta / 2; - (o.scrollLeft += t), - document.body.clientWidth < 1300 && e.preventDefault(); - }, - !1 - ); - }, - topCategoriesBarScroll: function () { - var o; - document.getElementById("category-bar-items") && - (o = document.getElementById("category-bar-items")).addEventListener( - "mousewheel", - function (e) { - var t = -e.wheelDelta / 2; - (o.scrollLeft += t), e.preventDefault(); - }, - !1 - ); - }, - sayhi: function () { - document.querySelector("#author-info__sayhi") && - (document.getElementById("author-info__sayhi").innerHTML = - getTimeState() + "!我是"); - }, - addTag: function () { - document.querySelector(".heo-tag-new") && - $(".heo-tag-new").append( - 'N' - ), - document.querySelector(".heo-tag-hot") && - $(".heo-tag-hot").append( - 'H' - ); - }, - qrcodeCreate: function () { - document.getElementById("qrcode") && - ((document.getElementById("qrcode").innerHTML = ""), - new QRCode(document.getElementById("qrcode"), { - text: window.location.href, - width: 250, - height: 250, - colorDark: "#000", - colorLight: "#ffffff", - correctLevel: QRCode.CorrectLevel.H, - })); - }, - reflashEssayWaterFall: function () { - document.querySelector("#waterfall") && - setTimeout(function () { - waterfall("#waterfall"), - document.getElementById("waterfall").classList.add("show"); - }, 500); - }, - addMediumInEssay: function () { - document.querySelector("#waterfall") && - mediumZoom(document.querySelectorAll("[data-zoomable]")); - }, - downloadImage: function (e, c) { - rm.hideRightMenu(), - 0 == rm.downloadimging - ? ((rm.downloadimging = !0), - btf.snackbarShow("正在下载中,请稍后", !1, 1e4), - setTimeout(function () { - var a = new Image(); - a.setAttribute("crossOrigin", "anonymous"), - (a.onload = function () { - var e = document.createElement("canvas"); - (e.width = a.width), - (e.height = a.height), - e.getContext("2d").drawImage(a, 0, 0, a.width, a.height); - var t = e.toDataURL("image/png"), - o = document.createElement("a"), - n = new MouseEvent("click"); - (o.download = c || "photo"), (o.href = t), o.dispatchEvent(n); - }), - (a.src = e), - btf.snackbarShow("图片已添加盲水印,请遵守版权协议"), - (rm.downloadimging = !1); - }, "10000")) - : btf.snackbarShow("有正在进行中的下载,请稍后再试"); - }, - switchCommentBarrage: function () { - document.querySelector(".comment-barrage") && - ($(".comment-barrage").is(":visible") - ? ($(".comment-barrage").hide(), - $(".menu-commentBarrage-text").text("显示热评"), - document - .querySelector("#consoleCommentBarrage") - .classList.remove("on"), - localStorage.setItem("commentBarrageSwitch", "false")) - : $(".comment-barrage").is(":hidden") && - ($(".comment-barrage").show(), - $(".menu-commentBarrage-text").text("关闭热评"), - document - .querySelector("#consoleCommentBarrage") - .classList.add("on"), - localStorage.removeItem("commentBarrageSwitch"))), - rm.hideRightMenu(); - }, - hidecookie: function () { - heo_cookiesTime = setTimeout(function () { - document.getElementById("cookies-window").classList.add("cw-hide"), - setTimeout(function () { - $("#cookies-window").hide(); - }, 1e3); - }, 3e3); - }, - hideTodayCard: function () { - document.getElementById("todayCard") && - document.getElementById("todayCard").classList.add("hide"); - }, - changeThemeColor: function (e) { - null !== document.querySelector('meta[name="theme-color"]') && - document - .querySelector('meta[name="theme-color"]') - .setAttribute("content", e); - }, - initThemeColor: function () { - var e, t, o; - heo.is_Post() - ? 0 === (window.scrollY || document.documentElement.scrollTop) - ? ((e = getComputedStyle(document.documentElement).getPropertyValue( - "--heo-main" - )), - heo.changeThemeColor(e)) - : ((t = getComputedStyle(document.documentElement).getPropertyValue( - "--heo-background" - )), - heo.changeThemeColor(t)) - : ((o = getComputedStyle(document.documentElement).getPropertyValue( - "--heo-background" - )), - heo.changeThemeColor(o)); - }, - jumpTo: function (e) { - $(document).ready(function () { - $("html,body").animate({scrollTop: $(e).eq(i).offset().top}, 500); - }); - }, - showLoading: function () { - document.querySelector("#loading-box").classList.remove("loaded"); - var e = getComputedStyle(document.documentElement).getPropertyValue( - "--heo-card-bg" - ); - heo.changeThemeColor(e); - }, - hideLoading: function () { - document.querySelector("#loading-box").classList.add("loaded"); - }, - musicToggle: function () { - (heo_musicPlaying = heo_musicPlaying - ? (document.querySelector("#nav-music").classList.remove("playing"), - (document.getElementById("menu-music-toggle").innerHTML = - '播放音乐'), - (document.getElementById("nav-music-hoverTips").innerHTML = - "音乐已暂停"), - document.querySelector("#consoleMusic").classList.remove("on"), - !1) - : (document.querySelector("#nav-music").classList.add("playing"), - (document.getElementById("menu-music-toggle").innerHTML = - '暂停音乐'), - document.querySelector("#consoleMusic").classList.add("on"), - !0)), - document.querySelector("meting-js").aplayer.toggle(), - rm.hideRightMenu(); - }, - musicSkipBack: function () { - document.querySelector("meting-js").aplayer.skipBack(), - rm.hideRightMenu(); - }, - musicSkipForward: function () { - document.querySelector("meting-js").aplayer.skipForward(), - rm.hideRightMenu(); - }, - musicGetName: function () { - for (var e = $(".aplayer-title"), t = [], o = e.length - 1; 0 <= o; o--) - t[o] = e[o].innerText; - return t[0]; - }, - showConsole: function () { - document.querySelector("#console").classList.add("show"); - }, - hideConsole: function () { - document.querySelector("#console").classList.remove("show"); - }, - keyboardToggle: function () { - heo_keyboard - ? ((heo_keyboard = !1), - document.querySelector("#consoleKeyboard").classList.remove("on"), - localStorage.setItem("keyboardToggle", "false")) - : ((heo_keyboard = !0), - document.querySelector("#consoleKeyboard").classList.add("on"), - localStorage.setItem("keyboardToggle", "true")); - }, - scrollTo: function (e) { - var t = document.querySelector(e).offsetTop; - window.scrollTo(0, t - 80); - }, - }; +var heo_keyboard = !0, heo = { + darkModeStatus: function () { + "light" == ("dark" === document.documentElement.getAttribute("data-theme") ? "dark" : "light") ? $(".menu-darkmode-text").text("深色模式") : $(".menu-darkmode-text").text("浅色模式") + }, + + onlyHome: function () { + var e = window.location.pathname; + "/" == (e = decodeURIComponent(e)) ? $(".only-home").attr("style", "display: flex") : $(".only-home").attr("style", "display: none") + }, + + is_Post: function () { + return 0 <= window.location.href.indexOf("/p/") + }, + + addNavBackgroundInit: function () { + var e, t = 0, o = 0; + document.body && (t = document.body.scrollTop), document.documentElement && (o = document.documentElement.scrollTop), e = 0 < t - o ? t : o, 0 != e && (document.getElementById("page-header").classList.add("nav-fixed"), document.getElementById("page-header").classList.add("nav-visible"), $("#cookies-window").hide(), console.log("已添加class")) + }, + + tagPageActive: function () { + var e = window.location.pathname, e = decodeURIComponent(e); + console.log(e); + var t, o, n = /\/tags\/.*?\//.test(e); + console.log(n), n && (t = e.split("/"), console.log(t[2]), o = t[2], document.querySelector("#tag-page-tags") && document.getElementById(o).classList.add("select")) + }, + + categoriesBarActive: function () { + document.querySelector("#category-bar") && $(".category-bar-item").removeClass("select"); + var e, t = window.location.pathname, t = decodeURIComponent(t); + "/" == t ? document.querySelector("#category-bar") && document.getElementById("category-bar-home").classList.add("select") : /\/categories\/.*?\//.test(t) && (e = t.split("/")[2], document.querySelector("#category-bar") && document.getElementById(e).classList.add("select")) + }, + + stopImgRightDrag: function () { + $("img").on("dragstart", function () { + return !1 + }) + }, + + topPostScroll: function () { + var o; + document.getElementById("recent-post-top") && (o = document.getElementById("recent-post-top")).addEventListener("mousewheel", function (e) { + var t = -e.wheelDelta / 2; + o.scrollLeft += t, document.body.clientWidth < 1300 && e.preventDefault() + }, !1) + }, + + topCategoriesBarScroll: function () { + var o; + document.getElementById("category-bar-items") && (o = document.getElementById("category-bar-items")).addEventListener("mousewheel", function (e) { + var t = -e.wheelDelta / 2; + o.scrollLeft += t, e.preventDefault() + }, !1) + }, + + sayhi: function () { + document.querySelector("#author-info__sayhi") && (document.getElementById("author-info__sayhi").innerHTML = getTimeState() + "!我是") + }, + + addTag: function () { + document.querySelector(".heo-tag-new") && $(".heo-tag-new").append('N'), document.querySelector(".heo-tag-hot") && $(".heo-tag-hot").append('H') + }, + + qrcodeCreate: function () { + document.getElementById("qrcode") && new QRCode(document.getElementById("qrcode"), { + text: window.location.href, + width: 250, + height: 250, + colorDark: "#000", + colorLight: "#ffffff", + correctLevel: QRCode.CorrectLevel.H + }) + }, + + reflashEssayWaterFall: function () { + document.querySelector("#waterfall") && setTimeout(function () { + waterfall("#waterfall"), document.getElementById("waterfall").classList.add("show") + }, 500) + }, + + addMediumInEssay: function () { + document.querySelector("#waterfall") && mediumZoom(document.querySelectorAll("[data-zoomable]")) + }, + + downloadImage: function (e, c) { + rm.hideRightMenu(), 0 == rm.downloadimging ? (rm.downloadimging = !0, btf.snackbarShow("正在下载中,请稍后", !1, 1e4), setTimeout(function () { + var a = new Image; + a.setAttribute("crossOrigin", "anonymous"), a.onload = function () { + var e = document.createElement("canvas"); + e.width = a.width, e.height = a.height, e.getContext("2d").drawImage(a, 0, 0, a.width, a.height); + var t = e.toDataURL("image/png"), o = document.createElement("a"), n = new MouseEvent("click"); + o.download = c || "photo", o.href = t, o.dispatchEvent(n) + }, a.src = e, btf.snackbarShow("图片已添加盲水印,请遵守版权协议"), rm.downloadimging = !1 + }, "10000")) : btf.snackbarShow("有正在进行中的下载,请稍后再试") + }, + + changeThemeColor: function (e) { + null !== document.querySelector('meta[name="theme-color"]') && document.querySelector('meta[name="theme-color"]').setAttribute("content", e) + }, + + initThemeColor: function () { + var e, t, o; + heo.is_Post() ? 0 === (window.scrollY || document.documentElement.scrollTop) ? (e = getComputedStyle(document.documentElement).getPropertyValue("--heo-main"), heo.changeThemeColor(e)) : (t = getComputedStyle(document.documentElement).getPropertyValue("--heo-background"), heo.changeThemeColor(t)) : (o = getComputedStyle(document.documentElement).getPropertyValue("--heo-background"), heo.changeThemeColor(o)) + }, + + + showLoading: function () { + document.querySelector("#loading-box").classList.remove("loaded") + }, + + hideLoading: function () { + document.querySelector("#loading-box").classList.add("loaded") + }, + + showConsole: function () { + document.querySelector("#console").classList.add("show") + }, + + hideConsole: function () { + document.querySelector("#console").classList.remove("show") + }, + + keyboardToggle: function () { + heo_keyboard ? (heo_keyboard = !1, document.querySelector("#consoleKeyboard").classList.remove("on"), localStorage.setItem("keyboardToggle", "false")) : (heo_keyboard = !0, document.querySelector("#consoleKeyboard").classList.add("on"), localStorage.setItem("keyboardToggle", "true")) + } +}; \ No newline at end of file diff --git a/templates/assets/js/main.js b/templates/assets/js/main.js index 902bcc40..84c4fe33 100644 --- a/templates/assets/js/main.js +++ b/templates/assets/js/main.js @@ -1,765 +1,232 @@ "use strict"; + function _typeof(t) { - return (_typeof = - "function" == typeof Symbol && "symbol" == typeof Symbol.iterator - ? function (t) { - return typeof t; - } - : function (t) { - return t && - "function" == typeof Symbol && - t.constructor === Symbol && - t !== Symbol.prototype - ? "symbol" - : typeof t; - })(t); + return (_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) { + return typeof t + } : function (t) { + return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t + })(t) } + function _toConsumableArray(t) { - return ( - _arrayWithoutHoles(t) || - _iterableToArray(t) || - _unsupportedIterableToArray(t) || - _nonIterableSpread() - ); + return _arrayWithoutHoles(t) || _iterableToArray(t) || _unsupportedIterableToArray(t) || _nonIterableSpread() } + function _nonIterableSpread() { - throw new TypeError( - "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." - ); + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } + function _unsupportedIterableToArray(t, e) { if (t) { if ("string" == typeof t) return _arrayLikeToArray(t, e); var n = Object.prototype.toString.call(t).slice(8, -1); - return ( - "Object" === n && t.constructor && (n = t.constructor.name), - "Map" === n || "Set" === n - ? Array.from(t) - : "Arguments" === n || - /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) - ? _arrayLikeToArray(t, e) - : void 0 - ); + return "Object" === n && t.constructor && (n = t.constructor.name), "Map" === n || "Set" === n ? Array.from(t) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? _arrayLikeToArray(t, e) : void 0 } } + function _iterableToArray(t) { - if ( - ("undefined" != typeof Symbol && null != t[Symbol.iterator]) || - null != t["@@iterator"] - ) - return Array.from(t); + if ("undefined" != typeof Symbol && null != t[Symbol.iterator] || null != t["@@iterator"]) return Array.from(t) } + function _arrayWithoutHoles(t) { - if (Array.isArray(t)) return _arrayLikeToArray(t); + if (Array.isArray(t)) return _arrayLikeToArray(t) } + function _arrayLikeToArray(t, e) { (null == e || e > t.length) && (e = t.length); for (var n = 0, o = new Array(e); n < e; n++) o[n] = t[n]; - return o; + return o } + document.addEventListener("DOMContentLoaded", function () { function L(t) { - 0 < arguments.length && - void 0 !== t && - t && - ((i = o && o.offsetWidth), - (c = a && a.offsetWidth), - (s = r && r.offsetWidth)); - var e = document.getElementById("nav"), - n = window.innerWidth < 768 || i + c + s > e.offsetWidth - 120; - n ? e.classList.add("hide-menu") : e.classList.remove("hide-menu"); + 0 < arguments.length && void 0 !== t && t && (i = o && o.offsetWidth, c = a && a.offsetWidth, s = r && r.offsetWidth); + var e = document.getElementById("nav"), n = window.innerWidth < 768 || i + c + s > e.offsetWidth - 120; + n ? e.classList.add("hide-menu") : e.classList.remove("hide-menu") } - function E() { - var t, - e, - n, - c, - r, - o, - s, - l, - d, - u, - i, - f, - m, - a = GLOBAL_CONFIG.highlight; - function h(t, e, n) { - var o, - i, - a = document.createDocumentFragment(); - r && - (((o = document.createElement("div")).className = - "highlight-tools ".concat(u)), - (o.innerHTML = l + t + d), - o.addEventListener("click", f), - a.appendChild(o)), - c && - e.offsetHeight > c + 30 && - (((i = document.createElement("div")).className = "code-expand-btn"), - (i.innerHTML = ''), - i.addEventListener("click", m), - a.appendChild(i)), - "hl" === n - ? e.insertBefore(a, e.firstChild) - : e.parentNode.insertBefore(a, e); - } - a && - ((t = a.highlightCopy), - (e = a.highlightLang), - (n = GLOBAL_CONFIG_SITE.isHighlightShrink), - (c = a.highlightHeightLimit), - (r = t || e || void 0 !== n), - (o = - "highlighjs" === a.plugin - ? document.querySelectorAll("figure.highlight") - : document.querySelectorAll('pre[class*="language-"]')), - (r || c) && - o.length && - ((s = "prismjs" === a.plugin), - (u = !(d = l = "") === n ? "closed" : ""), - void 0 !== n && - (l = '')), - t && - (d = - '
'), - (i = function (t) { - var e = t.parentNode; - e.classList.add("copy-true"); - var n = window.getSelection(), - o = document.createRange(); - s - ? o.selectNodeContents(e.querySelectorAll("pre code")[0]) - : o.selectNodeContents(e.querySelectorAll("table .code pre")[0]), - n.removeAllRanges(), - n.addRange(o); - var i, a; - n.toString(); - (i = t.lastChild), - document.queryCommandSupported && - document.queryCommandSupported("copy") - ? (document.execCommand("copy"), - void 0 !== GLOBAL_CONFIG.Snackbar - ? btf.snackbarShow(GLOBAL_CONFIG.copy.success) - : (((a = i.previousElementSibling).innerText = - GLOBAL_CONFIG.copy.success), - (a.style.opacity = 1), - setTimeout(function () { - a.style.opacity = 0; - }, 700))) - : void 0 !== GLOBAL_CONFIG.Snackbar - ? btf.snackbarShow(GLOBAL_CONFIG.copy.noSupport) - : (i.previousElementSibling.innerText = - GLOBAL_CONFIG.copy.noSupport), - n.removeAllRanges(), - e.classList.remove("copy-true"); - }), - (f = function (t) { - var e, - n, - o = t.target.classList; - o.contains("expand") - ? ((n = _toConsumableArray((e = this).parentNode.children).slice( - 1 - )), - e.firstChild.classList.toggle("closed"), - btf.isHidden(n[n.length - 1]) - ? n.forEach(function (t) { - t.style.display = "block"; - }) - : n.forEach(function (t) { - t.style.display = "none"; - })) - : o.contains("copy-button") && i(this); - }), - (m = function () { - this.classList.toggle("expand-done"); - }), - e - ? s - ? o.forEach(function (t) { - var e = t.getAttribute("data-language") - ? t.getAttribute("data-language") - : "Code", - n = '
'.concat(e, "
"); - btf.wrap(t, "figure", "", "highlight"), h(n, t); - }) - : o.forEach(function (t) { - var e = t.getAttribute("class").split(" ")[1]; - ("plain" !== e && void 0 !== e) || (e = "Code"), - h('
'.concat(e, "
"), t, "hl"); - }) - : s - ? o.forEach(function (t) { - btf.wrap(t, "figure", "", "highlight"), h("", t); - }) - : o.forEach(function (t) { - h("", t, "hl"); - }))); - } - var o = document.getElementById("site-name"), - i = o && o.offsetWidth, - a = document.querySelector("#menus .menus_items"), - c = a && a.offsetWidth, - r = document.querySelector("#search-button"), - s = r && r.offsetWidth; + + var o = document.getElementById("site-name"), i = o && o.offsetWidth, + a = document.querySelector("#menus .menus_items"), c = a && a.offsetWidth, + r = document.querySelector("#search-button"), s = r && r.offsetWidth; + function l(t) { function e(t) { t.each(function (t, e) { - var n = $(e), - o = n.attr("data-lazy-src") || n.attr("src"), - i = o + "_1600w", - a = n.attr("alt") || ""; - -1 != o.indexOf("!blogimg") - ? n.wrap( - '') - ) - : n.wrap( - '') - ); - }), - $().fancybox({ - selector: "[data-fancybox]", - loop: !0, - transitionEffect: "slide", - protect: !0, - buttons: ["slideShow", "fullScreen", "thumbs", "close"], - hash: !1, - }); + var n = $(e), o = n.attr("data-lazy-src") || n.attr("src"), i = o + "_1600w", a = n.attr("alt") || ""; + -1 != o.indexOf("!blogimg") ? n.wrap('')) : n.wrap('')) + }), $().fancybox({ + selector: "[data-fancybox]", + loop: !0, + transitionEffect: "slide", + protect: !0, + buttons: ["slideShow", "fullScreen", "thumbs", "close"], + hash: !1 + }) } - void 0 === $.fancybox - ? ($("head").append( - '' - ) - ), - $.getScript("".concat(GLOBAL_CONFIG.source.fancybox.js), function () { - e($(t)); - })) - : e($(t)); + + void 0 === $.fancybox ? ($("head").append('')), $.getScript("".concat(GLOBAL_CONFIG.source.fancybox.js), function () { + e($(t)) + })) : e($(t)) } + function w() { - var n = - "fancybox" === GLOBAL_CONFIG.lightbox - ? document.querySelectorAll( - "#article-container :not(a):not(.gallery-group) > img, #article-container > img,.bber-content-img > img" - ) - : [], - o = 0 < n.length, - i = document.querySelectorAll("#article-container .justified-gallery"), - a = 0 < i.length; - (a || o) && - btf.isJqueryLoad(function () { + var n = "fancybox" === GLOBAL_CONFIG.lightbox ? document.querySelectorAll("#article-container :not(a):not(.gallery-group) > img, #article-container > img,.bber-content-img > img") : [], + o = 0 < n.length, i = document.querySelectorAll("#article-container .justified-gallery"), a = 0 < i.length; + (a || o) && btf.isJqueryLoad(function () { var t, e; - a && - ((t = $(i)), - (e = t.find("img")).unwrap(), - e.length && - e.each(function (t, e) { - $(e).attr("data-lazy-src") && - $(e).attr("src", $(e).attr("data-lazy-src")), - $(e).wrap("
"); - }), - d - ? btf.initJustifiedGallery(t) - : ($("head").append( - '' - ) - ), - $.getScript( - "".concat(GLOBAL_CONFIG.source.justifiedGallery.js), - function () { - btf.initJustifiedGallery(t); - } - ), - (d = !0))), - o && l(n); - }); - } - function A() { - var a, - c, - r, - s, - l, - d, - u = document.getElementById("rightside"), - f = window.innerHeight + 56; - document.body.scrollHeight <= f - ? (u.style.cssText = "opacity: 1; transform: translateX(-38px)") - : ((c = !(a = 0)), - (r = document.getElementById("page-header")), - document.getElementById("guli_top"), - (s = document.getElementById("cookies-window")), - (l = "function" == typeof chatBtnHide), - (d = "function" == typeof chatBtnShow), - window.addEventListener( - "scroll", - btf.throttle(function (t) { - var e, - n, - o = window.scrollY || document.documentElement.scrollTop, - i = ((n = a < (e = o)), (a = e), n); - 56 < o - ? (i - ? (r.classList.contains("nav-visible") && - r.classList.remove("nav-visible"), - d && !0 === c && (chatBtnHide(), (c = !1))) - : (r.classList.contains("nav-visible") || - r.classList.add("nav-visible"), - l && !1 === c && (chatBtnShow(), (c = !0))), - r.classList.add("nav-fixed"), - s.classList.add("cw-hide"), - "0" === - window.getComputedStyle(u).getPropertyValue("opacity") && - (u.style.cssText = - "opacity: 1; transform: translateX(-38px)")) - : (0 === o && r.classList.remove("nav-fixed", "nav-visible"), - (u.style.cssText = "opacity: ''; transform: ''")), - document.body.scrollHeight <= f && - (u.style.cssText = "opacity: 1; transform: translateX(-38px)"); - }, 200) - )); + a && (t = $(i), (e = t.find("img")).unwrap(), e.length && e.each(function (t, e) { + $(e).attr("data-lazy-src") && $(e).attr("src", $(e).attr("data-lazy-src")), $(e).wrap("
") + }), d ? btf.initJustifiedGallery(t) : ($("head").append('')), $.getScript("".concat(GLOBAL_CONFIG.source.justifiedGallery.js), function () { + btf.initJustifiedGallery(t) + }), d = !0)), o && l(n) + }) } + function S() { - var t = document.getElementById("card-toc"), - r = t.getElementsByClassName("toc-content")[0], - s = r.querySelectorAll(".toc-link"), - c = document.getElementById("article-container"); - (window.tocScrollFn = function () { + var t = document.getElementById("card-toc"), r = t.getElementsByClassName("toc-content")[0], + s = r.querySelectorAll(".toc-link"), c = document.getElementById("article-container"); + window.tocScrollFn = function () { return btf.throttle(function () { var t = window.scrollY || document.documentElement.scrollTop; - e(t), i(t); - }, 100)(); - }), - window.addEventListener("scroll", tocScrollFn); + e(t), i(t) + }, 100)() + }, window.addEventListener("scroll", tocScrollFn); var e = function (t) { - var e = c.clientHeight, - n = document.documentElement.clientHeight, - o = - (t - c.offsetTop) / - (n < e ? e - n : document.documentElement.scrollHeight - n), - i = Math.round(100 * o), - a = 100 < i ? 100 : i <= 0 ? 0 : i; - r.setAttribute("progress-percentage", a); - }, - l = GLOBAL_CONFIG.isanchor, - n = function () { - t.style.cssText = "animation: toc-open .3s; opacity: 1; right: 45px"; - }, - o = function () { - (t.style.animation = "toc-close .2s"), - setTimeout(function () { - t.style.cssText = "opacity:''; animation: ''; right: ''"; - }, 100); - }; - document - .getElementById("mobile-toc-button") - .addEventListener("click", function () { - ("0" === window.getComputedStyle(t).getPropertyValue("opacity") - ? n - : o)(); - }), - r.addEventListener("click", function (t) { - t.preventDefault(); - var e = t.target.classList.contains("toc-link") - ? t.target - : t.target.parentElement; - btf.scrollToDest( - btf.getEleTop( - document.getElementById( - decodeURI(e.getAttribute("href")).replace("#", "") - ) - ), - 300 - ), - window.innerWidth < 900 && o(); - }); - var d = c.querySelectorAll("h1,h2,h3,h4,h5,h6"), - u = "", - i = function (n) { - if (0 === s.length || 0 === n) return !1; - var t, - e, - o = "", - i = ""; - if ( - (d.forEach(function (t, e) { - n > btf.getEleTop(t) - 80 && - ((o = "#" + encodeURI(t.getAttribute("id"))), (i = e)); - }), - u !== i) - ) { - if ( - (l && - ((t = o), - window.history.replaceState && - t !== window.location.hash && - ((t = t || location.pathname), - (e = GLOBAL_CONFIG_SITE.title), - window.history.replaceState( - { url: location.href, title: e }, - e, - t - ))), - "" === o) - ) - return ( - r.querySelectorAll(".active").forEach(function (t) { - t.classList.remove("active"); - }), - void (u = i) - ); - (u = i), - r.querySelectorAll(".active").forEach(function (t) { - t.classList.remove("active"); - }); - var a = s[i]; - a.classList.add("active"), - setTimeout(function () { - var t, e; - (t = a.getBoundingClientRect().top), - (e = r.scrollTop), - t > document.documentElement.clientHeight - 100 && - (r.scrollTop = e + 150), - t < 100 && (r.scrollTop = e - 150); - }, 0); - for (var c = a.parentNode; !c.matches(".toc"); c = c.parentNode) - c.matches("li") && c.classList.add("active"); - } - }; - } - var d = !1, - e = function () { - var e = document.body; - e.classList.add("read-mode"); - var n = document.createElement("button"); - (n.type = "button"), - (n.className = "fas fa-sign-out-alt exit-readmode"), - e.appendChild(n), - n.addEventListener("click", function t() { - e.classList.remove("read-mode"), - n.remove(), - n.removeEventListener("click", t); - }); - }, - n = function () { - "light" == - ("dark" === document.documentElement.getAttribute("data-theme") - ? "dark" - : "light") - ? (activateDarkMode(), - saveToLocal.set("theme", "dark", 2), - void 0 !== GLOBAL_CONFIG.Snackbar && - btf.snackbarShow(GLOBAL_CONFIG.Snackbar.day_to_night, !1, 2e3)) - : (activateLightMode(), - saveToLocal.set("theme", "light", 2), - void 0 !== GLOBAL_CONFIG.Snackbar && - btf.snackbarShow(GLOBAL_CONFIG.Snackbar.night_to_day, !1, 2e3)), - "function" == typeof utterancesTheme && utterancesTheme(), - "object" === ("undefined" == typeof FB ? "undefined" : _typeof(FB)) && - window.loadFBComment(), - window.DISQUS && - document.getElementById("disqus_thread").children.length && - setTimeout(function () { - return window.disqusReset(); - }, 200); - }, - u = function () { - document.getElementById("rightside-config-hide").classList.toggle("show"); - }, - f = function () { - btf.scrollToDest(0, 500); - }, - m = function () { - var t = document.documentElement.classList; - t.contains("hide-aside") - ? saveToLocal.set("aside-status", "show", 2) - : saveToLocal.set("aside-status", "hide", 2), - t.toggle("hide-aside"); - }, - h = function (t) { - var e = parseInt( - window - .getComputedStyle(document.documentElement) - .getPropertyValue("--global-font-size") - ), - n = ""; - if (t) { - if (20 <= e) return; - (n = e + 1), - document.documentElement.style.setProperty( - "--global-font-size", - n + "px" - ), - document.getElementById("nav").classList.contains("hide-menu") || - L(!0); - } else { - if (e <= 10) return; - (n = e - 1), - document.documentElement.style.setProperty( - "--global-font-size", - n + "px" - ), - document.getElementById("nav").classList.contains("hide-menu") && - L(!0); - } - saveToLocal.set("global-font-size", n, 2); + var e = c.clientHeight, n = document.documentElement.clientHeight, + o = (t - c.offsetTop) / (n < e ? e - n : document.documentElement.scrollHeight - n), + i = Math.round(100 * o), a = 100 < i ? 100 : i <= 0 ? 0 : i; + r.setAttribute("progress-percentage", a) + }, o = function () { + t.style.animation = "toc-close .2s", setTimeout(function () { + t.style.cssText = "opacity:''; animation: ''; right: ''" + }, 100) }; - document.getElementById("rightside").addEventListener("click", function (t) { - switch (t.target.id || t.target.parentNode.id) { - case "go-up": - f(); - break; - case "rightside_config": - u(); - break; - case "readmode": - e(); - break; - case "darkmode": - n(); - break; - case "hide-aside-btn": - m(); - break; - case "font-plus": - h(!0); - break; - case "font-minus": - h(); + document.getElementById("mobile-toc-button").addEventListener("click", function () { + ("0" === window.getComputedStyle(t).getPropertyValue("opacity") ? n : o)() + }), r.addEventListener("click", function (t) { + t.preventDefault(); + var e = t.target.classList.contains("toc-link") ? t.target : t.target.parentElement; + btf.scrollToDest(btf.getEleTop(document.getElementById(decodeURI(e.getAttribute("href")).replace("#", ""))), 300), window.innerWidth < 900 && o() + }); + var d = c.querySelectorAll("h1,h2,h3,h4,h5,h6"), u = "", i = function (n) { + if (0 === s.length || 0 === n) return !1; + var t, e, o = "", i = ""; + if (d.forEach(function (t, e) { + n > btf.getEleTop(t) - 80 && (o = "#" + encodeURI(t.getAttribute("id")), i = e) + }), u !== i) { + if (l && (t = o, window.history.replaceState && t !== window.location.hash && (t = t || location.pathname, e = GLOBAL_CONFIG_SITE.title, window.history.replaceState({ + url: location.href, title: e + }, e, t))), "" === o) return r.querySelectorAll(".active").forEach(function (t) { + t.classList.remove("active") + }), void (u = i); + u = i, r.querySelectorAll(".active").forEach(function (t) { + t.classList.remove("active") + }); + var a = s[i]; + a.classList.add("active"), setTimeout(function () { + var t, e; + t = a.getBoundingClientRect().top, e = r.scrollTop, t > document.documentElement.clientHeight - 100 && (r.scrollTop = e + 150), t < 100 && (r.scrollTop = e - 150) + }, 0); + for (var c = a.parentNode; !c.matches(".toc"); c = c.parentNode) c.matches("li") && c.classList.add("active") + } } - }); + } + + var d = !1, n = function () { + "light" == ("dark" === document.documentElement.getAttribute("data-theme") ? "dark" : "light") ? (activateDarkMode(), saveToLocal.set("theme", "dark", 2), void 0 !== GLOBAL_CONFIG.Snackbar && btf.snackbarShow(GLOBAL_CONFIG.Snackbar.day_to_night, !1, 2e3)) : (activateLightMode(), saveToLocal.set("theme", "light", 2), void 0 !== GLOBAL_CONFIG.Snackbar && btf.snackbarShow(GLOBAL_CONFIG.Snackbar.night_to_day, !1, 2e3)), "function" == typeof utterancesTheme && utterancesTheme(), "object" === ("undefined" == typeof FB ? "undefined" : _typeof(FB)) && window.loadFBComment(), window.DISQUS && document.getElementById("disqus_thread").children.length && setTimeout(function () { + return window.disqusReset() + }, 200) + }; + function I(t) { t.forEach(function (t) { - var e = t, - n = e.getAttribute("datetime"); - (e.innerText = btf.diffDate(n, !0)), (e.style.display = "inline"); - }); + var e = t, n = e.getAttribute("datetime"); + e.innerText = btf.diffDate(n, !0), e.style.display = "inline" + }) } - var g, - O = function () { - document - .querySelectorAll("#article-container .tab > button") - .forEach(function (t) { - t.addEventListener("click", function (t) { - var e, - n, - o, - i, - a = this.parentNode; - a.classList.contains("active") || - ((e = a.parentNode.nextElementSibling), - (n = btf.siblings(a, ".active")[0]) && - n.classList.remove("active"), - a.classList.add("active"), - (o = this.getAttribute("data-href").replace("#", "")), - _toConsumableArray(e.children).forEach(function (t) { - t.id === o - ? t.classList.add("active") - : t.classList.remove("active"); - }), - 0 < - (i = e.querySelectorAll("#".concat(o, " .justified-gallery"))) - .length && btf.initJustifiedGallery(i)); - }); - }); - }, - G = function () { - document - .querySelectorAll("#article-container .tabs .tab-to-top") - .forEach(function (t) { - t.addEventListener("click", function () { - btf.scrollToDest(btf.getEleTop(btf.getParents(this, ".tabs")), 300); - }); - }); - }; - (window.refreshFn = function () { + + var g, O = function () { + document.querySelectorAll("#article-container .tab > button").forEach(function (t) { + t.addEventListener("click", function (t) { + var e, n, o, i, a = this.parentNode; + a.classList.contains("active") || (e = a.parentNode.nextElementSibling, (n = btf.siblings(a, ".active")[0]) && n.classList.remove("active"), a.classList.add("active"), o = this.getAttribute("data-href").replace("#", ""), _toConsumableArray(e.children).forEach(function (t) { + t.id === o ? t.classList.add("active") : t.classList.remove("active") + }), 0 < (i = e.querySelectorAll("#".concat(o, " .justified-gallery"))).length && btf.initJustifiedGallery(i)) + }) + }) + }, G = function () { + document.querySelectorAll("#article-container .tabs .tab-to-top").forEach(function (t) { + t.addEventListener("click", function () { + btf.scrollToDest(btf.getEleTop(btf.getParents(this, ".tabs")), 300) + }) + }) + }; + window.refreshFn = function () { var t, e, n, o, i, a, c, r, s, l, d, u, f, m, h, g, y, p, b; + function v() { - (f.style.overflow = ""), - (f.style.paddingRight = ""), - btf.fadeOut(u, 0.5), - d.classList.remove("open"); + f.style.overflow = "", f.style.paddingRight = "", btf.fadeOut(u, .5), d.classList.remove("open") } - L(), - document.getElementById("nav").classList.add("show"), - GLOBAL_CONFIG_SITE.isPost - ? (GLOBAL_CONFIG_SITE.isToc && S(), - void 0 !== GLOBAL_CONFIG.noticeOutdate && - ((r = GLOBAL_CONFIG.noticeOutdate), - (s = btf.diffDate(GLOBAL_CONFIG_SITE.postUpdate)) >= r.limitDay && - (((a = document.createElement("div")).className = - "post-outdate-notice"), - (a.textContent = r.messagePrev + " " + s + " " + r.messageNext), - (c = document.getElementById("article-container")), - "top" === r.position - ? c.insertBefore(a, c.firstChild) - : c.appendChild(a))), - GLOBAL_CONFIG.relativeDate.post && - I(document.querySelectorAll("#post-meta time"))) - : (GLOBAL_CONFIG.relativeDate.homepage && - I(document.querySelectorAll("#recent-posts time")), - !GLOBAL_CONFIG.runtime || - ((i = document.getElementById("runtimeshow")) && - ((o = i.getAttribute("data-publishDate")), - (i.innerText = btf.diffDate(o) + " " + GLOBAL_CONFIG.runtime))), - (n = document.getElementById("last-push-date")) && - ((e = n.getAttribute("data-lastPushDate")), - (n.innerText = btf.diffDate(e, !0))), - (t = document.querySelectorAll( - "#aside-cat-list .card-category-list-item.parent i" - )).length && - t.forEach(function (t) { - t.addEventListener("click", function (t) { - t.preventDefault(); - this.classList.toggle("expand"); - var e = this.parentNode.nextElementSibling; - btf.isHidden(e) - ? (e.style.display = "block") - : (e.style.display = "none"); - }); - })), - (l = document.getElementById("toggle-menu")), - (d = document.getElementById("sidebar-menus")), - (u = document.getElementById("menu-mask")), - (f = document.body), - l.addEventListener("click", function () { - btf.sidebarPaddingR(), - (f.style.overflow = "hidden"), - btf.fadeIn(u, 0.5), - d.classList.add("open"); - }), - u.addEventListener("click", function (t) { - d.classList.contains("open") && v(); - }), - window.addEventListener("resize", function (t) { - btf.isHidden(l) && d.classList.contains("open") && v(); - }), - !GLOBAL_CONFIG_SITE.isHome || - ((m = document.getElementById("scroll-down")) && - m.addEventListener("click", function () { - btf.scrollToDest( - document.getElementById("content-inner").offsetTop, - 300 - ); - })), - E(), - GLOBAL_CONFIG.isPhotoFigcaption && - document - .querySelectorAll("#article-container img") - .forEach(function (t) { - var e, - n = t.parentNode; - n.parentNode.classList.contains("justified-gallery") || - (((e = document.createElement("div")).className = - "img-alt is-center"), - (e.textContent = t.getAttribute("alt")), - n.insertBefore(e, t.nextSibling)); - }), - w(), - "mediumZoom" === GLOBAL_CONFIG.lightbox && - (h = mediumZoom( - document.querySelectorAll("#article-container :not(a)>img") - )).on("open", function (t) { - var e = - "dark" === document.documentElement.getAttribute("data-theme") - ? "#121212" - : "#fff"; - h.update({ background: e }); - }), - A(), - (g = document.querySelectorAll( - "#article-container :not(.highlight) > table, #article-container > table" - )).length && - g.forEach(function (t) { - btf.wrap(t, "div", "", "table-wrap"); - }), - (y = document.querySelectorAll("#article-container .hide-button")) - .length && - y.forEach(function (t) { + + L(), document.getElementById("nav").classList.add("show"), GLOBAL_CONFIG_SITE.isPost ? (GLOBAL_CONFIG_SITE.isToc && S(), void 0 !== GLOBAL_CONFIG.noticeOutdate && (r = GLOBAL_CONFIG.noticeOutdate, (s = btf.diffDate(GLOBAL_CONFIG_SITE.postUpdate)) >= r.limitDay && ((a = document.createElement("div")).className = "post-outdate-notice", a.textContent = r.messagePrev + " " + s + " " + r.messageNext, c = document.getElementById("article-container"), "top" === r.position ? c.insertBefore(a, c.firstChild) : c.appendChild(a))), GLOBAL_CONFIG.relativeDate.post && I(document.querySelectorAll("#post-meta time"))) : (GLOBAL_CONFIG.relativeDate.homepage && I(document.querySelectorAll("#recent-posts time")), !GLOBAL_CONFIG.runtime || (i = document.getElementById("runtimeshow")) && (o = i.getAttribute("data-publishDate"), i.innerText = btf.diffDate(o) + " " + GLOBAL_CONFIG.runtime), (n = document.getElementById("last-push-date")) && (e = n.getAttribute("data-lastPushDate"), n.innerText = btf.diffDate(e, !0)), (t = document.querySelectorAll("#aside-cat-list .card-category-list-item.parent i")).length && t.forEach(function (t) { + t.addEventListener("click", function (t) { + t.preventDefault(); + this.classList.toggle("expand"); + var e = this.parentNode.nextElementSibling; + btf.isHidden(e) ? e.style.display = "block" : e.style.display = "none" + }) + })), l = document.getElementById("toggle-menu"), d = document.getElementById("sidebar-menus"), u = document.getElementById("menu-mask"), f = document.body, l.addEventListener("click", function () { + btf.sidebarPaddingR(), f.style.overflow = "hidden", btf.fadeIn(u, .5), d.classList.add("open") + }); + window.addEventListener("resize", function (t) { + btf.isHidden(l) && v() + }); + + w(); + + "mediumZoom" === GLOBAL_CONFIG.lightbox && (h = mediumZoom(document.querySelectorAll("#article-container :not(a)>img"))).on("open", function (t) { + var e = "dark" === document.documentElement.getAttribute("data-theme") ? "#121212" : "#fff"; + h.update({background: e}) + }); + + (g = document.querySelectorAll("#article-container :not(.highlight) > table, #article-container > table")).length && g.forEach(function (t) { + btf.wrap(t, "div", "", "table-wrap") + }); + + (y = document.querySelectorAll("#article-container .hide-button")).length && y.forEach(function (t) { t.addEventListener("click", function (t) { var e = this.nextElementSibling; - this.classList.toggle("open"), - this.classList.contains("open") && - 0 < e.querySelectorAll(".justified-gallery").length && - btf.initJustifiedGallery( - e.querySelectorAll(".justified-gallery") - ); - }); - }), - O(), - G(), - (p = !1), - (b = document.querySelector("#comment-switch > .switch-btn")) && - b.addEventListener("click", function () { - this.classList.toggle("move"), - document - .querySelectorAll("#post-comment > .comment-wrap > div") - .forEach(function (t) { - btf.isHidden(t) - ? (t.style.cssText = "display: block;animation: tabshow .5s") - : (t.style.cssText = "display: none;animation: ''"); - }), - p || - "function" != typeof loadOtherComment || - ((p = !0), loadOtherComment()); + this.classList.toggle("open"), this.classList.contains("open") && 0 < e.querySelectorAll(".justified-gallery").length && btf.initJustifiedGallery(e.querySelectorAll(".justified-gallery")) + }) }); - }), - refreshFn(), - window.addEventListener("resize", L), - window.addEventListener("orientationchange", function () { - setTimeout(L(!0), 100); - }), - document.querySelectorAll("#sidebar-menus .expand").forEach(function (t) { - t.addEventListener("click", function () { - this.classList.toggle("hide"); - var t = this.parentNode.nextElementSibling; - btf.isHidden(t) - ? (t.style.display = "block") - : (t.style.display = "none"); + O(); + G(); + p = !1; + (b = document.querySelector("#comment-switch > .switch-btn")) && b.addEventListener("click", function () { + this.classList.toggle("move"), document.querySelectorAll("#post-comment > .comment-wrap > div").forEach(function (t) { + btf.isHidden(t) ? t.style.cssText = "display: block;animation: tabshow .5s" : t.style.cssText = "display: none;animation: ''" }); - }), - window.addEventListener("touchmove", function (t) { - document.querySelectorAll("#nav .menus_item_child").forEach(function (t) { - btf.isHidden(t) || (t.style.display = "none"); - }); - }), - GLOBAL_CONFIG.islazyload && - (window.lazyLoadInstance = new LazyLoad({ - elements_selector: "img", - threshold: 0, - data_src: "lazy-src", - })), - void 0 !== GLOBAL_CONFIG.copyright && - ((g = GLOBAL_CONFIG.copyright), - (document.body.oncopy = function (t) { - t.preventDefault(); - var e = window.getSelection(0).toString(), - n = - e.length > g.limitCount - ? e + - "\n\n\n" + - g.languages.author + - "\n" + - g.languages.link + - window.location.href + - "\n" + - g.languages.source + - "\n" + - g.languages.info - : e; - return t.clipboardData - ? t.clipboardData.setData("text", n) - : window.clipboardData.setData("text", n); - })); -}); + p || "function" != typeof loadOtherComment || (p = !0, loadOtherComment()) + }); + }; + refreshFn(); + + + window.addEventListener("resize", L); + window.addEventListener("orientationchange", function () { + setTimeout(L(!0), 100) + }); + + document.querySelectorAll("#sidebar-menus .expand").forEach(function (t) { + t.addEventListener("click", function () { + this.classList.toggle("hide"); + var t = this.parentNode.nextElementSibling; + btf.isHidden(t) ? t.style.display = "block" : t.style.display = "none" + }) + }); + window.addEventListener("touchmove", function (t) { + document.querySelectorAll("#nav .menus_item_child").forEach(function (t) { + btf.isHidden(t) || (t.style.display = "none") + }) + }); +}); \ No newline at end of file diff --git a/templates/assets/js/utils.js b/templates/assets/js/utils.js index 71206558..a2ee41cb 100644 --- a/templates/assets/js/utils.js +++ b/templates/assets/js/utils.js @@ -1,224 +1,119 @@ "use strict"; + function _toConsumableArray(e) { - return ( - _arrayWithoutHoles(e) || - _iterableToArray(e) || - _unsupportedIterableToArray(e) || - _nonIterableSpread() - ); + return _arrayWithoutHoles(e) || _iterableToArray(e) || _unsupportedIterableToArray(e) || _nonIterableSpread() } + function _nonIterableSpread() { - throw new TypeError( - "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." - ); + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } + function _unsupportedIterableToArray(e, t) { if (e) { if ("string" == typeof e) return _arrayLikeToArray(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); - return ( - "Object" === n && e.constructor && (n = e.constructor.name), - "Map" === n || "Set" === n - ? Array.from(e) - : "Arguments" === n || - /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) - ? _arrayLikeToArray(e, t) - : void 0 - ); + return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? _arrayLikeToArray(e, t) : void 0 } } + function _iterableToArray(e) { - if ( - ("undefined" != typeof Symbol && null != e[Symbol.iterator]) || - null != e["@@iterator"] - ) - return Array.from(e); + if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e) } + function _arrayWithoutHoles(e) { - if (Array.isArray(e)) return _arrayLikeToArray(e); + if (Array.isArray(e)) return _arrayLikeToArray(e) } + function _arrayLikeToArray(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]; - return r; + return r } + var btf = { debounce: function (r, o, i) { var a; return function () { - var e = this, - t = arguments, - n = i && !a; - clearTimeout(a), - (a = setTimeout(function () { - (a = null), i || r.apply(e, t); - }, o)), - n && r.apply(e, t); - }; - }, - throttle: function (n, r, o) { - var i, - a, - s, - u = 0; - o = o || {}; - function l() { - (u = !1 === o.leading ? 0 : new Date().getTime()), - (i = null), - n.apply(a, s), - i || (a = s = null); + var e = this, t = arguments, n = i && !a; + clearTimeout(a), a = setTimeout(function () { + a = null, i || r.apply(e, t) + }, o), n && r.apply(e, t) } + }, throttle: function (n, r, o) { + var i, a, s, u = 0; + o = o || {}; + + function l() { + u = !1 === o.leading ? 0 : (new Date).getTime(), i = null, n.apply(a, s), i || (a = s = null) + } + return function () { - var e = new Date().getTime(); + var e = (new Date).getTime(); u || !1 !== o.leading || (u = e); var t = r - (e - u); - (a = this), - (s = arguments), - t <= 0 || r < t - ? (i && (clearTimeout(i), (i = null)), - (u = e), - n.apply(a, s), - i || (a = s = null)) - : i || !1 === o.trailing || (i = setTimeout(l, t)); - }; - }, - sidebarPaddingR: function () { - var e = window.innerWidth, - t = document.body.clientWidth, - n = e - t; - e !== t && (document.body.style.paddingRight = n + "px"); - }, - snackbarShow: function (e, t, n) { - var r = void 0 !== t && t, - o = void 0 !== n ? n : 5e3, - i = GLOBAL_CONFIG.Snackbar.position, - a = - "light" === document.documentElement.getAttribute("data-theme") - ? GLOBAL_CONFIG.Snackbar.bgLight - : GLOBAL_CONFIG.Snackbar.bgDark; - document.styleSheets[0].addRule( - ":root", - "--heo-snackbar-time:" + o + "ms!important" - ), - Snackbar.show({ - text: e, - backgroundColor: a, - showAction: r, - duration: o, - pos: i, - }); - }, - initJustifiedGallery: function (e) { - e instanceof jQuery || (e = $(e)), - e.each(function (e, t) { - $(this).is(":visible") && - $(this).justifiedGallery({ rowHeight: 220, margins: 4 }); - }); - }, - diffDate: function (e, t) { - var n, - r, - o, - i = 1 < arguments.length && void 0 !== t && t, - a = new Date(), - s = new Date(e), + a = this, s = arguments, t <= 0 || r < t ? (i && (clearTimeout(i), i = null), u = e, n.apply(a, s), i || (a = s = null)) : i || !1 === o.trailing || (i = setTimeout(l, t)) + } + }, sidebarPaddingR: function () { + var e = window.innerWidth, t = document.body.clientWidth, n = e - t; + e !== t && (document.body.style.paddingRight = n + "px") + }, snackbarShow: function (e, t, n) { + var r = void 0 !== t && t, o = void 0 !== n ? n : 5e3, i = GLOBAL_CONFIG.Snackbar.position, + a = "light" === document.documentElement.getAttribute("data-theme") ? GLOBAL_CONFIG.Snackbar.bgLight : GLOBAL_CONFIG.Snackbar.bgDark; + document.styleSheets[0].addRule(":root", "--heo-snackbar-time:" + o + "ms!important"), Snackbar.show({ + text: e, + backgroundColor: a, + showAction: r, + duration: o, + pos: i + }) + }, initJustifiedGallery: function (e) { + e instanceof jQuery || (e = $(e)), e.each(function (e, t) { + $(this).is(":visible") && $(this).justifiedGallery({rowHeight: 220, margins: 4}) + }) + }, diffDate: function (e, t) { + var n, r, o, i = 1 < arguments.length && void 0 !== t && t, a = new Date, s = new Date(e), u = a.getTime() - s.getTime(); - return i - ? ((n = u / 864e5), - (r = u / 36e5), - (o = u / 6e4), - 12 < u / 2592e6 - ? s.toLocaleDateString() - : 7 <= n - ? s.toLocaleDateString().substr(5) - : 1 <= n - ? parseInt(n) + "" + GLOBAL_CONFIG.date_suffix.day - : 1 <= r || 1 <= o - ? "最近" - : GLOBAL_CONFIG.date_suffix.just) - : parseInt(u / 864e5); - }, - loadComment: function (e, t) { + return i ? (n = u / 864e5, r = u / 36e5, o = u / 6e4, 12 < u / 2592e6 ? s.toLocaleDateString() : 7 <= n ? s.toLocaleDateString().substr(5) : 1 <= n ? parseInt(n) + "" + GLOBAL_CONFIG.date_suffix.day : 1 <= r || 1 <= o ? "最近" : GLOBAL_CONFIG.date_suffix.just) : parseInt(u / 864e5) + }, loadComment: function (e, t) { var n; - "IntersectionObserver" in window - ? (n = new IntersectionObserver( - function (e) { - e[0].isIntersecting && (t(), n.disconnect()); - }, - { threshold: [0] } - )).observe(e) - : t(); - }, - scrollToDest: function (o, i) { + "IntersectionObserver" in window ? (n = new IntersectionObserver(function (e) { + e[0].isIntersecting && (t(), n.disconnect()) + }, {threshold: [0]})).observe(e) : t() + }, scrollToDest: function (o, i) { var a, s; - o < 0 || - i < 0 || - ((a = window.scrollY || window.screenTop), - (o -= 70), - "CSS" in window && CSS.supports("scroll-behavior", "smooth") - ? window.scrollTo({ top: o, behavior: "smooth" }) - : ((s = null), - (i = i || 500), - window.requestAnimationFrame(function e(t) { - var n, r; - (s = s || t), - a < o - ? ((n = t - s), - window.scrollTo(0, ((o - a) * n) / i + a), - n < i - ? window.requestAnimationFrame(e) - : window.scrollTo(0, o)) - : ((r = t - s), - window.scrollTo(0, a - ((a - o) * r) / i), - r < i - ? window.requestAnimationFrame(e) - : window.scrollTo(0, o)); - }))); - }, - fadeIn: function (e, t) { - e.style.cssText = "display:block;animation: to_show ".concat(t, "s"); - }, - fadeOut: function (t, e) { + o < 0 || i < 0 || (a = window.scrollY || window.screenTop, o -= 70, "CSS" in window && CSS.supports("scroll-behavior", "smooth") ? window.scrollTo({ + top: o, + behavior: "smooth" + }) : (s = null, i = i || 500, window.requestAnimationFrame(function e(t) { + var n, r; + s = s || t, a < o ? (n = t - s, window.scrollTo(0, (o - a) * n / i + a), n < i ? window.requestAnimationFrame(e) : window.scrollTo(0, o)) : (r = t - s, window.scrollTo(0, a - (a - o) * r / i), r < i ? window.requestAnimationFrame(e) : window.scrollTo(0, o)) + }))) + }, fadeIn: function (e, t) { + e.style.cssText = "display:block;animation: to_show ".concat(t, "s") + }, fadeOut: function (t, e) { t.addEventListener("animationend", function e() { - (t.style.cssText = "display: none; animation: '' "), - t.removeEventListener("animationend", e); - }), - (t.style.animation = "to_hide ".concat(e, "s")); - }, - getParents: function (e, t) { + t.style.cssText = "display: none; animation: '' ", t.removeEventListener("animationend", e) + }), t.style.animation = "to_hide ".concat(e, "s") + }, getParents: function (e, t) { for (; e && e !== document; e = e.parentNode) if (e.matches(t)) return e; - return null; - }, - siblings: function (t, n) { + return null + }, siblings: function (t, n) { return _toConsumableArray(t.parentNode.children).filter(function (e) { - return n ? e !== t && e.matches(n) : e !== t; - }); - }, - wrap: function (e, t, n, r) { - var o = 2 < arguments.length && void 0 !== n ? n : "", - i = 3 < arguments.length && void 0 !== r ? r : "", + return n ? e !== t && e.matches(n) : e !== t + }) + }, wrap: function (e, t, n, r) { + var o = 2 < arguments.length && void 0 !== n ? n : "", i = 3 < arguments.length && void 0 !== r ? r : "", a = document.createElement(t); - o && (a.id = o), - i && (a.className = i), - e.parentNode.insertBefore(a, e), - a.appendChild(e); - }, - unwrap: function (e) { + o && (a.id = o), i && (a.className = i), e.parentNode.insertBefore(a, e), a.appendChild(e) + }, unwrap: function (e) { var t = e.parentNode; - t !== document.body && - (t.parentNode.insertBefore(e, t), t.parentNode.removeChild(t)); - }, - isJqueryLoad: function (e) { - "undefined" == typeof jQuery - ? getScript(GLOBAL_CONFIG.source.jQuery).then(e) - : e(); - }, - isHidden: function (e) { - return 0 === e.offsetHeight && 0 === e.offsetWidth; - }, - getEleTop: function (e) { - for (var t = e.offsetTop, n = e.offsetParent; null !== n; ) - (t += n.offsetTop), (n = n.offsetParent); - return t; - }, -}; + t !== document.body && (t.parentNode.insertBefore(e, t), t.parentNode.removeChild(t)) + }, isJqueryLoad: function (e) { + "undefined" == typeof jQuery ? getScript(GLOBAL_CONFIG.source.jQuery).then(e) : e() + }, isHidden: function (e) { + return 0 === e.offsetHeight && 0 === e.offsetWidth + }, getEleTop: function (e) { + for (var t = e.offsetTop, n = e.offsetParent; null !== n;) t += n.offsetTop, n = n.offsetParent; + return t + } +}; \ No newline at end of file diff --git a/templates/assets/zhheo/blogex.js b/templates/assets/zhheo/blogex.js index 05c9d953..cac2147f 100644 --- a/templates/assets/zhheo/blogex.js +++ b/templates/assets/zhheo/blogex.js @@ -1,605 +1,293 @@ "use strict"; + function _createForOfIteratorHelper(e, t) { - var o = - ("undefined" != typeof Symbol && e[Symbol.iterator]) || e["@@iterator"]; + var o = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (!o) { - if ( - Array.isArray(e) || - (o = _unsupportedIterableToArray(e)) || - (t && e && "number" == typeof e.length) - ) { + if (Array.isArray(e) || (o = _unsupportedIterableToArray(e)) || t && e && "number" == typeof e.length) { o && (e = o); - var n = 0, - r = function () {}; - return { - s: r, - n: function () { - return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] }; - }, - e: function (e) { - throw e; - }, - f: r, + var n = 0, r = function () { }; + return { + s: r, n: function () { + return n >= e.length ? {done: !0} : {done: !1, value: e[n++]} + }, e: function (e) { + throw e + }, f: r + } } - throw new TypeError( - "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." - ); + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } - var a, - i = !0, - c = !1; + var a, i = !0, c = !1; return { s: function () { - o = o.call(e); - }, - n: function () { + o = o.call(e) + }, n: function () { var e = o.next(); - return (i = e.done), e; - }, - e: function (e) { - (c = !0), (a = e); - }, - f: function () { + return i = e.done, e + }, e: function (e) { + c = !0, a = e + }, f: function () { try { - i || null == o.return || o.return(); + i || null == o.return || o.return() } finally { - if (c) throw a; + if (c) throw a } - }, - }; + } + } } + function _unsupportedIterableToArray(e, t) { if (e) { if ("string" == typeof e) return _arrayLikeToArray(e, t); var o = Object.prototype.toString.call(e).slice(8, -1); - return ( - "Object" === o && e.constructor && (o = e.constructor.name), - "Map" === o || "Set" === o - ? Array.from(e) - : "Arguments" === o || - /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o) - ? _arrayLikeToArray(e, t) - : void 0 - ); + return "Object" === o && e.constructor && (o = e.constructor.name), "Map" === o || "Set" === o ? Array.from(e) : "Arguments" === o || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o) ? _arrayLikeToArray(e, t) : void 0 } } + function _arrayLikeToArray(e, t) { (null == t || t > e.length) && (t = e.length); for (var o = 0, n = new Array(t); o < t; o++) n[o] = e[o]; - return n; + return n } + function _typeof(e) { - return (_typeof = - "function" == typeof Symbol && "symbol" == typeof Symbol.iterator - ? function (e) { - return typeof e; - } - : function (e) { - return e && - "function" == typeof Symbol && - e.constructor === Symbol && - e !== Symbol.prototype - ? "symbol" - : typeof e; - })(e); + return (_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { + return typeof e + } : function (e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e + })(e) } -function checkOpen() {} -function coverColor() { - var _document$getElementB, - path = - null === - (_document$getElementB = document.getElementById("post-cover")) || - void 0 === _document$getElementB - ? void 0 - : _document$getElementB.src, - httpRequest; - void 0 !== path - ? ((httpRequest = new XMLHttpRequest()), - httpRequest.open("GET", path + "?imageAve", !0), - httpRequest.send(), - (httpRequest.onreadystatechange = function () { - var json, obj, value, value; - 4 == httpRequest.readyState && - 200 == httpRequest.status && - ((json = httpRequest.responseText), - (obj = eval("(" + json + ")")), - (value = obj.RGB), - (value = "#" + value.slice(2)), - "light" == getContrastYIQ(value) && - (value = LightenDarkenColor(colorHex(value), -40)), - document.styleSheets[0].addRule( - ":root", - "--heo-main:" + value + "!important" - ), - document.styleSheets[0].addRule( - ":root", - "--heo-main-op:" + value + "23!important" - ), - document.styleSheets[0].addRule( - ":root", - "--heo-main-op-deep:" + value + "dd!important" - ), - document.styleSheets[0].addRule( - ":root", - "--heo-main-none:" + value + "00!important" - ), - heo.initThemeColor(), - document.getElementById("coverdiv").classList.add("loaded")); - })) - : (document.styleSheets[0].addRule( - ":root", - "--heo-main: var(--heo-theme)!important" - ), - document.styleSheets[0].addRule( - ":root", - "--heo-main-op: var(--heo-theme-op)!important" - ), - document.styleSheets[0].addRule( - ":root", - "--heo-main-op-deep:var(--heo-theme-op-deep)!important" - ), - document.styleSheets[0].addRule( - ":root", - "--heo-main-none: var(--heo-theme-none)!important" - ), - heo.initThemeColor()); + +function checkOpen() { } + +// https://blog.zhheo.com/p/c86d8f1f.html +// ?imageAve 使用 七牛云获取图片主色调,阿里云 oss 则是 @imageAve +// TODO 可以切换为使用本地 JS 获取色调 +// function coverColor() { +// var _document$getElementB, +// path = null === (_document$getElementB = document.getElementById("post-cover")) || void 0 === _document$getElementB ? void 0 : _document$getElementB.src, +// httpRequest; +// void 0 !== path ? (httpRequest = new XMLHttpRequest, httpRequest.open("GET", path + "?imageAve", !0), httpRequest.send(), httpRequest.onreadystatechange = function () { +// var json, obj, value, value; +// 4 == httpRequest.readyState && 200 == httpRequest.status && (json = httpRequest.responseText, obj = eval("(" + json + ")"), value = obj.RGB, value = "#" + value.slice(2), "light" == getContrastYIQ(value) && (value = LightenDarkenColor(colorHex(value), -40)), document.styleSheets[0].addRule(":root", "--heo-main:" + value + "!important"), document.styleSheets[0].addRule(":root", "--heo-main-op:" + value + "23!important"), document.styleSheets[0].addRule(":root", "--heo-main-none:" + value + "00!important"), heo.initThemeColor(), document.getElementById("coverdiv").classList.add("loaded")) +// }) : (document.styleSheets[0].addRule(":root", "--heo-main: var(--heo-theme)!important"), document.styleSheets[0].addRule(":root", "--heo-main-op: var(--heo-theme-op)!important"), document.styleSheets[0].addRule(":root", "--heo-main-none: var(--heo-theme-none)!important"), heo.initThemeColor()) +// } + function colorHex(e) { var t = e; if (/^(rgb|RGB)/.test(t)) { - for ( - var o = t.replace(/(?:\(|\)|rgb|RGB)*/g, "").split(","), n = "#", r = 0; - r < o.length; - r++ - ) { + for (var o = t.replace(/(?:\(|\)|rgb|RGB)*/g, "").split(","), n = "#", r = 0; r < o.length; r++) { var a = Number(o[r]).toString(16); - "0" === a && (a += a), (n += a); + "0" === a && (a += a), n += a } - return 7 !== n.length && (n = t), n; + return 7 !== n.length && (n = t), n } if (!/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(t)) return t; var i = t.replace(/#/, "").split(""); if (6 === i.length) return t; if (3 === i.length) { for (var c = "#", r = 0; r < i.length; r += 1) c += i[r] + i[r]; - return c; + return c } } + function colorRgb(e) { var t = e.toLowerCase(); if (t && /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(t)) { if (4 === t.length) { - for (var o = "#", n = 1; n < 4; n += 1) - o += t.slice(n, n + 1).concat(t.slice(n, n + 1)); - t = o; + for (var o = "#", n = 1; n < 4; n += 1) o += t.slice(n, n + 1).concat(t.slice(n, n + 1)); + t = o } - for (var r = [], n = 1; n < 7; n += 2) - r.push(parseInt("0x" + t.slice(n, n + 2))); - return "rgb(" + r.join(",") + ")"; + for (var r = [], n = 1; n < 7; n += 2) r.push(parseInt("0x" + t.slice(n, n + 2))); + return "rgb(" + r.join(",") + ")" } - return t; + return t } + function LightenDarkenColor(e, t) { var o = !1; - "#" == e[0] && ((e = e.slice(1)), (o = !0)); - var n = parseInt(e, 16), - r = (n >> 16) + t; - 255 < r ? (r = 255) : r < 0 && (r = 0); - var a = ((n >> 8) & 255) + t; - 255 < a ? (a = 255) : a < 0 && (a = 0); + "#" == e[0] && (e = e.slice(1), o = !0); + var n = parseInt(e, 16), r = (n >> 16) + t; + 255 < r ? r = 255 : r < 0 && (r = 0); + var a = (n >> 8 & 255) + t; + 255 < a ? a = 255 : a < 0 && (a = 0); var i = (255 & n) + t; - return ( - 255 < i ? (i = 255) : i < 0 && (i = 0), - (o ? "#" : "") + - String("000000" + (i | (a << 8) | (r << 16)).toString(16)).slice(-6) - ); + return 255 < i ? i = 255 : i < 0 && (i = 0), (o ? "#" : "") + String("000000" + (i | a << 8 | r << 16).toString(16)).slice(-6) } + function getContrastYIQ(e) { - var t = colorRgb(e).match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/), - o = 299 * t[1] + 587 * t[2] + 114 * t[3]; - return 0.5 <= (o /= 255e3) ? "light" : "dark"; + var t = colorRgb(e).match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/), o = 299 * t[1] + 587 * t[2] + 114 * t[3]; + return .5 <= (o /= 255e3) ? "light" : "dark" } + function navTitle() { - var e = document.title.replace(" | 张洪Heo", ""); - document.getElementById("page-name-text").innerHTML = e; + var e = document.title.replace(" | halo", ""); + document.getElementById("page-name-text").innerHTML = e } -function showcopy() { - var e; - void 0 !== GLOBAL_CONFIG.Snackbar - ? btf.snackbarShow(GLOBAL_CONFIG.copy.success) - : (((e = ctx.previousElementSibling).innerText = - GLOBAL_CONFIG.copy.success), - (e.style.opacity = 1), - setTimeout(function () { - e.style.opacity = 0; - }, 700)); -} -(checkOpen.toString = function () { - this.opened = !0; -}), - (window.onload = function () { - for ( - var e = document.getElementsByClassName("copybtn"), t = 0; - t < e.length; - t++ - ) - document - .getElementsByClassName("copybtn") - [t].addEventListener("click", function () { - showcopy(); - }); - heo.initThemeColor(); + +checkOpen.toString = function () { + this.opened = !0 +}, window.onload = function () { + for (var e = document.getElementsByClassName("copybtn"), t = 0; t < e.length; t++) document.getElementsByClassName("copybtn")[t].addEventListener("click", function () { + showcopy() }); -var getTimeState = function () { - var e = new Date().getHours(), - t = ""; - return ( - 0 <= e && e <= 5 - ? (t = "晚安") - : 5 < e && e <= 10 - ? (t = "早上好") - : 10 < e && e <= 14 - ? (t = "中午好") - : 14 < e && e <= 18 - ? (t = "下午好") - : 18 < e && e <= 24 && (t = "晚上好"), - t - ); + heo.initThemeColor() }; + +var getTimeState = function () { + var e = (new Date).getHours(), t = ""; + return 0 <= e && e <= 5 ? t = "晚安" : 5 < e && e <= 10 ? t = "早上好" : 10 < e && e <= 14 ? t = "中午好" : 14 < e && e <= 18 ? t = "下午好" : 18 < e && e <= 24 && (t = "晚上好"), t +}; + function fly_to_top() { - document.getElementById("guli_top").classList.add("open_wing"), - setTimeout(function () { - document.getElementById("guli_top").classList.add("flying"), - btf.scrollToDest(0, 300); - }, 300), - setTimeout(function () { - document.getElementById("guli_top").classList.remove("flying"), - document.getElementById("guli_top").classList.remove("open_wing"), - (document.getElementById("guli_top").style.cssText = - "opacity: ''; transform: ''"); - }, 600); + document.getElementById("guli_top").classList.add("open_wing"), setTimeout(function () { + document.getElementById("guli_top").classList.add("flying"), btf.scrollToDest(0, 300) + }, 300), setTimeout(function () { + document.getElementById("guli_top").classList.remove("flying"), document.getElementById("guli_top").classList.remove("open_wing"), document.getElementById("guli_top").style.cssText = "opacity: ''; transform: ''" + }, 600) } + var navFn = { switchDarkMode: function () { - "light" == - ("dark" === document.documentElement.getAttribute("data-theme") - ? "dark" - : "light") - ? (activateDarkMode(), - saveToLocal.set("theme", "dark", 2), - void 0 !== GLOBAL_CONFIG.Snackbar && - btf.snackbarShow(GLOBAL_CONFIG.Snackbar.day_to_night, !1, 2e3)) - : (activateLightMode(), - saveToLocal.set("theme", "light", 2), - void 0 !== GLOBAL_CONFIG.Snackbar && - btf.snackbarShow(GLOBAL_CONFIG.Snackbar.night_to_day, !1, 2e3)), - "function" == typeof utterancesTheme && utterancesTheme(), - "object" === ("undefined" == typeof FB ? "undefined" : _typeof(FB)) && - window.loadFBComment(), - window.DISQUS && - document.getElementById("disqus_thread").children.length && - setTimeout(function () { - return window.disqusReset(); + "light" == ("dark" === document.documentElement.getAttribute("data-theme") ? "dark" : "light") ? (activateDarkMode(), saveToLocal.set("theme", "dark", 2), void 0 !== GLOBAL_CONFIG.Snackbar && btf.snackbarShow(GLOBAL_CONFIG.Snackbar.day_to_night, !1, 2e3)) : (activateLightMode(), saveToLocal.set("theme", "light", 2), void 0 !== GLOBAL_CONFIG.Snackbar && btf.snackbarShow(GLOBAL_CONFIG.Snackbar.night_to_day, !1, 2e3)), "function" == typeof utterancesTheme && utterancesTheme(), "object" === ("undefined" == typeof FB ? "undefined" : _typeof(FB)) && window.loadFBComment(), window.DISQUS && document.getElementById("disqus_thread").children.length && setTimeout(function () { + return window.disqusReset() }, 200); - var e, - t, - o, - n = - "light" === document.documentElement.getAttribute("data-theme") - ? "#363636" - : "#F7F7FA"; - document.getElementById("posts-chart") && - (((e = postsOption).textStyle.color = n), - (e.title.textStyle.color = n), - (e.xAxis.axisLine.lineStyle.color = n), - (e.yAxis.axisLine.lineStyle.color = n), - postsChart.setOption(e)), - document.getElementById("tags-chart") && - (((t = tagsOption).textStyle.color = n), - (t.title.textStyle.color = n), - (t.xAxis.axisLine.lineStyle.color = n), - (t.yAxis.axisLine.lineStyle.color = n), - tagsChart.setOption(t)), - document.getElementById("categories-chart") && - (((o = categoriesOption).textStyle.color = n), - (o.title.textStyle.color = n), - (o.legend.textStyle.color = n), - categoriesChart.setOption(o)); - }, + var e, t, o, n = "light" === document.documentElement.getAttribute("data-theme") ? "#363636" : "#F7F7FA"; + document.getElementById("posts-chart") && ((e = postsOption).textStyle.color = n, e.title.textStyle.color = n, e.xAxis.axisLine.lineStyle.color = n, e.yAxis.axisLine.lineStyle.color = n, postsChart.setOption(e)), document.getElementById("tags-chart") && ((t = tagsOption).textStyle.color = n, t.title.textStyle.color = n, t.xAxis.axisLine.lineStyle.color = n, t.yAxis.axisLine.lineStyle.color = n, tagsChart.setOption(t)), document.getElementById("categories-chart") && ((o = categoriesOption).textStyle.color = n, o.title.textStyle.color = n, o.legend.textStyle.color = n, categoriesChart.setOption(o)) + } }; + function RemoveRewardMask() { - $(".reward-main").attr("style", "display: none"), - $("#quit-box").attr("style", "display: none"); -} -function AddRewardMask() { - $(".reward-main").attr("style", "display: flex"); -} -function travelling() { - fetch("https://moments.zhheo.com/randomfriend") - .then(function (e) { - return e.json(); - }) - .then(function (e) { - var t = e.name, - o = e.link, - n = - "点击前往按钮进入随机一个友链,不保证跳转网站的安全性和可用性。本次随机到的是本站友链:「" + - t + - "」"; - document.styleSheets[0].addRule( - ":root", - "--heo-snackbar-time:8000ms!important" - ), - Snackbar.show({ - text: n, - duration: 8e3, - pos: "top-center", - actionText: "前往", - onActionClick: function (e) { - $(e).css("opacity", 0), window.open(o, "_blank"); - }, - }); - }); -} -function toforeverblog() { - Snackbar.show({ - text: "点击前往按钮进入「十年之约」项目中的成员博客,不保证跳转网站的安全性和可用性", - duration: 8e3, - pos: "top-center", - actionText: "前往", - onActionClick: function (e) { - $(e).css("opacity", 0), - window.open(link, "https://www.foreverblog.cn/go.html"); - }, - }); -} -function totraveling() { - btf.snackbarShow( - "即将跳转到「开往」项目的成员博客,不保证跳转网站的安全性和可用性", - !1, - 5e3 - ), - setTimeout(function () { - window.open("https://travellings.link/"); - }, "5000"); + $(".reward-main").attr("style", "display: none"), $("#quit-box").attr("style", "display: none") } +// 移除加载动画 function removeLoading() { setTimeout(function () { - preloader.endLoading(); - }, 3e3); -} -function addFriendLink() { - var e = document.getElementsByClassName("el-textarea__inner")[0], - t = document.createEvent("HTMLEvents"); - t.initEvent("input", !0, !0), - (e.value = "昵称:\n网站地址:\n头像图片url:\n描述:\n"), - e.dispatchEvent(t), - heo.scrollTo("#post-comment"), - e.focus(), - e.setSelectionRange(-1, -1); + preloader.endLoading() + }, 3e3) } + function getArrayItems(e, t) { - var o = new Array(); + var o = new Array; for (var n in e) o.push(e[n]); - for (var r = new Array(), a = 0; a < t && 0 < o.length; a++) { + for (var r = new Array, a = 0; a < t && 0 < o.length; a++) { var i = Math.floor(Math.random() * o.length); - (r[a] = o[i]), o.splice(i, 1); + r[a] = o[i], o.splice(i, 1) } - return r; + return r } + function owoBig() { - document - .getElementById("post-comment") - .addEventListener("DOMNodeInserted", function (e) { - var t, o, n, a; - !e.target.classList || - "OwO-body" != e.target.classList.value || - ((t = e.target) && - ((n = !(o = "")), - ((a = document.createElement("div")).id = "owo-big"), - document.querySelector("body").appendChild(a), - t.addEventListener("contextmenu", function (e) { - return e.preventDefault(); - }), - t.addEventListener("mouseover", function (r) { - "LI" == r.target.tagName && - n && - ((n = !1), - (o = setTimeout(function () { - var e = 3 * r.path[0].clientHeight, - t = 3 * r.path[0].clientWidth, - o = r.x - r.offsetX - (t - r.path[0].clientWidth) / 2, - n = r.y - r.offsetY; - (a.style.height = e + "px"), - (a.style.width = t + "px"), - (a.style.left = o + "px"), - (a.style.top = n + "px"), - (a.style.display = "flex"), - (a.innerHTML = '' - )); - }, 300))); - }), - t.addEventListener("mouseout", function (e) { - (a.style.display = "none"), (n = !0), clearTimeout(o); - }))); - }); + document.getElementById("post-comment").addEventListener("DOMNodeInserted", function (e) { + var t, o, n, a; + !e.target.classList || "OwO-body" != e.target.classList.value || (t = e.target) && (n = !(o = ""), (a = document.createElement("div")).id = "owo-big", document.querySelector("body").appendChild(a), t.addEventListener("contextmenu", function (e) { + return e.preventDefault() + }), t.addEventListener("mouseover", function (r) { + "LI" == r.target.tagName && n && (n = !1, o = setTimeout(function () { + var e = 3 * r.path[0].clientHeight, t = 3 * r.path[0].clientWidth, + o = r.x - r.offsetX - (t - r.path[0].clientWidth) / 2, n = r.y - r.offsetY; + a.style.height = e + "px", a.style.width = t + "px", a.style.left = o + "px", a.style.top = n + "px", a.style.display = "flex", a.innerHTML = '') + }, 300)) + }), t.addEventListener("mouseout", function (e) { + a.style.display = "none", n = !0, clearTimeout(o) + })) + }) } + function percent() { var e = document.documentElement.scrollTop || window.pageYOffset, - t = - Math.max( - document.body.scrollHeight, - document.documentElement.scrollHeight, - document.body.offsetHeight, - document.documentElement.offsetHeight, - document.body.clientHeight, - document.documentElement.clientHeight - ) - document.documentElement.clientHeight, - o = Math.round((e / t) * 100), - n = document.querySelector("#percent"), + t = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight) - document.documentElement.clientHeight, + o = Math.round(e / t * 100), n = document.querySelector("#percent"), r = window.scrollY + document.documentElement.clientHeight, - a = - document.getElementById("post-tools") || - document.getElementById("footer"); - a.offsetTop + a.offsetHeight / 2 < r || 90 < o - ? (document.querySelector("#nav-totop").classList.add("long"), - (n.innerHTML = "返回顶部")) - : (document.querySelector("#nav-totop").classList.remove("long"), - (n.innerHTML = o)), - (window.onscroll = percent); + a = document.getElementById("post-tools") || document.getElementById("footer"); + a.offsetTop + a.offsetHeight / 2 < r || 90 < o ? (document.querySelector("#nav-totop").classList.add("long"), n.innerHTML = "返回顶部") : (document.querySelector("#nav-totop").classList.remove("long"), n.innerHTML = o) } -document.addEventListener( - "touchstart", - function (e) { - RemoveRewardMask(); - }, - !1 -), - $(document) - .unbind("keydown") - .bind("keydown", function (e) { - if ((e.ctrlKey || e.metaKey) && 67 == e.keyCode && "" != selectTextNow) - return ( - btf.snackbarShow("复制成功,复制和转载请标注本文地址"), - rm.rightmenuCopyText(selectTextNow), - !1 - ); - }), - document.addEventListener( - "scroll", - btf.throttle(function () { - heo.initThemeColor(); - }, 200) - ), - navigator.serviceWorker.getRegistrations().then(function (e) { - var t, - o = _createForOfIteratorHelper(e); - try { - for (o.s(); !(t = o.n()).done; ) { - t.value.unregister(); - } - } catch (e) { - o.e(e); - } finally { - o.f(); + +document.addEventListener("touchstart", function (e) { + RemoveRewardMask() +}, !1); + +$(document).unbind("keydown").bind("keydown", function (e) { + if ((e.ctrlKey || e.metaKey) && 67 == e.keyCode && "" != selectTextNow) return btf.snackbarShow("复制成功,复制和转载请标注本文地址"), rm.rightmenuCopyText(selectTextNow), !1 +}); + +document.addEventListener("scroll", btf.throttle(function () { + heo.initThemeColor() +}, 200)); + +navigator.serviceWorker.getRegistrations().then(function (e) { + var t, o = _createForOfIteratorHelper(e); + try { + for (o.s(); !(t = o.n()).done;) { + t.value.unregister() } - }), - (window.onkeydown = function (e) { - 123 === e.keyCode && - btf.snackbarShow("开发者模式已打开,请遵循GPL协议", !1, 3e3); - }), - document - .querySelector("#algolia-search") - .addEventListener("wheel", function (e) { - e.preventDefault(); - }), - document.querySelector("#console").addEventListener("wheel", function (e) { - e.preventDefault(); - }), - window.addEventListener("resize", function () { - document.querySelector("#waterfall") && heo.reflashEssayWaterFall(); - }), - $(".topGroup").hover( - function () { - console.log("卡片悬浮"); - }, - function () { - (hoverOnCommentBarrage = !1), - document.getElementById("todayCard").classList.remove("hide"), - (document.getElementById("todayCard").style.zIndex = 1), - console.log("卡片停止悬浮"); - } - ), -document.getElementById("post-comment") && owoBig(), - document.addEventListener( - "scroll", - btf.throttle(function () { - var e, - t = window.scrollY + document.documentElement.clientHeight, - o = (window.scrollY, document.getElementById("pagination")), - n = document.getElementById("post-tools"); - n && - o && - ((e = n.offsetTop + n.offsetHeight / 2), - 1300 < document.body.clientWidth && - (e < t - ? o.classList.add("show-window") - : o.classList.remove("show-window"))); - }, 200) - ), - "false" !== localStorage.getItem("keyboardToggle") - ? document.querySelector("#consoleKeyboard").classList.add("on") - : document.querySelector("#consoleKeyboard").classList.remove("on"), - $(window).on("keydown", function (e) { - if ( - (27 == e.keyCode && - (heo.hideLoading(), heo.hideConsole(), rm.hideRightMenu()), - heo_keyboard && e.shiftKey && !heo_intype) - ) { - if ( - (16 == e.keyCode && - document.querySelector("#keyboard-tips").classList.add("show"), - 75 == e.keyCode) - ) - return heo.keyboardToggle(), !1; - if (65 == e.keyCode) return heo.showConsole(), !1; - if (77 == e.keyCode) return heo.musicToggle(), !1; - if (82 == e.keyCode) return toRandomPost(), !1; - if (72 == e.keyCode) return pjax.loadUrl("/"), !1; - if (68 == e.keyCode) return rm.switchDarkMode(), !1; - if (70 == e.keyCode) return pjax.loadUrl("/moments/"), !1; - if (76 == e.keyCode) return pjax.loadUrl("/link/"), !1; - if (80 == e.keyCode) return pjax.loadUrl("/about/"), !1; - if (84 == e.keyCode) return pjax.loadUrl("/tlink/"), !1; - } - }), - $(window).on("keyup", function (e) { - 16 == e.keyCode && - document.querySelector("#keyboard-tips").classList.remove("show"); - }), - (window.onfocus = function () { - document.querySelector("#keyboard-tips").classList.remove("show"); - }), - document.addEventListener("pjax:send", function () { - heo.showLoading(); - }), - document.addEventListener("pjax:complete", function () { - coverColor(), - addRightMenuClickEvent(), - navTitle(), - percent(), - heo.topPostScroll(), - heo.topCategoriesBarScroll(), - heo.sayhi(), - heo.addTag(), - heo.stopImgRightDrag(), - heo.addFriendLinksInFooter(), - heo.qrcodeCreate(), - heo.hidecookie(), - heo.onlyHome(), - heo.addNavBackgroundInit(), - heo.initIndexEssay(), - heo.changeTimeInEssay(), - heo.reflashEssayWaterFall(), - heo.addMediumInEssay(), - heo.darkModeStatus(), - heo.categoriesBarActive(), - heo.initThemeColor(), - heo.hideLoading(), - heo.tagPageActive(); - }), - $("input").focus(function () { - heo_intype = !0; - }), - $("textarea").focus(function () { - heo_intype = !0; - }), - $("input").focusout(function () { - heo_intype = !1; - }), - $("textarea").focusout(function () { - heo_intype = !1; + } catch (e) { + o.e(e) + } finally { + o.f() + } +}); + +window.onkeydown = function (e) { + 123 === e.keyCode && btf.snackbarShow("开发者模式已打开,请遵循GPL协议", !1, 3e3) +}; + +document.querySelector("#console").addEventListener("wheel", function (e) { + e.preventDefault() +}); + +window.addEventListener("resize", function () { + document.querySelector("#waterfall") && heo.reflashEssayWaterFall() +}); + + +document.getElementById("post-comment") && owoBig(), document.addEventListener("scroll", btf.throttle(function () { + var e, t = window.scrollY + document.documentElement.clientHeight, + o = (window.scrollY, document.getElementById("pagination")), n = document.getElementById("post-tools"); + n && o && (e = n.offsetTop + n.offsetHeight / 2, 1300 < document.body.clientWidth && (e < t ? o.classList.add("show-window") : o.classList.remove("show-window"))) +}, 200)), "false" !== localStorage.getItem("keyboardToggle") ? document.querySelector("#consoleKeyboard").classList.add("on") : document.querySelector("#consoleKeyboard").classList.remove("on"), $(window).on("keydown", function (e) { + if (27 == e.keyCode && (heo.hideLoading(), heo.hideConsole(), rm.hideRightMenu()), heo_keyboard && e.shiftKey) { + if (16 == e.keyCode && document.querySelector("#keyboard-tips").classList.add("show"), 75 == e.keyCode) return heo.keyboardToggle(), !1; + if (65 == e.keyCode) return heo.showConsole(), !1; + if (77 == e.keyCode) return heo.musicToggle(), !1; + if (82 == e.keyCode) return toRandomPost(), !1; + if (66 == e.keyCode) return pjax.loadUrl("/"), !1; + if (68 == e.keyCode) return rm.switchDarkMode(), !1; + if (70 == e.keyCode) return pjax.loadUrl("/moments/"), !1 + } +}); + +$(window).on("keyup", function (e) { + 16 == e.keyCode && document.querySelector("#keyboard-tips").classList.remove("show") +}); + +document.addEventListener("pjax:send", function () { + //heo.showLoading() +}); + +document.addEventListener("load", function () { + heo.categoriesBarActive(); + heo.tagPageActive(); + heo.onlyHome(); + heo.addNavBackgroundInit(); + heo.reflashEssayWaterFall(); + heo.darkModeStatus(); + heo.initThemeColor(); + percent(); + heo.hideLoading(); +}); +heo.initThemeColor(); +window.onscroll = function () { + percent(); +}; + + + +function imgError(url) { + $("img").on("error", function () { + $(this).attr("src", url); }); +} + + diff --git a/templates/modules/head.html b/templates/modules/head.html index aae36faf..3b5acb64 100644 --- a/templates/modules/head.html +++ b/templates/modules/head.html @@ -45,7 +45,6 @@ relativeDate: {homepage: !0, post: !1}, runtime: "天", date_suffix: {just: "刚刚", min: "分钟前", hour: "小时前", day: "天前", month: "个月前"}, - copyright: void 0, lightbox: "fancybox", Snackbar: { chs_to_cht: "你已切换为繁体", @@ -56,18 +55,18 @@ bgDark: "#121212", position: "top-center" }, - source: { - jQuery: "https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.min.js", - justifiedGallery: { - js: "https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/justifiedGallery/3.8.1/js/jquery.justifiedGallery.min.js", - css: "https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/justifiedGallery/3.8.1/css/justifiedGallery.min.css" - }, - fancybox: { - // https://fancyapps.com/docs/ui/installation - js: "https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/fancybox/3.5.7/jquery.fancybox.min.js", - css: "https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/fancybox/3.5.7/jquery.fancybox.min.css" - } - }, + // source: { + // jQuery: "https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.min.js", + // justifiedGallery: { + // js: "https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/justifiedGallery/3.8.1/js/jquery.justifiedGallery.min.js", + // css: "https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/justifiedGallery/3.8.1/css/justifiedGallery.min.css" + // }, + // fancybox: { + // // https://fancyapps.com/docs/ui/installation + // js: "https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/fancybox/3.5.7/jquery.fancybox.min.js", + // css: "https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/fancybox/3.5.7/jquery.fancybox.min.css" + // } + // }, }