diff options
author | Dillon <dillonzq@outlook.com> | 2020-03-14 09:42:12 +0300 |
---|---|---|
committer | Dillon <dillonzq@outlook.com> | 2020-03-14 09:42:12 +0300 |
commit | 3d9aad32056567b292795e2941428d7ab157cc42 (patch) | |
tree | 6c486271ee0648832feede4b392a13c5315ee64f /assets/js | |
parent | d8bfd23ace6d3c467af9f24749113ce9c17b8d6f (diff) |
feat(style): adjust style of header, tags and dynamic-to-top button
Diffstat (limited to 'assets/js')
-rw-r--r-- | assets/js/theme.min.js | 2 | ||||
-rw-r--r-- | assets/js/theme.min.js.map | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/assets/js/theme.min.js b/assets/js/theme.min.js index d025afe..b894dc1 100644 --- a/assets/js/theme.min.js +++ b/assets/js/theme.min.js @@ -1,3 +1,3 @@ -"use strict";function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),a}(function(){'use strict';var a=/*#__PURE__*/function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:"forEach",value:function forEach(a,b){a=a||[];for(var c=0;c<a.length;c++)b(a[c])}},{key:"getScrollTop",value:function getScrollTop(){return document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop}},{key:"isMobile",value:function isMobile(){return window.matchMedia("only screen and (max-width: 720px)").matches}},{key:"isTocStatic",value:function isTocStatic(){return window.matchMedia("only screen and (max-width: 960px)").matches}}]),a}(),b=/*#__PURE__*/function(){function b(){_classCallCheck(this,b),this.util=new a,this.newScrollTop=this.util.getScrollTop(),this.oldScrollTop=this.newScrollTop,this.scrollEventSet=new Set,this.resizeEventSet=new Set}return _createClass(b,[{key:"initMenuMobile",value:function initMenuMobile(){var a=document.getElementById("menu-toggle-mobile"),b=document.getElementById("menu-mobile");this._menuMobileOnScroll=this._menuMobileOnScroll||function(){a.classList.remove("active"),b.classList.remove("active")},this.util.isMobile()?(a.onclick=function(){a.classList.toggle("active"),b.classList.toggle("active")},this.scrollEventSet.add(this._menuMobileOnScroll)):this.scrollEventSet.delete(this._menuMobileOnScroll)}},{key:"initSwitchTheme",value:function initSwitchTheme(){var a=this;this.util.forEach(document.getElementsByClassName("theme-switch"),function(b){b.onclick=function(){document.body.classList.toggle("dark-theme"),window.isDark=!window.isDark,window.localStorage&&window.localStorage.setItem("theme",window.isDark?"dark":"light"),a.initEcharts()}})}},{key:"initHighlight",value:function initHighlight(){this.util.forEach(document.querySelectorAll(".highlight > .chroma"),function(a){var b=a.querySelectorAll("pre.chroma > code"),c=b[b.length-1],d=c?c.className.toLowerCase():"";a.className+=" "+d}),this.util.forEach(document.querySelectorAll(".highlight > pre.chroma"),function(a){var b=document.createElement("div");b.className=a.className;var c=document.createElement("table");b.appendChild(c);var d=document.createElement("tbody");c.appendChild(d);var e=document.createElement("tr");d.appendChild(e);var f=document.createElement("td");e.appendChild(f),a.parentElement.replaceChild(b,a),f.appendChild(a)})}},{key:"initTable",value:function initTable(){this.util.forEach(document.querySelectorAll(".content table"),function(a){var b=document.createElement("div");b.className="table-wrapper",a.parentElement.replaceChild(b,a),b.appendChild(a)})}},{key:"initHeaderLink",value:function initHeaderLink(){for(var a=1;6>=a;a++)this.util.forEach(document.querySelectorAll(".page.single .content > h"+a),function(a){a.classList.add("headerLink"),a.innerHTML="<a href=\"#".concat(a.id,"\" class=\"header-mark\"></a>").concat(a.innerHTML)})}},{key:"initToc",value:function initToc(){var a=this,b=document.getElementById("TableOfContents");if(null!==b)if(this.util.isTocStatic()){var k=document.getElementById("toc-content-static");b.parentElement!==k&&(b.parentElement.removeChild(b),k.appendChild(b)),this._tocOnScroll&&this.scrollEventSet.delete(this._tocOnScroll)}else{var l=document.getElementById("toc-content-auto");b.parentElement!==l&&(b.parentElement.removeChild(b),l.appendChild(b));var c=document.getElementById("toc-auto"),d=document.getElementsByClassName("page")[0];c.style.maxWidth="".concat(d.getBoundingClientRect().left-20,"px"),this._tocLinks=this._tocLinks||b.getElementsByTagName("a"),this._tocLis=this._tocLis||b.getElementsByTagName("li"),this._headerLinks=this._headerLinks||document.getElementsByClassName("headerLink")||[];var e="normal"!==window.desktopHeaderMode,f=document.getElementById("header-desktop").offsetHeight,g=20+(e?f:0),h=c.offsetTop,j=h-g+(e?0:f);this._tocOnScroll=this._tocOnScroll||function(){var d=document.getElementById("post-footer").offsetTop,k=d-c.getBoundingClientRect().height,l=k-g+(e?0:f);a.newScrollTop<j?(c.style.position="absolute",c.style.top="".concat(h,"px")):a.newScrollTop>l?(c.style.position="absolute",c.style.top="".concat(k,"px")):(c.style.position="fixed",c.style.top="".concat(g,"px")),a.util.forEach(a._tocLinks,function(a){a.classList.remove("active")}),a.util.forEach(a._tocLis,function(a){a.classList.remove("has-active")});for(var m=20+(e?f:0),n=a._headerLinks.length-1,o=0;o<a._headerLinks.length-1;o++){var p=a._headerLinks[o].getBoundingClientRect().top,q=a._headerLinks[o+1].getBoundingClientRect().top;if(0==o&&p>m||p<=m&&q>m){n=o;break}}if(-1!==n){a._tocLinks[n].classList.add("active");for(var r=a._tocLinks[n].parentElement;r!==b;)r.classList.add("has-active"),r=r.parentElement.parentElement}},this._tocOnScroll(),this.scrollEventSet.add(this._tocOnScroll)}}},{key:"initMermaid",value:function initMermaid(){window.mermaidArr&&(mermaid.initialize({startOnLoad:!1,theme:"null"}),this.util.forEach(window.mermaidArr,function(a){var b=document.getElementById(a);mermaid.mermaidAPI.render("svg-"+a,window.contentMap[a],function(a){b.innerHTML=a},b)}))}},{key:"initEcharts",value:function initEcharts(){var a=this;if(window.echartsArr){this._echartsArr=this._echartsArr||[];for(var b=0;b<this._echartsArr.length;b++)this._echartsArr[b].dispose();this._echartsArr=[],this.util.forEach(window.echartsArr,function(b){var c=echarts.init(document.getElementById(b),window.isDark?"dark":"macarons",{renderer:"svg"});c.setOption(JSON.parse(window.contentMap[b])),a._echartsArr.push(c)}),this._echartsOnResize=this._echartsOnResize||function(){for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].resize()},this.resizeEventSet.add(this._echartsOnResize)}}},{key:"initTypeit",value:function initTypeit(){if(window.typeitArr)for(var a=function(a){var b=window.typeitArr[a];(function a(c){var d=b[c];if(c===b.length-1)return void new TypeIt("#".concat(d),{strings:window.contentMap[d]}).go();var e=new TypeIt("#".concat(d),{strings:window.contentMap[d],afterComplete:function afterComplete(){e.destroy(),a(c+1)}}).go()})(0)},b=0;b<window.typeitArr.length;b++)a(b)}},{key:"initSmoothScroll",value:function initSmoothScroll(){!this.util.isMobile()&&"normal"===window.desktopHeaderMode||this.util.isMobile()&&"normal"===window.mobileHeaderMode?new SmoothScroll("[href^=\"#\"]",{speed:300,speedAsDuration:!0}):new SmoothScroll("[href^=\"#\"]",{speed:300,speedAsDuration:!0,header:"#header-desktop"})}},{key:"onScroll",value:function onScroll(){var a=this,b=[];"auto"===window.desktopHeaderMode&&b.push(document.getElementById("header-desktop")),"auto"===window.mobileHeaderMode&&b.push(document.getElementById("header-mobile")),this.util.forEach(b,function(a){a.classList.add("animated"),a.classList.add("faster")});var c=document.getElementById("dynamic-to-top"),d=20;window.addEventListener("scroll",function(){a.newScrollTop=a.util.getScrollTop();var e=a.newScrollTop-a.oldScrollTop;a.util.forEach(b,function(a){e>d?(a.classList.remove("fadeInDown"),a.classList.add("fadeOutUp")):e<-d&&(a.classList.remove("fadeOutUp"),a.classList.add("fadeInDown"))}),400<a.newScrollTop?e>d?(c.classList.remove("fadeIn"),c.classList.add("fadeOut")):e<-d&&(c.style.display="block",c.classList.remove("fadeOut"),c.classList.add("fadeIn")):c.style.display="none",a._scrollTimeout||(a._scrollTimeout=window.setTimeout(function(){a._scrollTimeout=null;var b=!0,c=!1,d=void 0;try{for(var e,f,g=a.scrollEventSet[Symbol.iterator]();!(b=(e=g.next()).done);b=!0)f=e.value,f()}catch(a){c=!0,d=a}finally{try{b||null==g.return||g.return()}finally{if(c)throw d}}},10)),a.oldScrollTop=a.newScrollTop},!1)}},{key:"onResize",value:function onResize(){var a=this;window.addEventListener("resize",function(){a._resizeTimeout||(a._resizeTimeout=window.setTimeout(function(){a._resizeTimeout=null;var b=!0,c=!1,d=void 0;try{for(var e,f,g=a.resizeEventSet[Symbol.iterator]();!(b=(e=g.next()).done);b=!0)f=e.value,f()}catch(a){c=!0,d=a}finally{try{b||null==g.return||g.return()}finally{if(c)throw d}}a.initMenuMobile(),a.initToc(),a.initSmoothScroll(),a.initMermaid()},100))},!1)}},{key:"init",value:function init(){this.initMenuMobile(),this.initSwitchTheme(),this.initHighlight(),this.initTable(),this.initHeaderLink(),this.initMermaid(),this.initEcharts(),this.initTypeit(),this.initToc(),this.initSmoothScroll(),this.onScroll(),this.onResize()}}]),b}(),c=function(){var a=new b;a.init()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",c,!1):c()})(); +"use strict";function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),a}(function(){'use strict';var a=/*#__PURE__*/function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:"forEach",value:function forEach(a,b){a=a||[];for(var c=0;c<a.length;c++)b(a[c])}},{key:"getScrollTop",value:function getScrollTop(){return document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop}},{key:"isMobile",value:function isMobile(){return window.matchMedia("only screen and (max-width: 680px)").matches}},{key:"isTocStatic",value:function isTocStatic(){return window.matchMedia("only screen and (max-width: 960px)").matches}}]),a}(),b=/*#__PURE__*/function(){function b(){_classCallCheck(this,b),this.util=new a,this.newScrollTop=this.util.getScrollTop(),this.oldScrollTop=this.newScrollTop,this.scrollEventSet=new Set,this.resizeEventSet=new Set}return _createClass(b,[{key:"initMenuMobile",value:function initMenuMobile(){var a=document.getElementById("menu-toggle-mobile"),b=document.getElementById("menu-mobile");this._menuMobileOnScroll=this._menuMobileOnScroll||function(){a.classList.remove("active"),b.classList.remove("active")},this.util.isMobile()?(a.onclick=function(){a.classList.toggle("active"),b.classList.toggle("active")},this.scrollEventSet.add(this._menuMobileOnScroll)):this.scrollEventSet.delete(this._menuMobileOnScroll)}},{key:"initSwitchTheme",value:function initSwitchTheme(){var a=this;this.util.forEach(document.getElementsByClassName("theme-switch"),function(b){b.onclick=function(){document.body.classList.toggle("dark-theme"),window.isDark=!window.isDark,window.localStorage&&window.localStorage.setItem("theme",window.isDark?"dark":"light"),a.initEcharts()}})}},{key:"initHighlight",value:function initHighlight(){this.util.forEach(document.querySelectorAll(".highlight > .chroma"),function(a){var b=a.querySelectorAll("pre.chroma > code"),c=b[b.length-1],d=c?c.className.toLowerCase():"";a.className+=" "+d}),this.util.forEach(document.querySelectorAll(".highlight > pre.chroma"),function(a){var b=document.createElement("div");b.className=a.className;var c=document.createElement("table");b.appendChild(c);var d=document.createElement("tbody");c.appendChild(d);var e=document.createElement("tr");d.appendChild(e);var f=document.createElement("td");e.appendChild(f),a.parentElement.replaceChild(b,a),f.appendChild(a)})}},{key:"initTable",value:function initTable(){this.util.forEach(document.querySelectorAll(".content table"),function(a){var b=document.createElement("div");b.className="table-wrapper",a.parentElement.replaceChild(b,a),b.appendChild(a)})}},{key:"initHeaderLink",value:function initHeaderLink(){for(var a=1;6>=a;a++)this.util.forEach(document.querySelectorAll(".page.single .content > h"+a),function(a){a.classList.add("headerLink"),a.innerHTML="<a href=\"#".concat(a.id,"\" class=\"header-mark\"></a>").concat(a.innerHTML)})}},{key:"initToc",value:function initToc(){var a=this,b=document.getElementById("TableOfContents");if(null!==b)if(this.util.isTocStatic()){var k=document.getElementById("toc-content-static");b.parentElement!==k&&(b.parentElement.removeChild(b),k.appendChild(b)),this._tocOnScroll&&this.scrollEventSet.delete(this._tocOnScroll)}else{var l=document.getElementById("toc-content-auto");b.parentElement!==l&&(b.parentElement.removeChild(b),l.appendChild(b));var c=document.getElementById("toc-auto"),d=document.getElementsByClassName("page")[0];c.style.maxWidth="".concat(d.getBoundingClientRect().left-20,"px"),this._tocLinks=this._tocLinks||b.getElementsByTagName("a"),this._tocLis=this._tocLis||b.getElementsByTagName("li"),this._headerLinks=this._headerLinks||document.getElementsByClassName("headerLink")||[];var e="normal"!==window.desktopHeaderMode,f=document.getElementById("header-desktop").offsetHeight,g=20+(e?f:0),h=c.offsetTop,j=h-g+(e?0:f);this._tocOnScroll=this._tocOnScroll||function(){var d=document.getElementById("post-footer").offsetTop,k=d-c.getBoundingClientRect().height,l=k-g+(e?0:f);a.newScrollTop<j?(c.style.position="absolute",c.style.top="".concat(h,"px")):a.newScrollTop>l?(c.style.position="absolute",c.style.top="".concat(k,"px")):(c.style.position="fixed",c.style.top="".concat(g,"px")),a.util.forEach(a._tocLinks,function(a){a.classList.remove("active")}),a.util.forEach(a._tocLis,function(a){a.classList.remove("has-active")});for(var m=20+(e?f:0),n=a._headerLinks.length-1,o=0;o<a._headerLinks.length-1;o++){var p=a._headerLinks[o].getBoundingClientRect().top,q=a._headerLinks[o+1].getBoundingClientRect().top;if(0==o&&p>m||p<=m&&q>m){n=o;break}}if(-1!==n){a._tocLinks[n].classList.add("active");for(var r=a._tocLinks[n].parentElement;r!==b;)r.classList.add("has-active"),r=r.parentElement.parentElement}},this._tocOnScroll(),this.scrollEventSet.add(this._tocOnScroll)}}},{key:"initMermaid",value:function initMermaid(){window.mermaidArr&&(mermaid.initialize({startOnLoad:!1,theme:"null"}),this.util.forEach(window.mermaidArr,function(a){var b=document.getElementById(a);mermaid.mermaidAPI.render("svg-"+a,window.contentMap[a],function(a){b.innerHTML=a},b)}))}},{key:"initEcharts",value:function initEcharts(){var a=this;if(window.echartsArr){this._echartsArr=this._echartsArr||[];for(var b=0;b<this._echartsArr.length;b++)this._echartsArr[b].dispose();this._echartsArr=[],this.util.forEach(window.echartsArr,function(b){var c=echarts.init(document.getElementById(b),window.isDark?"dark":"macarons",{renderer:"svg"});c.setOption(JSON.parse(window.contentMap[b])),a._echartsArr.push(c)}),this._echartsOnResize=this._echartsOnResize||function(){for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].resize()},this.resizeEventSet.add(this._echartsOnResize)}}},{key:"initTypeit",value:function initTypeit(){if(window.typeitArr)for(var a=function(a){var b=window.typeitArr[a];(function a(c){var d=b[c];if(c===b.length-1)return void new TypeIt("#".concat(d),{strings:window.contentMap[d]}).go();var e=new TypeIt("#".concat(d),{strings:window.contentMap[d],afterComplete:function afterComplete(){e.destroy(),a(c+1)}}).go()})(0)},b=0;b<window.typeitArr.length;b++)a(b)}},{key:"initSmoothScroll",value:function initSmoothScroll(){!this.util.isMobile()&&"normal"===window.desktopHeaderMode||this.util.isMobile()&&"normal"===window.mobileHeaderMode?new SmoothScroll("[href^=\"#\"]",{speed:300,speedAsDuration:!0}):new SmoothScroll("[href^=\"#\"]",{speed:300,speedAsDuration:!0,header:"#header-desktop"})}},{key:"onScroll",value:function onScroll(){var a=this,b=[];"auto"===window.desktopHeaderMode&&b.push(document.getElementById("header-desktop")),"auto"===window.mobileHeaderMode&&b.push(document.getElementById("header-mobile")),this.util.forEach(b,function(a){a.classList.add("animated"),a.classList.add("faster")});var c=document.getElementById("dynamic-to-top"),d=20;window.addEventListener("scroll",function(){a.newScrollTop=a.util.getScrollTop();var e=a.newScrollTop-a.oldScrollTop;a.util.forEach(b,function(a){e>d?(a.classList.remove("fadeInDown"),a.classList.add("fadeOutUp")):e<-d&&(a.classList.remove("fadeOutUp"),a.classList.add("fadeInDown"))}),200<a.newScrollTop?e>d?(c.classList.remove("fadeInUp"),c.classList.add("fadeOutDown")):e<-d&&(c.style.display="block",c.classList.remove("fadeOutDown"),c.classList.add("fadeInUp")):c.style.display="none",a._scrollTimeout||(a._scrollTimeout=window.setTimeout(function(){a._scrollTimeout=null;var b=!0,c=!1,d=void 0;try{for(var e,f,g=a.scrollEventSet[Symbol.iterator]();!(b=(e=g.next()).done);b=!0)f=e.value,f()}catch(a){c=!0,d=a}finally{try{b||null==g.return||g.return()}finally{if(c)throw d}}},10)),a.oldScrollTop=a.newScrollTop},!1)}},{key:"onResize",value:function onResize(){var a=this;window.addEventListener("resize",function(){a._resizeTimeout||(a._resizeTimeout=window.setTimeout(function(){a._resizeTimeout=null;var b=!0,c=!1,d=void 0;try{for(var e,f,g=a.resizeEventSet[Symbol.iterator]();!(b=(e=g.next()).done);b=!0)f=e.value,f()}catch(a){c=!0,d=a}finally{try{b||null==g.return||g.return()}finally{if(c)throw d}}a.initMenuMobile(),a.initToc(),a.initSmoothScroll(),a.initMermaid()},100))},!1)}},{key:"init",value:function init(){this.initMenuMobile(),this.initSwitchTheme(),this.initHighlight(),this.initTable(),this.initHeaderLink(),this.initMermaid(),this.initEcharts(),this.initTypeit(),this.initToc(),this.initSmoothScroll(),this.onScroll(),this.onResize()}}]),b}(),c=function(){var a=new b;a.init()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",c,!1):c()})(); //# sourceMappingURL=theme.min.js.map
\ No newline at end of file diff --git a/assets/js/theme.min.js.map b/assets/js/theme.min.js.map index fcc90e9..a34f443 100644 --- a/assets/js/theme.min.js.map +++ b/assets/js/theme.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../src/js/theme.js"],"names":[],"mappings":"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","file":"theme.min.js","sourcesContent":["(() => {\n 'use strict';\n\n class Util {\n forEach(elements, handler) {\n elements = elements || [];\n for (let i = 0; i < elements.length; i++) {\n handler(elements[i]);\n }\n }\n\n getScrollTop() {\n return (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;\n }\n\n isMobile() {\n return window.matchMedia('only screen and (max-width: 720px)').matches;\n }\n\n isTocStatic() {\n return window.matchMedia('only screen and (max-width: 960px)').matches;\n }\n }\n\n class Theme {\n constructor() {\n this.util = new Util();\n this.newScrollTop = this.util.getScrollTop();\n this.oldScrollTop = this.newScrollTop;\n this.scrollEventSet = new Set();\n this.resizeEventSet = new Set();\n }\n\n initMenuMobile() {\n const menuToggleMobile = document.getElementById('menu-toggle-mobile');\n const menuMobile = document.getElementById('menu-mobile');\n this._menuMobileOnScroll = this._menuMobileOnScroll || (() => {\n menuToggleMobile.classList.remove('active');\n menuMobile.classList.remove('active');\n });\n if (this.util.isMobile()) {\n menuToggleMobile.onclick = () => {\n menuToggleMobile.classList.toggle('active');\n menuMobile.classList.toggle('active');\n };\n this.scrollEventSet.add(this._menuMobileOnScroll);\n } else {\n this.scrollEventSet.delete(this._menuMobileOnScroll);\n }\n }\n\n initSwitchTheme() {\n this.util.forEach(document.getElementsByClassName('theme-switch'), (button) => {\n button.onclick = () => {\n document.body.classList.toggle('dark-theme');\n window.isDark = !window.isDark;\n window.localStorage && window.localStorage.setItem('theme', window.isDark ? 'dark' : 'light');\n this.initEcharts();\n };\n });\n }\n\n initHighlight() {\n this.util.forEach(document.querySelectorAll('.highlight > .chroma'), (block) => {\n const codes = block.querySelectorAll('pre.chroma > code');\n const code = codes[codes.length - 1];\n const lang = code ? code.className.toLowerCase() : '';\n block.className += ' ' + lang;\n });\n this.util.forEach(document.querySelectorAll('.highlight > pre.chroma'), (block) => {\n const chroma = document.createElement('div');\n chroma.className = block.className;\n const table = document.createElement('table');\n chroma.appendChild(table);\n const tbody = document.createElement('tbody');\n table.appendChild(tbody);\n const tr = document.createElement('tr');\n tbody.appendChild(tr);\n const td = document.createElement('td');\n tr.appendChild(td);\n block.parentElement.replaceChild(chroma, block);\n td.appendChild(block);\n });\n }\n\n initTable() {\n this.util.forEach(document.querySelectorAll('.content table'), (table) => {\n const wrapper = document.createElement('div');\n wrapper.className = 'table-wrapper';\n table.parentElement.replaceChild(wrapper, table);\n wrapper.appendChild(table);\n });\n }\n\n initHeaderLink() {\n for (let num = 1; num <= 6; num++) {\n this.util.forEach(document.querySelectorAll('.page.single .content > h' + num), (header) => {\n header.classList.add('headerLink');\n header.innerHTML = `<a href=\"#${header.id}\" class=\"header-mark\"></a>${header.innerHTML}`;\n });\n }\n }\n\n initToc() {\n const tocCore = document.getElementById('TableOfContents');\n if (tocCore === null) return;\n if (this.util.isTocStatic()) {\n const tocContentStatic = document.getElementById('toc-content-static');\n if (tocCore.parentElement !== tocContentStatic) {\n tocCore.parentElement.removeChild(tocCore);\n tocContentStatic.appendChild(tocCore);\n }\n if (this._tocOnScroll) this.scrollEventSet.delete(this._tocOnScroll);\n } else {\n const tocContentAuto = document.getElementById('toc-content-auto');\n if (tocCore.parentElement !== tocContentAuto) {\n tocCore.parentElement.removeChild(tocCore);\n tocContentAuto.appendChild(tocCore);\n }\n const toc = document.getElementById('toc-auto');\n const page = document.getElementsByClassName('page')[0];\n toc.style.maxWidth = `${page.getBoundingClientRect().left - 20}px`;\n this._tocLinks = this._tocLinks || tocCore.getElementsByTagName('a');\n this._tocLis = this._tocLis || tocCore.getElementsByTagName('li');\n this._headerLinks = this._headerLinks || document.getElementsByClassName('headerLink') || [];\n const headerIsFixed = window.desktopHeaderMode !== 'normal';\n const headerHeight = document.getElementById('header-desktop').offsetHeight;\n const TOP_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n const minTocTop = toc.offsetTop;\n const minScrollTop = minTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n this._tocOnScroll = this._tocOnScroll || (() => {\n const footerTop = document.getElementById('post-footer').offsetTop;\n const maxTocTop = footerTop - toc.getBoundingClientRect().height;\n const maxScrollTop = maxTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n if (this.newScrollTop < minScrollTop) {\n toc.style.position = 'absolute';\n toc.style.top = `${minTocTop}px`;\n } else if (this.newScrollTop > maxScrollTop) {\n toc.style.position = 'absolute';\n toc.style.top = `${maxTocTop}px`;\n } else {\n toc.style.position = 'fixed';\n toc.style.top = `${TOP_SPACING}px`;\n }\n\n this.util.forEach(this._tocLinks, (link) => { link.classList.remove('active'); });\n this.util.forEach(this._tocLis, (link) => { link.classList.remove('has-active'); });\n const INDEX_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n let activeTocIndex = this._headerLinks.length - 1;\n for (let i = 0; i < this._headerLinks.length - 1; i++) {\n const thisTop = this._headerLinks[i].getBoundingClientRect().top;\n const nextTop = this._headerLinks[i + 1].getBoundingClientRect().top;\n if ((i == 0 && thisTop > INDEX_SPACING)\n || (thisTop <= INDEX_SPACING && nextTop > INDEX_SPACING)) {\n activeTocIndex = i;\n break;\n }\n }\n if (activeTocIndex !== -1) {\n this._tocLinks[activeTocIndex].classList.add('active');\n let parent = this._tocLinks[activeTocIndex].parentElement;\n while (parent !== tocCore) {\n parent.classList.add('has-active');\n parent = parent.parentElement.parentElement;\n }\n }\n });\n this._tocOnScroll();\n this.scrollEventSet.add(this._tocOnScroll);\n }\n }\n\n initMermaid() {\n if (window.mermaidArr) {\n mermaid.initialize({startOnLoad: false, theme: 'null'});\n this.util.forEach(window.mermaidArr, (id) => {\n const element = document.getElementById(id);\n mermaid.mermaidAPI.render('svg-' + id, window.contentMap[id], (svgCode) => {\n element.innerHTML = svgCode;\n }, element);\n });\n }\n }\n\n initEcharts() {\n if (window.echartsArr) {\n this._echartsArr = this._echartsArr || [];\n for (let i = 0; i < this._echartsArr.length; i++) {\n this._echartsArr[i].dispose();\n }\n this._echartsArr = [];\n this.util.forEach(window.echartsArr, (id) => {\n const chart = echarts.init(document.getElementById(id), window.isDark ? 'dark' : 'macarons', {renderer: 'svg'});\n chart.setOption(JSON.parse(window.contentMap[id]));\n this._echartsArr.push(chart);\n });\n this._echartsOnResize = this._echartsOnResize || (() => {\n for (let i = 0; i < this._echartsArr.length; i++) {\n this._echartsArr[i].resize();\n }\n });\n this.resizeEventSet.add(this._echartsOnResize);\n }\n }\n\n initTypeit() {\n if (window.typeitArr) {\n for (let i = 0; i < window.typeitArr.length; i++) {\n const group = window.typeitArr[i];\n (function typeone(i) {\n const id = group[i];\n if (i === group.length - 1) {\n new TypeIt(`#${id}`, {\n strings: window.contentMap[id],\n }).go();\n return;\n }\n let instance = new TypeIt(`#${id}`, {\n strings: window.contentMap[id],\n afterComplete: () => {\n instance.destroy();\n typeone(i + 1);\n },\n }).go();\n })(0);\n }\n }\n }\n\n initSmoothScroll() {\n if ((!this.util.isMobile() && window.desktopHeaderMode === 'normal')\n || (this.util.isMobile() && window.mobileHeaderMode === 'normal')) {\n new SmoothScroll('[href^=\"#\"]', {speed: 300, speedAsDuration: true});\n } else {\n new SmoothScroll('[href^=\"#\"]', {speed: 300, speedAsDuration: true, header: '#header-desktop'});\n }\n }\n\n onScroll() {\n const headers = [];\n if (window.desktopHeaderMode === 'auto') headers.push(document.getElementById('header-desktop'));\n if (window.mobileHeaderMode === 'auto') headers.push(document.getElementById('header-mobile'));\n this.util.forEach(headers, (header) => {\n header.classList.add('animated');\n header.classList.add('faster');\n });\n const toTopButton = document.getElementById('dynamic-to-top');\n const MIN_SCROLL = 20;\n window.addEventListener('scroll', () => {\n this.newScrollTop = this.util.getScrollTop();\n const scroll = this.newScrollTop - this.oldScrollTop;\n this.util.forEach(headers, (header) => {\n if (scroll > MIN_SCROLL) {\n header.classList.remove('fadeInDown');\n header.classList.add('fadeOutUp');\n } else if (scroll < - MIN_SCROLL) {\n header.classList.remove('fadeOutUp');\n header.classList.add('fadeInDown');\n }\n });\n if (this.newScrollTop > 400) {\n if (scroll > MIN_SCROLL) {\n toTopButton.classList.remove('fadeIn');\n toTopButton.classList.add('fadeOut');\n } else if (scroll < - MIN_SCROLL) {\n toTopButton.style.display = 'block';\n toTopButton.classList.remove('fadeOut');\n toTopButton.classList.add('fadeIn');\n }\n } else {\n toTopButton.style.display = 'none';\n }\n if (!this._scrollTimeout) {\n this._scrollTimeout = window.setTimeout(() => {\n this._scrollTimeout = null;\n for (let event of this.scrollEventSet) event();\n }, 10);\n }\n this.oldScrollTop = this.newScrollTop;\n }, false);\n }\n\n onResize() {\n window.addEventListener('resize', () => {\n if (!this._resizeTimeout) {\n this._resizeTimeout = window.setTimeout(() => {\n this._resizeTimeout = null;\n for (let event of this.resizeEventSet) event();\n this.initMenuMobile();\n this.initToc();\n this.initSmoothScroll();\n this.initMermaid()\n }, 100);\n }\n }, false);\n }\n\n init() {\n this.initMenuMobile();\n this.initSwitchTheme();\n this.initHighlight();\n this.initTable();\n this.initHeaderLink();\n this.initMermaid();\n this.initEcharts();\n this.initTypeit();\n this.initToc();\n this.initSmoothScroll();\n\n this.onScroll();\n this.onResize();\n }\n }\n\n const themeInit = () => {\n const theme = new Theme();\n theme.init();\n };\n\n if (document.readyState !== 'loading') {\n themeInit();\n } else {\n document.addEventListener('DOMContentLoaded', themeInit, false);\n }\n})();\n"]}
\ No newline at end of file +{"version":3,"sources":["../../src/js/theme.js"],"names":[],"mappings":"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","file":"theme.min.js","sourcesContent":["(() => {\n 'use strict';\n\n class Util {\n forEach(elements, handler) {\n elements = elements || [];\n for (let i = 0; i < elements.length; i++) {\n handler(elements[i]);\n }\n }\n\n getScrollTop() {\n return (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;\n }\n\n isMobile() {\n return window.matchMedia('only screen and (max-width: 680px)').matches;\n }\n\n isTocStatic() {\n return window.matchMedia('only screen and (max-width: 960px)').matches;\n }\n }\n\n class Theme {\n constructor() {\n this.util = new Util();\n this.newScrollTop = this.util.getScrollTop();\n this.oldScrollTop = this.newScrollTop;\n this.scrollEventSet = new Set();\n this.resizeEventSet = new Set();\n }\n\n initMenuMobile() {\n const menuToggleMobile = document.getElementById('menu-toggle-mobile');\n const menuMobile = document.getElementById('menu-mobile');\n this._menuMobileOnScroll = this._menuMobileOnScroll || (() => {\n menuToggleMobile.classList.remove('active');\n menuMobile.classList.remove('active');\n });\n if (this.util.isMobile()) {\n menuToggleMobile.onclick = () => {\n menuToggleMobile.classList.toggle('active');\n menuMobile.classList.toggle('active');\n };\n this.scrollEventSet.add(this._menuMobileOnScroll);\n } else {\n this.scrollEventSet.delete(this._menuMobileOnScroll);\n }\n }\n\n initSwitchTheme() {\n this.util.forEach(document.getElementsByClassName('theme-switch'), (button) => {\n button.onclick = () => {\n document.body.classList.toggle('dark-theme');\n window.isDark = !window.isDark;\n window.localStorage && window.localStorage.setItem('theme', window.isDark ? 'dark' : 'light');\n this.initEcharts();\n };\n });\n }\n\n initHighlight() {\n this.util.forEach(document.querySelectorAll('.highlight > .chroma'), (block) => {\n const codes = block.querySelectorAll('pre.chroma > code');\n const code = codes[codes.length - 1];\n const lang = code ? code.className.toLowerCase() : '';\n block.className += ' ' + lang;\n });\n this.util.forEach(document.querySelectorAll('.highlight > pre.chroma'), (block) => {\n const chroma = document.createElement('div');\n chroma.className = block.className;\n const table = document.createElement('table');\n chroma.appendChild(table);\n const tbody = document.createElement('tbody');\n table.appendChild(tbody);\n const tr = document.createElement('tr');\n tbody.appendChild(tr);\n const td = document.createElement('td');\n tr.appendChild(td);\n block.parentElement.replaceChild(chroma, block);\n td.appendChild(block);\n });\n }\n\n initTable() {\n this.util.forEach(document.querySelectorAll('.content table'), (table) => {\n const wrapper = document.createElement('div');\n wrapper.className = 'table-wrapper';\n table.parentElement.replaceChild(wrapper, table);\n wrapper.appendChild(table);\n });\n }\n\n initHeaderLink() {\n for (let num = 1; num <= 6; num++) {\n this.util.forEach(document.querySelectorAll('.page.single .content > h' + num), (header) => {\n header.classList.add('headerLink');\n header.innerHTML = `<a href=\"#${header.id}\" class=\"header-mark\"></a>${header.innerHTML}`;\n });\n }\n }\n\n initToc() {\n const tocCore = document.getElementById('TableOfContents');\n if (tocCore === null) return;\n if (this.util.isTocStatic()) {\n const tocContentStatic = document.getElementById('toc-content-static');\n if (tocCore.parentElement !== tocContentStatic) {\n tocCore.parentElement.removeChild(tocCore);\n tocContentStatic.appendChild(tocCore);\n }\n if (this._tocOnScroll) this.scrollEventSet.delete(this._tocOnScroll);\n } else {\n const tocContentAuto = document.getElementById('toc-content-auto');\n if (tocCore.parentElement !== tocContentAuto) {\n tocCore.parentElement.removeChild(tocCore);\n tocContentAuto.appendChild(tocCore);\n }\n const toc = document.getElementById('toc-auto');\n const page = document.getElementsByClassName('page')[0];\n toc.style.maxWidth = `${page.getBoundingClientRect().left - 20}px`;\n this._tocLinks = this._tocLinks || tocCore.getElementsByTagName('a');\n this._tocLis = this._tocLis || tocCore.getElementsByTagName('li');\n this._headerLinks = this._headerLinks || document.getElementsByClassName('headerLink') || [];\n const headerIsFixed = window.desktopHeaderMode !== 'normal';\n const headerHeight = document.getElementById('header-desktop').offsetHeight;\n const TOP_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n const minTocTop = toc.offsetTop;\n const minScrollTop = minTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n this._tocOnScroll = this._tocOnScroll || (() => {\n const footerTop = document.getElementById('post-footer').offsetTop;\n const maxTocTop = footerTop - toc.getBoundingClientRect().height;\n const maxScrollTop = maxTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n if (this.newScrollTop < minScrollTop) {\n toc.style.position = 'absolute';\n toc.style.top = `${minTocTop}px`;\n } else if (this.newScrollTop > maxScrollTop) {\n toc.style.position = 'absolute';\n toc.style.top = `${maxTocTop}px`;\n } else {\n toc.style.position = 'fixed';\n toc.style.top = `${TOP_SPACING}px`;\n }\n\n this.util.forEach(this._tocLinks, (link) => { link.classList.remove('active'); });\n this.util.forEach(this._tocLis, (link) => { link.classList.remove('has-active'); });\n const INDEX_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n let activeTocIndex = this._headerLinks.length - 1;\n for (let i = 0; i < this._headerLinks.length - 1; i++) {\n const thisTop = this._headerLinks[i].getBoundingClientRect().top;\n const nextTop = this._headerLinks[i + 1].getBoundingClientRect().top;\n if ((i == 0 && thisTop > INDEX_SPACING)\n || (thisTop <= INDEX_SPACING && nextTop > INDEX_SPACING)) {\n activeTocIndex = i;\n break;\n }\n }\n if (activeTocIndex !== -1) {\n this._tocLinks[activeTocIndex].classList.add('active');\n let parent = this._tocLinks[activeTocIndex].parentElement;\n while (parent !== tocCore) {\n parent.classList.add('has-active');\n parent = parent.parentElement.parentElement;\n }\n }\n });\n this._tocOnScroll();\n this.scrollEventSet.add(this._tocOnScroll);\n }\n }\n\n initMermaid() {\n if (window.mermaidArr) {\n mermaid.initialize({startOnLoad: false, theme: 'null'});\n this.util.forEach(window.mermaidArr, (id) => {\n const element = document.getElementById(id);\n mermaid.mermaidAPI.render('svg-' + id, window.contentMap[id], (svgCode) => {\n element.innerHTML = svgCode;\n }, element);\n });\n }\n }\n\n initEcharts() {\n if (window.echartsArr) {\n this._echartsArr = this._echartsArr || [];\n for (let i = 0; i < this._echartsArr.length; i++) {\n this._echartsArr[i].dispose();\n }\n this._echartsArr = [];\n this.util.forEach(window.echartsArr, (id) => {\n const chart = echarts.init(document.getElementById(id), window.isDark ? 'dark' : 'macarons', {renderer: 'svg'});\n chart.setOption(JSON.parse(window.contentMap[id]));\n this._echartsArr.push(chart);\n });\n this._echartsOnResize = this._echartsOnResize || (() => {\n for (let i = 0; i < this._echartsArr.length; i++) {\n this._echartsArr[i].resize();\n }\n });\n this.resizeEventSet.add(this._echartsOnResize);\n }\n }\n\n initTypeit() {\n if (window.typeitArr) {\n for (let i = 0; i < window.typeitArr.length; i++) {\n const group = window.typeitArr[i];\n (function typeone(i) {\n const id = group[i];\n if (i === group.length - 1) {\n new TypeIt(`#${id}`, {\n strings: window.contentMap[id],\n }).go();\n return;\n }\n let instance = new TypeIt(`#${id}`, {\n strings: window.contentMap[id],\n afterComplete: () => {\n instance.destroy();\n typeone(i + 1);\n },\n }).go();\n })(0);\n }\n }\n }\n\n initSmoothScroll() {\n if ((!this.util.isMobile() && window.desktopHeaderMode === 'normal')\n || (this.util.isMobile() && window.mobileHeaderMode === 'normal')) {\n new SmoothScroll('[href^=\"#\"]', {speed: 300, speedAsDuration: true});\n } else {\n new SmoothScroll('[href^=\"#\"]', {speed: 300, speedAsDuration: true, header: '#header-desktop'});\n }\n }\n\n onScroll() {\n const headers = [];\n if (window.desktopHeaderMode === 'auto') headers.push(document.getElementById('header-desktop'));\n if (window.mobileHeaderMode === 'auto') headers.push(document.getElementById('header-mobile'));\n this.util.forEach(headers, (header) => {\n header.classList.add('animated');\n header.classList.add('faster');\n });\n const toTopButton = document.getElementById('dynamic-to-top');\n const MIN_SCROLL = 20;\n window.addEventListener('scroll', () => {\n this.newScrollTop = this.util.getScrollTop();\n const scroll = this.newScrollTop - this.oldScrollTop;\n this.util.forEach(headers, (header) => {\n if (scroll > MIN_SCROLL) {\n header.classList.remove('fadeInDown');\n header.classList.add('fadeOutUp');\n } else if (scroll < - MIN_SCROLL) {\n header.classList.remove('fadeOutUp');\n header.classList.add('fadeInDown');\n }\n });\n if (this.newScrollTop > 200) {\n if (scroll > MIN_SCROLL) {\n toTopButton.classList.remove('fadeInUp');\n toTopButton.classList.add('fadeOutDown');\n } else if (scroll < - MIN_SCROLL) {\n toTopButton.style.display = 'block';\n toTopButton.classList.remove('fadeOutDown');\n toTopButton.classList.add('fadeInUp');\n }\n } else {\n toTopButton.style.display = 'none';\n }\n if (!this._scrollTimeout) {\n this._scrollTimeout = window.setTimeout(() => {\n this._scrollTimeout = null;\n for (let event of this.scrollEventSet) event();\n }, 10);\n }\n this.oldScrollTop = this.newScrollTop;\n }, false);\n }\n\n onResize() {\n window.addEventListener('resize', () => {\n if (!this._resizeTimeout) {\n this._resizeTimeout = window.setTimeout(() => {\n this._resizeTimeout = null;\n for (let event of this.resizeEventSet) event();\n this.initMenuMobile();\n this.initToc();\n this.initSmoothScroll();\n this.initMermaid()\n }, 100);\n }\n }, false);\n }\n\n init() {\n this.initMenuMobile();\n this.initSwitchTheme();\n this.initHighlight();\n this.initTable();\n this.initHeaderLink();\n this.initMermaid();\n this.initEcharts();\n this.initTypeit();\n this.initToc();\n this.initSmoothScroll();\n\n this.onScroll();\n this.onResize();\n }\n }\n\n const themeInit = () => {\n const theme = new Theme();\n theme.init();\n };\n\n if (document.readyState !== 'loading') {\n themeInit();\n } else {\n document.addEventListener('DOMContentLoaded', themeInit, false);\n }\n})();\n"]}
\ No newline at end of file |