2023-07-10 15:55:35 +08:00
|
|
|
(()=>{window.encrypt=e=>window.btoa(unescape(encodeURIComponent(e))),window.decrypt=e=>decodeURIComponent(escape(window.atob(e)));const t={initWidget(){var e=$(".columns .column-right"),t=$(".columns .column-right-shadow");if(e.length&&t.length&&!t[0].children.length)for(const a of e[0].children)t[0].append(a.cloneNode(!0))},initTocAndNotice(){var e=location["pathname"],t=(window.tocPjax&&window.tocPjax(),0===$(".widget.toc .card-content ul").length),e="toc"===DreamConfig.notice_show_mode&&!t||"index"===DreamConfig.notice_show_mode&&"/"!==e;t?$(".widget.toc,.action-toc").addClass("is-hidden-all"):$(".widget.toc,.action-toc").removeClass("is-hidden-all"),e?$(".widget.notice").addClass("is-hidden-all"):$(".widget.notice").removeClass("is-hidden-all")},initBanner(){const i=$(".banner-info-desc");if(0!==i.length){const o=i.text();i.text("");let t,a="",n=!0;const s=function(){var e=a.length;n&&e<o.length?(a+=o.charAt(e),i.text(a)):!n&&0<e?(a=a.slice(0,e-1),i.text(a)):(clearInterval(t),n=!n,t=setInterval(s,n?500:80))};t=setInterval(s,n?500:80)}},initGallery(){$(".main-content img:not(.not-gallery)").each(function(){0===$(this).parents("[data-fancybox],mew-photos").length&&$(this).wrap(`<div class="gallery-item"><div data-fancybox="gallery" ${this.alt?`data-caption="${this.alt}"`:""} href="${$(this).attr("src")}"></div>${this.alt?`<p>${this.alt}</p>`:""}</div>`)})},initMode(){let t=localStorage.getItem("night")||!1;const a=e=>{e?document.documentElement.classList.add("night"):document.documentElement.classList.remove("night"),localStorage.setItem("night",e),t=e};$("#toggle-mode").on("click",()=>a("true"!==t.toString())),"system"===DreamConfig.default_theme&&window.matchMedia("(prefers-color-scheme: dark)").addListener(e=>a(e.matches))},initNavbar(){var t=$(".navbar-nav a"),e=$(".panel-side-menu .link");let a=0;var{href:n,pathname:i}=location;if(i&&"/"!==i)for(let e=0;e<t.length;e++){const o=t[e].getAttribute("href");if((i.includes(o)||n.includes(o))&&(a=e,i===o||n===o))break}const o=t.eq(a);o.addClass("current"),o.parents(".item-dropdown").length&&o.parents(".item-dropdown").find(".item-dropdown-link a").addClass("current"),e.eq(a).addClass("current")},initDropMenu(){$(".item-dropdown").each(function(e,t){var a=$(this).find(".item-dropdown-menu"),n=$(t).attr("trigger")||"click",t=$(t).attr("placement")||$(this).height()||0;a.css("top",t),"hover"===n?$(this).hover(()=>$(this).addClass("active"),()=>$(this).removeClass("active")):($(this).on("click",function(e){e.stopPropagation(),$(this).toggleClass("active"),$(document).one("click",()=>$(this).removeClass("active")),e.stopPropagation()}),a.on("click",e=>e.stopPropagation()))})},initScroll(){let i=0;document.addEventListener("scroll",()=>{var e=$(document).scrollTop(),t=(a=(t=e)>i,i=t,a),a=$("body"),n=$(".actions");50<e&&t?a.addClass("move-up"):a.removeClass("move-up"),100<e?n.addClass("show"):n.removeClass("show")})},drawerMobile(){$(".navbar-slideicon").on("click",function(e){e.stopPropagation(),$(".navbar-searchout").removeClass("active");var e=$("html"),t=$(".navbar-mask"),a=$(".navbar-slideout");a.hasClass("active")?(e.removeClass("disable-scroll"),t.removeClass("active slideout"),a.removeClass("active")):(e.addClass("disable-scroll"),t.addClass("active slideout"),a.addClass("active"))}),$(".action-toc").on("click",function(e){e.stopPropagation(),$(".navbar-searchout").removeClass("active");var e=$("html"),t=$(".navbar-mask"),a=$(".navbar-slideout");a.hasClass("active")?(e.removeClass("disable-scroll"),t.removeClass("active slideout"),a.removeClass("active slideout-toc")):(e.addClass("disable-scroll"),t.addClass("active slideout"),a.addClass("active slideout-toc"))})},back2Top(){$("#back-to-top").on("click",function(){$("body, html").animate({scrollTop:0},400)})},maskClose(){$(".navbar-mask").on("click",function(e){e.stopPropagation(),$("html").removeClass("disable-scroll"),$(".navbar-mask").removeClass("active slideout"),$(".navbar-searchout").removeClass("active"),$(".navbar-slideout").removeClass("active slideout-toc"),$(".navbar-above").removeClass("solid")}).on("touch
|