diff --git a/templates/assets/js/heo.js b/templates/assets/js/heo.js index 7e65c338..ed1080b6 100644 --- a/templates/assets/js/heo.js +++ b/templates/assets/js/heo.js @@ -1,126 +1,309 @@ "use strict"; -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 +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); + }, + }; diff --git a/templates/assets/js/main.js b/templates/assets/js/main.js index 84c4fe33..902bcc40 100644 --- a/templates/assets/js/main.js +++ b/templates/assets/js/main.js @@ -1,232 +1,765 @@ "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"); } - - 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 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; 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) - }) + 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) + )); } - 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) - }, 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 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, 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) - }; - + 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); + }; + 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(); + } + }); 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, .5), d.classList.remove("open") + (f.style.overflow = ""), + (f.style.paddingRight = ""), + btf.fadeOut(u, 0.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, .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) { + 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) { 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: ''" + this.classList.toggle("open"), + this.classList.contains("open") && + 0 < e.querySelectorAll(".justified-gallery").length && + btf.initJustifiedGallery( + e.querySelectorAll(".justified-gallery") + ); }); - p || "function" != typeof loadOtherComment || (p = !0, loadOtherComment()) + }), + 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()); }); - }; - 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 + }), + 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"); + }); + }), + 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); + })); +}); diff --git a/templates/assets/js/utils.js b/templates/assets/js/utils.js index a2ee41cb..71206558 100644 --- a/templates/assets/js/utils.js +++ b/templates/assets/js/utils.js @@ -1,119 +1,224 @@ "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; + 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) + (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 - } -}; \ No newline at end of file + 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; + }, +}; diff --git a/templates/assets/zhheo/blogex.js b/templates/assets/zhheo/blogex.js index 727b2e62..05c9d953 100644 --- a/templates/assets/zhheo/blogex.js +++ b/templates/assets/zhheo/blogex.js @@ -1,286 +1,605 @@ "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 () { - }; + 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 - } + 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 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()); } - -// 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 .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 0.5 <= (o /= 255e3) ? "light" : "dark"; } - function navTitle() { - var e = document.title.replace(" | halo", ""); - document.getElementById("page-name-text").innerHTML = e + var e = document.title.replace(" | 张洪Heo", ""); + document.getElementById("page-name-text").innerHTML = e; } - -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() +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(); }); - 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 + 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") + $(".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"); } -// 移除加载动画 function removeLoading() { setTimeout(function () { - preloader.endLoading() - }, 3e3) + 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); } - 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"), - 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) + 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); } - -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() +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(); } - } 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(); -}; - - - + }), + (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; + }); diff --git a/templates/assets/zhheo/rightmenu.js b/templates/assets/zhheo/rightmenu.js index 8e53f28e..2cc1ba58 100644 --- a/templates/assets/zhheo/rightmenu.js +++ b/templates/assets/zhheo/rightmenu.js @@ -2,180 +2,344 @@ function asyncGeneratorStep(e, n, t, o, i, r, c) { try { - var m = e[r](c), a = m.value + var m = e[r](c), + a = m.value; } catch (e) { - return void t(e) + return void t(e); } - m.done ? n(a) : Promise.resolve(a).then(o, i) + m.done ? n(a) : Promise.resolve(a).then(o, i); } function _asyncToGenerator(m) { return function () { - var e = this, c = arguments; + var e = this, + c = arguments; return new Promise(function (n, t) { var o = m.apply(e, c); function i(e) { - asyncGeneratorStep(o, n, t, i, r, "next", e) + asyncGeneratorStep(o, n, t, i, r, "next", e); } function r(e) { - asyncGeneratorStep(o, n, t, i, r, "throw", e) + asyncGeneratorStep(o, n, t, i, r, "throw", e); } - i(void 0) - }) - } + i(void 0); + }); + }; } var rm = {}; -rm.stopdragimg = $("img"), rm.stopdragimg.on("dragstart", function () { - return !1 -}), rm.showRightMenu = function (e) { - var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 0, - t = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : 0, o = $("#rightMenu"); - o.css("top", n + "px").css("left", t + "px"), e ? (o.show(), stopMaskScroll()) : o.hide() -}, rm.hideRightMenu = function () { - rm.showRightMenu(!1), $("#rightmenu-mask").attr("style", "display: none") -}; -var rmWidth = $("#rightMenu").width(), rmHeight = $("#rightMenu").height(); +(rm.stopdragimg = $("img")), + rm.stopdragimg.on("dragstart", function () { + return !1; + }), + (rm.showRightMenu = function (e) { + var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 0, + t = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : 0, + o = $("#rightMenu"); + o.css("top", n + "px").css("left", t + "px"), + e ? (o.show(), stopMaskScroll()) : o.hide(); + }), + (rm.hideRightMenu = function () { + rm.showRightMenu(!1), $("#rightmenu-mask").attr("style", "display: none"); + }); +var rmWidth = $("#rightMenu").width(), + rmHeight = $("#rightMenu").height(); rm.reloadrmSize = function () { - rmWidth = $("#rightMenu").width(), rmHeight = $("#rightMenu").height() + (rmWidth = $("#rightMenu").width()), (rmHeight = $("#rightMenu").height()); }; -var domhref = "", domImgSrc = "", globalEvent = null; +var domhref = "", + domImgSrc = "", + globalEvent = null; function imageToBlob(e) { - var t = new Image, o = document.createElement("canvas"), i = o.getContext("2d"); - return t.crossOrigin = "", t.src = e, new Promise(function (n) { - t.onload = function () { - o.width = this.naturalWidth, o.height = this.naturalHeight, i.drawImage(this, 0, 0), o.toBlob(function (e) { - n(e) - }, "image/png", .75) - } - }) + var t = new Image(), + o = document.createElement("canvas"), + i = o.getContext("2d"); + return ( + (t.crossOrigin = ""), + (t.src = e), + new Promise(function (n) { + t.onload = function () { + (o.width = this.naturalWidth), + (o.height = this.naturalHeight), + i.drawImage(this, 0, 0), + o.toBlob( + function (e) { + n(e); + }, + "image/png", + 0.75 + ); + }; + }) + ); } function copyImage(e) { - return _copyImage.apply(this, arguments) + return _copyImage.apply(this, arguments); } function _copyImage() { - return (_copyImage = _asyncToGenerator(regeneratorRuntime.mark(function e(n) { - var t, o; - return regeneratorRuntime.wrap(function (e) { - for (; ;) switch (e.prev = e.next) { - case 0: - return e.next = 2, imageToBlob(n); - case 2: - t = e.sent, o = new ClipboardItem({"image/png": t}), navigator.clipboard.write([o]); - case 5: - case"end": - return e.stop() - } - }, e) - }))).apply(this, arguments) + return (_copyImage = _asyncToGenerator( + regeneratorRuntime.mark(function e(n) { + var t, o; + return regeneratorRuntime.wrap(function (e) { + for (; ;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), imageToBlob(n); + case 2: + (t = e.sent), + (o = new ClipboardItem({"image/png": t})), + navigator.clipboard.write([o]); + case 5: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); } function stopMaskScroll() { - document.getElementById("rightmenu-mask") && document.getElementById("rightmenu-mask").addEventListener("mousewheel", function (e) { - rm.hideRightMenu() - }, !1), document.getElementById("rightMenu") && document.getElementById("rightMenu").addEventListener("mousewheel", function (e) { - rm.hideRightMenu() - }, !1) + document.getElementById("rightmenu-mask") && + document.getElementById("rightmenu-mask").addEventListener( + "mousewheel", + function (e) { + rm.hideRightMenu(); + }, + !1 + ), + document.getElementById("rightMenu") && + document.getElementById("rightMenu").addEventListener( + "mousewheel", + function (e) { + rm.hideRightMenu(); + }, + !1 + ); } -window.oncontextmenu = function (e) { +(window.oncontextmenu = function (e) { if (768 < document.body.clientWidth) { - var n = e.clientX + 10, t = e.clientY, o = $(".rightMenuOther"), i = $(".rightMenuPlugin"), - r = $("#menu-copytext"), c = $("#menu-pastetext"), m = $("#menu-commenttext"), a = $("#menu-newwindow"), - u = $("#menu-copylink"), h = $("#menu-copyimg"), d = $("#menu-downloadimg"), s = $("#menu-search"), - l = $("#menu-searchBaidu"), g = $("#menu-music-toggle"), w = $("#menu-music-back"), - p = $("#menu-music-forward"), f = $("#menu-music-playlist"), k = $("#menu-music-copyMusicName"), - y = e.target.href, v = e.target.currentSrc, M = !1; - return o.show(), globalEvent = e, selectTextNow && window.getSelection() ? (M = !0, r.show(), m.show(), s.show(), l.show()) : (r.hide(), m.hide(), l.hide(), s.hide()), y ? (M = !0, a.show(), u.show(), domhref = y) : (a.hide(), u.hide()), v ? (M = !0, h.show(), d.show(), domImgSrc = v) : (h.hide(), d.hide()), "input" === e.target.tagName.toLowerCase() || "textarea" === e.target.tagName.toLowerCase() ? (console.log("这是一个输入框"), M = !0, c.show()) : c.hide(), "METING-JS" == e.target.nodeName ? (console.log("这是一个音乐"), M = !0, g.show(), w.show(), p.show(), f.show(), k.show()) : (g.hide(), w.hide(), p.hide(), f.hide(), k.hide()), M ? (o.hide(), i.show()) : i.hide(), rm.reloadrmSize(), n + rmWidth > window.innerWidth && (n -= rmWidth + 10), t + rmHeight > window.innerHeight && (t -= t + rmHeight - window.innerHeight), rm.showRightMenu(!0, t, n), $("#rightmenu-mask").attr("style", "display: flex"), !1 + var n = e.clientX + 10, + t = e.clientY, + o = $(".rightMenuOther"), + i = $(".rightMenuPlugin"), + r = $("#menu-copytext"), + c = $("#menu-pastetext"), + m = $("#menu-commenttext"), + a = $("#menu-newwindow"), + u = $("#menu-copylink"), + h = $("#menu-copyimg"), + d = $("#menu-downloadimg"), + s = $("#menu-search"), + l = $("#menu-searchBaidu"), + g = $("#menu-music-toggle"), + w = $("#menu-music-back"), + f = $("#menu-music-forward"), + p = $("#menu-music-playlist"), + k = $("#menu-music-copyMusicName"), + y = e.target.href, + v = e.target.currentSrc, + M = !1; + return ( + o.show(), + (globalEvent = e), + selectTextNow && window.getSelection() + ? ((M = !0), r.show(), m.show(), s.show(), l.show()) + : (r.hide(), m.hide(), l.hide(), s.hide()), + y ? ((M = !0), a.show(), u.show(), (domhref = y)) : (a.hide(), u.hide()), + v + ? ((M = !0), h.show(), d.show(), (domImgSrc = v)) + : (h.hide(), d.hide()), + "input" === e.target.tagName.toLowerCase() || + "textarea" === e.target.tagName.toLowerCase() + ? (console.log("这是一个输入框"), (M = !0), c.show()) + : c.hide(), + "METING-JS" == e.target.nodeName + ? (console.log("这是一个音乐"), + (M = !0), + g.show(), + w.show(), + f.show(), + p.show(), + k.show()) + : (g.hide(), w.hide(), f.hide(), p.hide(), k.hide()), + M ? (o.hide(), i.show()) : i.hide(), + rm.reloadrmSize(), + n + rmWidth > window.innerWidth && (n -= rmWidth + 10), + t + rmHeight > window.innerHeight && + (t -= t + rmHeight - window.innerHeight), + rm.showRightMenu(!0, t, n), + $("#rightmenu-mask").attr("style", "display: flex"), + !1 + ); } -}, rm.downloadimging = !1, rm.writeClipImg = function (e) { - console.log("按下复制"), rm.hideRightMenu(), btf.snackbarShow("正在下载中,请稍后", !1, 1e4), 0 == rm.downloadimging && (rm.downloadimging = !0, setTimeout(function () { - copyImage(e), btf.snackbarShow("复制成功!图片已添加盲水印,请遵守版权协议"), rm.downloadimging = !1 - }, "10000")) -}, rm.switchDarkMode = function () { - navFn.switchDarkMode(), rm.hideRightMenu(), heo.darkModeStatus() -}, rm.copyUrl = function (e) { - $("body").after(""); - var n = e, t = document.getElementById("copyVal"); - t.value = n, t.select(), t.setSelectionRange(0, t.value.length), document.execCommand("copy"), $("#copyVal").remove() -}, rm.rightmenuCopyText = function (e) { - navigator.clipboard && navigator.clipboard.writeText(e), rm.hideRightMenu() -}, rm.copyPageUrl = function () { - var e = window.location.href; - rm.copyUrl(e), btf.snackbarShow("复制本页链接地址成功", !1, 2e3), rm.hideRightMenu() -}, rm.sharePage = function () { - window.location.href; - rm.copyUrl(url), btf.snackbarShow("复制本页链接地址成功", !1, 2e3), rm.hideRightMenu() -}; +}), + (rm.downloadimging = !1), + (rm.writeClipImg = function (e) { + console.log("按下复制"), + rm.hideRightMenu(), + btf.snackbarShow("正在下载中,请稍后", !1, 1e4), + 0 == rm.downloadimging && + ((rm.downloadimging = !0), + setTimeout(function () { + copyImage(e), + btf.snackbarShow("复制成功!图片已添加盲水印,请遵守版权协议"), + (rm.downloadimging = !1); + }, "10000")); + }), + (rm.switchDarkMode = function () { + navFn.switchDarkMode(), rm.hideRightMenu(), heo.darkModeStatus(); + }), + (rm.copyUrl = function (e) { + $("body").after(""); + var n = e, + t = document.getElementById("copyVal"); + (t.value = n), + t.select(), + t.setSelectionRange(0, t.value.length), + document.execCommand("copy"), + $("#copyVal").remove(); + }), + (rm.rightmenuCopyText = function (e) { + navigator.clipboard && navigator.clipboard.writeText(e), rm.hideRightMenu(); + }), + (rm.copyPageUrl = function () { + var e = window.location.href; + rm.copyUrl(e), + btf.snackbarShow("复制本页链接地址成功", !1, 2e3), + rm.hideRightMenu(); + }), + (rm.sharePage = function () { + window.location.href; + rm.copyUrl(url), + btf.snackbarShow("复制本页链接地址成功", !1, 2e3), + rm.hideRightMenu(); + }); var selectTextNow = ""; function selceText() { - var e = document.selection ? document.selection.createRange().text : window.getSelection() + ""; - selectTextNow = e || "" + var e = document.selection + ? document.selection.createRange().text + : window.getSelection() + ""; + selectTextNow = e || ""; } function replaceAll(e, n, t) { - return e.split(n).join(t) + return e.split(n).join(t); } function addRightMenuClickEvent() { $("#menu-backward").on("click", function () { - window.history.back(), rm.hideRightMenu() - }), $("#menu-forward").on("click", function () { - window.history.forward(), rm.hideRightMenu() - }), $("#menu-refresh").on("click", function () { - window.location.reload() - }), $("#menu-top").on("click", function () { - btf.scrollToDest(0, 500), rm.hideRightMenu() - }), $(".menu-link").on("click", rm.hideRightMenu), $("#menu-darkmode").on("click", rm.switchDarkMode), $("#menu-home").on("click", function () { - window.location.href = window.location.origin - }), $("#menu-randomPost").on("click", function () { - toRandomPost() - }), $("#menu-translate").on("click", function () { - rm.hideRightMenu(), translateInitialization() - }), $("#menu-copy").on("click", rm.copyPageUrl), $("#menu-pastetext").on("click", rm.pasteText), $("#menu-copytext").on("click", function () { - rm.rightmenuCopyText(selectTextNow), btf.snackbarShow("复制成功,复制和转载请标注本文地址") - }), $("#menu-commenttext").on("click", function () { - rm.rightMenuCommentText(selectTextNow) - }), $("#menu-newwindow").on("click", function () { - window.open(domhref), rm.hideRightMenu() - }), $("#menu-copylink").on("click", rm.copyLink), $("#menu-downloadimg").on("click", function () { - heo.downloadImage(domImgSrc, "zhheo") - }), $("#menu-copyimg").on("click", function () { - rm.writeClipImg(domImgSrc) - }), $("#menu-searchBaidu").on("click", rm.searchBaidu), $("#menu-music-toggle").on("click", heo.musicToggle), $("#menu-music-back").on("click", heo.musicSkipBack), $("#menu-music-forward").on("click", heo.musicSkipForward), $("#menu-music-copyMusicName").on("click", function () { - rm.rightmenuCopyText(heo.musicGetName()) - }) + window.history.back(), rm.hideRightMenu(); + }), + $("#menu-forward").on("click", function () { + window.history.forward(), rm.hideRightMenu(); + }), + $("#menu-refresh").on("click", function () { + window.location.reload(); + }), + $("#menu-top").on("click", function () { + btf.scrollToDest(0, 500), rm.hideRightMenu(); + }), + $(".menu-link").on("click", rm.hideRightMenu), + $("#menu-darkmode").on("click", rm.switchDarkMode), + $("#menu-home").on("click", function () { + window.location.href = window.location.origin; + }), + $("#menu-randomPost").on("click", function () { + toRandomPost(); + }), + $("#menu-commentBarrage").on("click", heo.switchCommentBarrage), + $("#rightmenu-mask").on("click", rm.hideRightMenu), + $("#rightmenu-mask").contextmenu(function () { + return rm.hideRightMenu(), !1; + }), + $("#menu-translate").on("click", function () { + rm.hideRightMenu(), translateInitialization(); + }), + $("#menu-copy").on("click", rm.copyPageUrl), + $("#menu-pastetext").on("click", rm.pasteText), + $("#menu-copytext").on("click", function () { + rm.rightmenuCopyText(selectTextNow), + btf.snackbarShow("复制成功,复制和转载请标注本文地址"); + }), + $("#menu-commenttext").on("click", function () { + rm.rightMenuCommentText(selectTextNow); + }), + $("#menu-newwindow").on("click", function () { + window.open(domhref), rm.hideRightMenu(); + }), + $("#menu-copylink").on("click", rm.copyLink), + $("#menu-downloadimg").on("click", function () { + heo.downloadImage(domImgSrc, "zhheo"); + }), + $("#menu-copyimg").on("click", function () { + rm.writeClipImg(domImgSrc); + }), + $("#menu-searchBaidu").on("click", rm.searchBaidu), + $("#menu-music-toggle").on("click", heo.musicToggle), + $("#menu-music-back").on("click", heo.musicSkipBack), + $("#menu-music-forward").on("click", heo.musicSkipForward), + $("#menu-music-copyMusicName").on("click", function () { + rm.rightmenuCopyText(heo.musicGetName()), + btf.snackbarShow("复制歌曲名称成功", !1, 3e3); + }); } -document.onmouseup = document.ondbclick = selceText, rm.readClipboard = function () { - navigator.clipboard && navigator.clipboard.readText().then(function (e) { - return rm.insertAtCaret(globalEvent.target, e) - }) -}, rm.insertAtCaret = function (e, n) { - var t, o = e.selectionStart, i = e.selectionEnd; - document.selection ? (e.focus(), document.selection.createRange().text = n, e.focus()) : o || "0" == o ? (t = e.scrollTop, e.value = e.value.substring(0, o) + n + e.value.substring(i, e.value.length), e.focus(), e.selectionStart = o + n.length, e.selectionEnd = o + n.length, e.scrollTop = t) : (e.value += n, e.focus()) -}, rm.pasteText = function () { - rm.readClipboard(); - rm.hideRightMenu() -}, rm.rightMenuCommentText = function (e) { - rm.hideRightMenu(); - var n = document.getElementsByClassName("el-textarea__inner")[0], t = document.createEvent("HTMLEvents"); - t.initEvent("input", !0, !0); - var o = replaceAll(e, "\n", "\n> "); - n.value = "> " + o + "\n\n", n.dispatchEvent(t); - var i = document.querySelector("#post-comment").offsetTop; - window.scrollTo(0, i - 80), n.focus(), n.setSelectionRange(-1, -1), document.getElementById("comment-tips") && document.getElementById("comment-tips").classList.add("show") -}, rm.searchBaidu = function () { - btf.snackbarShow("即将跳转到百度搜索", !1, 2e3), setTimeout(function () { - window.open("https://www.baidu.com/s?wd=" + selectTextNow) - }, "2000"), rm.hideRightMenu() -}, rm.copyLink = function () { - rm.rightmenuCopyText(domhref), btf.snackbarShow("已复制链接地址") -}; \ No newline at end of file +(document.onmouseup = document.ondbclick = selceText), + (rm.readClipboard = function () { + navigator.clipboard && + navigator.clipboard.readText().then(function (e) { + return rm.insertAtCaret(globalEvent.target, e); + }); + }), + (rm.insertAtCaret = function (e, n) { + var t, + o = e.selectionStart, + i = e.selectionEnd; + document.selection + ? (e.focus(), (document.selection.createRange().text = n), e.focus()) + : o || "0" == o + ? ((t = e.scrollTop), + (e.value = + e.value.substring(0, o) + n + e.value.substring(i, e.value.length)), + e.focus(), + (e.selectionStart = o + n.length), + (e.selectionEnd = o + n.length), + (e.scrollTop = t)) + : ((e.value += n), e.focus()); + }), + (rm.pasteText = function () { + rm.readClipboard(); + rm.hideRightMenu(); + }), + (rm.rightMenuCommentText = function (e) { + rm.hideRightMenu(); + var n = document.getElementsByClassName("el-textarea__inner")[0], + t = document.createEvent("HTMLEvents"); + t.initEvent("input", !0, !0); + var o = replaceAll(e, "\n", "\n> "); + (n.value = "> " + o + "\n\n"), n.dispatchEvent(t); + var i = document.querySelector("#post-comment").offsetTop; + window.scrollTo(0, i - 80), + n.focus(), + n.setSelectionRange(-1, -1), + document.getElementById("comment-tips") && + document.getElementById("comment-tips").classList.add("show"); + }), + (rm.searchBaidu = function () { + btf.snackbarShow("即将跳转到百度搜索", !1, 2e3), + setTimeout(function () { + window.open("https://www.baidu.com/s?wd=" + selectTextNow); + }, "2000"), + rm.hideRightMenu(); + }), + (rm.copyLink = function () { + rm.rightmenuCopyText(domhref), btf.snackbarShow("已复制链接地址"); + });