UNPKG

halo-theme-dream2.0-plus

Version:

梦之城,童话梦境,动漫类型博客主题。

14 lines 15.8 kB
(()=>{window.encrypt=e=>window.btoa(unescape(encodeURIComponent(e))),window.decrypt=e=>decodeURIComponent(escape(window.atob(e)));const t={initWidget(){const i=$(".column-left"),n=$(".column-right");if(n.length&&i.length){const o=$(window);function a(t,i,n){let a=0;!function e(){if(a<i.length){const n=i[a];t[0].appendChild(n),a++,e()}else n&&n()}()}function e(){const e=o.width(),t=0<i.children().filter(function(){return"right"===$(this).attr("data-position")}).length;if(n.children().filter(function(){return"right"===$(this).attr("data-position")}).length,e<1216&&!t){const o=i.children().filter(function(){return"left"===$(this).attr("data-position")}),e=n.children().filter(function(){return"right"===$(this).attr("data-position")}),t=o.toArray().concat(e.toArray());t.sort((e,t)=>(parseInt($(e).attr("data-index"),10)||0)-(parseInt($(t).attr("data-index"),10)||0)),i.empty(),a(i,t,()=>{})}else if(1216<=e&&t){const o=i.children().filter(function(){return"right"===$(this).attr("data-position")}).toArray().sort((e,t)=>(parseInt($(e).attr("data-index"),10)||0)-(parseInt($(t).attr("data-index"),10)||0));i.children().filter(function(){return"right"===$(this).attr("data-position")}).detach(),a(n,o,()=>{})}}$(window).on("resize",Utils.debounce(e,100)),e()}},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 l=$(".banner-info-desc");if(0!==l.length){const c=l.text();l.text("");let a="",o=!0,s=null,r=0;const d=function(e){var t=e-(r=0===r?e:r),i=o?500:80;if(i<=t){var n=a.length;if(o&&n<c.length)a+=c.charAt(n);else{if(o||!(0<n))return cancelAnimationFrame(s),o=!o,r=0,void(s=requestAnimationFrame(d));a=a.slice(0,n-1)}l.text(a),r=e-t%i}s=requestAnimationFrame(d)};s=requestAnimationFrame(d)}},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" data-options='{"hash": false}' ${this.alt?`data-caption="${this.alt}"`:""} href="${$(this).attr("src")}"></div></div>`)})},initMode(){let t="true"===(e=localStorage.getItem("night"))||"false"===e?"true"===localStorage.getItem("night"):"night"===DreamConfig.default_theme||"system"===DreamConfig.default_theme&&matchMedia("(prefers-color-scheme: dark)").matches;var e;$("#toggle-mode").on("click",()=>{var e;(e=!t)?$("html").addClass("color-scheme-dark").removeClass("color-scheme-light").addClass("night").attr("night",!0):$("html").addClass("color-scheme-light").removeClass("color-scheme-dark").removeClass("night").removeAttr("night"),localStorage.setItem("color-scheme",e?"dark":"light"),localStorage.setItem("special-efficacy-scheme",e?"dark":"light"),t=e,localStorage.setItem("night",t)})},initNavbar(){var t=$(".navbar-nav a"),e=$(".panel-side-menu .link");let i=0;var{href:n,pathname:a}=location;if(a&&"/"!==a)for(let e=0;e<t.length;e++){const o=t[e].getAttribute("href");if((a.includes(o)||n.includes(o))&&(i=e,a===o||n===o))break}const o=t.eq(i);o.addClass("current"),o.parents(".item-dropdown").length&&o.parents(".item-dropdown").find(".item-dropdown-link a").addClass("current"),e.eq(i).addClass("current")},searchDialog(){const t=$(".navbar-search .result");$(".navbar-search .input").on("click",function(e){e.stopPropagation(),t.addClass("active")}),$(document).on("click",function(){t.removeClass("active")})},initDropMenu(){$(".item-dropdown").each(function(e,t){var i=$(this).find(".item-dropdown-menu"),n=$(t).attr("trigger")||"click",t=$(t).attr("placement")||$(this).height()||0;i.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()}),i.on("click",e=>e.stopPropagation()))})},iniTaskItemDisabled(){$('li[data-type="taskItem"]').each(function(){$(this).find('label > input[type="checkbox"]').prop("disabled",!0)})},initLogonMenu(){$(".navbar-logon").each(function(e,t){"hover"===($(t).attr("trigger")||"click")?$(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()})})},initScroll(){window.initTop=0,document.addEventListener("scroll",()=>{const e=$(document).scrollTop(),t=(a=e>window.initTop,window.initTop=e,a),i=$("body"),n=$(".actions");var a;50<e&&t?i.addClass("move-up"):i.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"),i=$(".navbar-slideout");i.hasClass("active")?(e.removeClass("disable-scroll"),t.removeClass("active slideout"),i.removeClass("active")):(e.addClass("disable-scroll"),t.addClass("active slideout"),i.addClass("active"))}),$(".action-toc").on("click",function(e){e.stopPropagation(),$(".navbar-searchout").removeClass("active");var e=$("html"),t=$(".navbar-mask"),i=$(".navbar-slideout");i.hasClass("active")?(e.removeClass("disable-scroll"),t.removeClass("active slideout"),i.removeClass("active slideout-toc")):(e.addClass("disable-scroll"),t.addClass("active slideout"),i.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")}),$(".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 i(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(),i(this).remove()}),e.on("click",".click-animation-close",function(e){e.stopPropagation();let t=i(this);t.addClass("close-animation"),setTimeout(()=>t.remove(),300)})},offscreenTip(){if(!Utils.isMobile()&&(DreamConfig.document_hidden_title||DreamConfig.document_visible_title)){let e=document.title,t=null;document.addEventListener("visibilitychange",function(){document.hidden?(DreamConfig.document_visible_title&&document.title===DreamConfig.document_visible_title||(e=document.title),document.title=DreamConfig.document_hidden_title||e,clearTimeout(t)):(document.title=DreamConfig.document_visible_title||e,DreamConfig.document_visible_title&&(t=setTimeout(function(){document.title===DreamConfig.document_visible_title&&(document.title=e)},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"}})},closeFancybox(){document.querySelector(".fancybox-container")&&$.fancybox.close()},sparkInput(){const i=DreamConfig.spark_input_content&&DreamConfig.spark_input_content.filter(e=>0<e.length);i&&0<i.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,...i]))})},loveTime(){let m=$(".love .love-time");if(0!==m.length&&DreamConfig.love_time_template&&DreamConfig.love_time_template_year){var e=m.attr("data-time");if(/^\d{4}\/\d{2}\/\d{2} \d{2}:\d{2}:\d{2}$/.test(e)){const h=new Date(e);let t=null,d=0;t=requestAnimationFrame(function e(c){if(200<=c-(d=0===d?c:d)){let e=new Date(Date.now()),t=parseInt((e-h)/1e3),i=t%60,n=(t=parseInt(t/60))%60,a=(t=parseInt(t/60))%24,o=parseInt(t/24),s=0,r=h.getFullYear(),l=e.getFullYear();for(;r<l;){if(r%4==0&&r%100!=0||r%400==0){if(o<366)break;o-=366}else{if(o<365)break;o-=365}s+=1,r+=1}0!==s?m.html(DreamConfig.love_time_template_year.replace(/\{(\d+)\}/g,(e,t)=>[s,o,a,n,i][t])):m.html(DreamConfig.love_time_template.replace(/\{(\d+)\}/g,(e,t)=>[o,a,n,i][t])),d=c}t=requestAnimationFrame(e)})}else m.text(e)}},websiteTime(){if(DreamConfig.website_time&&DreamConfig.site_time_expression){const c=document.querySelectorAll(".websiteDate");if(""!==DreamConfig.website_time&&c&&0!==c.length){const d=new Date(DreamConfig.website_time).getTime();let t=null,l=0;t=requestAnimationFrame(function e(r){if(200<=r-(l=0===l?r:l)){let e=Date.now(),t=parseInt((e-d)/1e3),i=t%60,n=(1===String(i).length&&(i="0"+i),(t=parseInt(t/60))%60),a=(1===String(n).length&&(n="0"+n),(t=parseInt(t/60))%24),o=(1===String(a).length&&(a="0"+a),parseInt(t/24)),s=DreamConfig.site_time_expression.replace(/\{(\d+)\}/g,(e,t)=>`<span class="stand">${[o,a,n,i][t]}</span>`);c.forEach(e=>{e.innerHTML=s}),l=r}t=requestAnimationFrame(e)})}}},webCopyright(){if(DreamConfig.website_time){var n=document.querySelectorAll(".webCopyright");if(n&&0!==n.length){let t,e=(new Date).getFullYear(),i=new Date(DreamConfig.website_time).getFullYear();t=e===i?"© "+e:"© "+i+"-"+e,n.forEach(e=>{e.innerText=t})}}},initTimeCount(){if($(".timelife").length&&o!==(new Date).getHours()){var e=DreamConfig.timelife_template,t=(+new Date-new Date((new Date).toLocaleDateString()).getTime())/1e3/60/60,n=(o=t)/24*100,t=(e[0].num=parseInt(t),e[0].percent=parseInt(n)+"%",{0:7,1:1,2:2,3:3,4:4,5:5,6:6}[(new Date).getDay()]),n=t/7*100,t=(e[1].num=parseInt(t),e[1].percent=parseInt(n)+"%",(new Date).getFullYear()),n=(new Date).getDate(),a=(new Date).getMonth()+1,t=n/new Date(t,a,0).getDate()*100,a=(e[2].num=n,e[2].percent=parseInt(t)+"%",(new Date).getMonth()+1),n=a/12*100;e[3].num=a,e[3].percent=parseInt(n)+"%";let i="";e.forEach((e,t)=>{i+=` <div class="item"> <div class="title"> ${e.title} <span class="text">${e.num}</span> ${e.endTitle} </div> <div class="progress"> <div class="progress-bar"> <div class="progress-bar-inner progress-bar-inner-${t}" style="width: ${e.percent}"></div> </div> <div class="progress-percentage">${e.percent}</div> </div> </div>`}),$(".aside-timelife").html(i)}},initSecurityLink(){DreamConfig.enable_security_link&&DreamConfig.security_link_url&&0!==DreamConfig.security_link_url.length&&$(document).on("click","a[href]:not([data-url-security]), hyperlink-inline-card[href]:not([data-url-security]), hyperlink-card[href]:not([data-url-security])",e=>{var t,i=$(e.currentTarget).attr("href");i&&(i.toLowerCase().startsWith("http://")||i.toLowerCase().startsWith("https://"))&&(t=i,[".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".zip",".rar",".7z",".tar",".gz",".bz2",".dmg",".exe",".msi",".iso",".apk"].some(e=>t.toLowerCase().endsWith(e))?(e.preventDefault(),window.open(i,"_blank")):((e,t)=>{let a;(e=e.toLowerCase().trim()).startsWith("//")?e=window.location.protocol+e:e.startsWith("/")&&(e=window.location.origin+e),(e.startsWith("http://")||e.startsWith("https://"))&&(e=e.replace(/\/$/,""));try{a=new URL(e).hostname}catch(e){return!1}return t.some(e=>{var t,i,n;return e.startsWith("*.")?(i=(t=e.slice(2)).split("."),(n=a.split(".")).length>i.length&&n.slice(-i.length).join(".")===t):a===e})})(i,DreamConfig.security_link_whitelist)||(e.preventDefault(),window.open(DreamConfig.security_link_url+"?target="+encodeURIComponent(i),"_blank")))})},initGrayMode(){var e=sessionStorage.getItem("gray-mode"),t=sessionStorage.getItem("gray-mode-message"),i=sessionStorage.getItem("gray-mode-show");"true"===e&&t&&""!==t.trim()&&!i&&Qmsg&&(Qmsg.info(t),sessionStorage.setItem("gray-mode-show","true"))},initEffects(){Utils.isMobile()&&!DreamConfig.mobile_special_effects||(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.effects_lantern_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/lantern.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_snowflake_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/snowflake.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),DreamConfig.effects_quantum_silk_thread_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/quantum.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_rain_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/rain.min.js?mew="+DreamConfig.theme_version))},showThemeVersion(){window.logger(`%c页面加载耗时:${Math.round(performance.now())}ms | Theme By Dream2 Plus ${DreamConfig.theme_version} | https://github.com/hcjike/halo-theme-dream2.0-plus`,"color:#fff; background: linear-gradient(270deg, #986fee, #8695e6, #68b7dd, #18d7d3); padding: 8px 15px; border-radius: 0 15px 0 15px")},showBanner(e=location.pathname){var t=document.querySelector(".banner"),i=document.querySelector(".section");t&&("/"!==e?(t.classList.add("hidden"),i&&DreamConfig.header_fixed&&i.classList.add("section-top")):(t.classList.remove("hidden"),i&&DreamConfig.header_fixed&&i.classList.remove("section-top")))},playBannerVideo(){var e=document.querySelector(".banner"),t=document.querySelector(".banner video");function i(){if(t.src&&t.src!==window.location.href&&null!==t.getAttribute("src"))try{var e;t.paused&&void 0!==(e=t.play())&&e.catch(function(e){console.log("视频播放失败:",e)})}catch(e){console.log("播放错误:",e)}}function n(e,t,i){function n(){i(),e.removeEventListener?e.removeEventListener(t,n):e.detachEvent&&e.detachEvent("on"+t,n)}e.addEventListener?e.addEventListener(t,n):e.attachEvent&&e.attachEvent("on"+t,n)}t&&e&&(t.addEventListener("ended",function(){t.currentTime=0,i()},!1),n(document,"click",i),n(document,"touchend",i),i())}};window.commonContext=t;let o=-1;{const i=["initCarousel","sparkInput","websiteTime","initEffects","iniTaskItemDisabled"],n=["showThemeVersion"];Object.keys(t).forEach(e=>!i.includes(e)&&!n.includes(e)&&t[e]()),document.addEventListener("DOMContentLoaded",function(){$("html").addClass("loaded"),i.forEach(e=>t[e]&&t[e]())}),window.addEventListener("load",function(){n.forEach(e=>t[e]&&t[e]()),$("html").addClass("ready")})}})();