2023-07-10 15:55:35 +08:00

1 line
9.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(()=>{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("touchmove",e=>e.preventDefault),$(".navbar .toc-content").on("click",function(e){e.stopPropagation(),$("html").removeClass("disable-scroll"),$(".navbar-mask").removeClass("active slideout"),$(".navbar-slideout").removeClass("active slideout-toc")})},sideMenuMobile(){$(".navbar-slideout-menu .current").parents(".panel-body").show().siblings(".panel").addClass("in"),$(".navbar-slideout-menu .panel").on("click",function(e){e.stopPropagation();var e=$(this),t=e.parent().parent();t.find(".panel").not(e).removeClass("in"),t.find(".panel-body").not(e.siblings(".panel-body")).stop().hide("fast"),e.toggleClass("in").siblings(".panel-body").stop().toggle("fast")})},initEvent(){var e=$("body");function a(e){var e=$(e),t=e.attr("data-close");return t&&""!==t.trim()?e.closest(t.trim()):e}e.on("click",".click-close",function(e){e.stopPropagation(),a(this).remove()}),e.on("click",".click-animation-close",function(e){e.stopPropagation();let t=a(this);t.addClass("close-animation"),setTimeout(()=>t.remove(),300)})},offscreenTip(){if(!Utils.isMobile()&&(DreamConfig.document_hidden_title||DreamConfig.document_visible_title)){const t=document.title;let e=null;document.addEventListener("visibilitychange",function(){document.hidden?(DreamConfig.document_hidden_title&&(document.title=DreamConfig.document_hidden_title),clearTimeout(e)):(document.title=DreamConfig.document_visible_title||t,DreamConfig.document_visible_title&&(e=setTimeout(function(){document.title=t},2e3)))})}},initCarousel(){window.Swiper&&new Swiper(".swiper",{loop:!0,parallax:!0,effect:"slide",spaceBetween:10,speed:600,autoplay:{delay:3e3,disableOnInteraction:!1,pauseOnMouseEnter:!0},pagination:{el:".swiper-pagination",clickable:!0},navigation:{nextEl:".swiper-button-next",prevEl:".swiper-button-prev"}})},sparkInput(){const a=DreamConfig.spark_input_content&&DreamConfig.spark_input_content.filter(e=>0<e.length);a&&0<a.length&&Utils.cachedScript(DreamConfig.theme_base+"/js/spark-input.min.js?mew="+DreamConfig.theme_version,function(){$(".spark-input").each((e,t)=>sparkInput(t,[t.innerText,...a]))})},loveTime(){let l=$(".love .love-time");if(0!==l.length){var e=l.attr("data-time");if(/^\d{4}\/\d{2}\/\d{2} \d{2}:\d{2}:\d{2}$/.test(e)){const c=new Date,d=new Date(e);setInterval(function(){c.setTime(c.getTime()+1e3);var e=parseInt((c-d)/1e3),t=e%60,a=(e=parseInt(e/60))%60;let n=(e=parseInt(e/60))%24,i=parseInt(e/24),o=0,s=d.getFullYear(),r=c.getFullYear();for(;s<r;){if(s%4==0&&s%100!=0||s%400==0){if(i<366)break;i-=366}else{if(i<365)break;i-=365}o+=1,s+=1}0!==o?l.html(`${o}${i}${n}${a}${t}`):l.html(i+`${n}${a}${t}`)},1e3)}else l.html(e)}},websiteTime(){if(DreamConfig.website_time){const o=document.getElementById("websiteDate");if(/^\d{4}\/\d{2}\/\d{2} \d{2}:\d{2}:\d{2}$/.test(DreamConfig.website_time)){const s=new Date,r=new Date(DreamConfig.website_time);setInterval(function(){s.setTime(s.getTime()+1e3);let e=parseInt((s-r)/1e3),t=e%60,a=(1===String(t).length&&(t="0"+t),(e=parseInt(e/60))%60),n=(1===String(a).length&&(a="0"+a),(e=parseInt(e/60))%24);1===String(n).length&&(n="0"+n);var i=parseInt(e/24);o.innerHTML=`建站<span class="stand">${i}</span>天<span class="stand">${n}</span>时<span class="stand">${a}</span>分<span class="stand">${t}</span>秒`},1e3)}else o.innerText=DreamConfig.website_time}},initComment(){window.CommentWidget&&$(".widget-comment").each(function(e,t){var a=$(this).attr("data-target"),n=$(this).attr("data-id");CommentWidget.init(`.widget-comment[data-id=${n}][data-target=${a}]`,"/plugins/PluginCommentWidget/assets/static/style.css",{group:"content.halo.run",kind:a,name:n,colorScheme:window.dataTheme})})},initEffects(){Utils.isMobile()||(DreamConfig.cursor_move&&Utils.cachedScript(`${DreamConfig.theme_base}/js/cursor/move/${DreamConfig.cursor_move}.min.js?mew=`+DreamConfig.theme_version),DreamConfig.cursor_click&&Utils.cachedScript(`${DreamConfig.theme_base}/js/cursor/click/${DreamConfig.cursor_click}.min.js?mew=`+DreamConfig.theme_version),DreamConfig.enable_live2d&&Utils.cachedScript(DreamConfig.theme_base+"/js/autoload.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_sakura_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/sakura.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_universe_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/universe.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_circle_magic_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/circleMagic.min.js?mew="+DreamConfig.theme_version))},loadMaintain(){DreamConfig.enable_baidu_push&&Utils.baiduPush(),DreamConfig.enable_toutiao_push&&Utils.toutiaoPush()},showThemeVersion(){window.logger(`%c页面加载耗时${Math.round(performance.now())}ms | Theme By Dream `+DreamConfig.theme_version,"color:#fff; background: linear-gradient(270deg, #986fee, #8695e6, #68b7dd, #18d7d3); padding: 8px 15px; border-radius: 0 15px 0 15px")}};window.commonContext=t;{const a=["initCarousel","sparkInput","websiteTime","initComment"],n=["initEffects","loadMaintain","showThemeVersion"];Object.keys(t).forEach(e=>!a.includes(e)&&!n.includes(e)&&t[e]()),document.addEventListener("DOMContentLoaded",function(){$("html").addClass("loaded"),a.forEach(e=>t[e]&&t[e]())}),window.addEventListener("load",function(){n.forEach(e=>t[e]&&t[e]()),$("html").addClass("ready")})}})();