From 02c3891865c7741b8f772aea75cc01564d2f0ff4 Mon Sep 17 00:00:00 2001 From: amzrk2 Date: Mon, 1 Jun 2020 15:44:04 +0800 Subject: Remove jQuery --- static/assets/js/fuji.min.js.map | 1 + 1 file changed, 1 insertion(+) create mode 100644 static/assets/js/fuji.min.js.map (limited to 'static/assets/js/fuji.min.js.map') diff --git a/static/assets/js/fuji.min.js.map b/static/assets/js/fuji.min.js.map new file mode 100644 index 0000000..867d547 --- /dev/null +++ b/static/assets/js/fuji.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["fuji.js"],"names":["nowTheme","document","body","getAttribute","window","matchMedia","matches","updateMeidumTheme","mediumInst","targetTheme","getNowTheme","detach","mediumZoom","background","updateUtterancesTheme","utterancesFrame","contentWindow","postMessage","type","theme","commentStatus","commentLoadingTime","querySelectorAll","length","forEach","value","key","parent","setAttribute","querySelector","addEventListener","scrollTop","clearInterval","className","commentCheckInterval","self","setInterval","checkUtterances","domTheme","systemTheme","localStorage","setItem","DISQUS","reset"],"mappings":"aAII,SAAIA,cAAJ,IAAIA,EAAWC,SAASC,KAAKC,aAAa,cAC1C,MAAiB,SAAbH,EACOI,OAAOC,WAAW,gCAAgCC,QAAU,OAAS,QAExD,SAAbN,EAAsB,OAAS,QAK9C,SAASO,kBAAkBC,GACvB,IAAIC,EAAcC,cACdF,IAAAA,EAAYG,SAGRH,EAFJ,SAAAA,EAEiBI,WAAW,gBAAiB,CADzCH,WAAgB,YAChBG,WAAA,gBAAA,CAGGC,WAAA,aASf,SAASC,sBAAsBC,GAC3B,IAAIN,EAAcC,cADtBK,IACsBL,SAAdD,EAGIM,EAAgBC,cAAcC,YAFlCF,CACeG,KAAK,YAChBH,MAAgBC,eAGD,uBAKfD,EAAgBC,cAAcC,YAEhB,CACCC,KAAA,YAEXC,MAAA,gBAGX,wBAmBGN,IAAAA,WAqBIC,gBAHHM,cANDC,mBAOID,qBAjCR,EAAAnB,SAAAqB,iBAAA,sBAAAC,QAKJtB,SAAAqB,iBAAA,sBAAAE,QAAA,SAAAC,EAAAC,EAAAC,GAJQF,EAAMG,aAAa,QAAS,oBAKpC3B,SAAS4B,cAAc,wBAAwBC,iBAAiB,QAAS,WAKrEtB,SAAAA,gBAAYuB,UAAA,IAChBvB,WACI,SAAAE,cAGGE,WAAA,gBAAA,CACHJ,WAAaI,YAKjBA,WAAA,gBAAA,CACAC,WAAA,YAQYO,SAAAA,cAAgBnB,mBAIhBa,gBAAAA,WACAb,SAAS4B,cAAc,+BACpBT,cAAAnB,SAAA4B,cAAA,6BAAA1B,aAAA,UAEC6B,eACA/B,cAAS4B,sBACT5B,sBAAuBA,SAAA4B,cAAmBI,yBAC7ChC,SAAA4B,cAAA,iBAAAD,aAAA,QAAA,mBAlBgC,KAAAP,qBAe7BW,cAAcE,sBAdtBd,SAAeS,cAAA,iBAAAD,aAAA,QAAA,kBAgBP3B,SAAS4B,cAAc,mBAAmBI,UAAY,wBAf9DZ,mBAAqB,EAOjBD,qBAAee,KAAAC,YAAAC,gBAAA,MAe3BpC,SAAS4B,cAAc,yBAAyBC,iBAAiB,QAAS,WACtE,IAAI9B,EAAWU,cACX4B,EAAWrC,SAASC,KAAKC,aAAa,cACtCoC,EAAcnC,OAAOC,WAAW,gCAAgCC,QAAU,OAAS,QAEtE,SAAbgC,GAEArC,SAAAC,KAAc0B,aAAa,aAA2B,UAAb5B,EAAuB,OAAS,SACzEwC,aAAaC,QAAQ,kBAAgC,UAAbzC,EAAuB,OAAS,UACpD,UAAbsC,GAEPrC,SAAAC,KAAc0B,aAAa,aAAc,QAEzCY,aAAaC,QAAQ,kBAAmC,QAAhBF,EAAyB,OAAS,UAG1EtC,SAAAC,KAAc0B,aAAa,aAAc,SAEzCY,aAAaC,QAAQ,kBAAmC,SAAhBF,EAA0B,OAAS,UAI/EhC,kBAAkBC,YAGdP,SAAS4B,cAAc,kBAAoBT,eAC3CN,sBAAsBb,SAAS4B,cAAc,yBAE7C5B,SAAS4B,cAAc,mBAAuC,oBAAXa,QAAnDzC,OAAS4B,MAAAA,CACFc,QAAM","file":"fuji.min.js","sourcesContent":["'use strict';\r\n\r\n// get current theme\r\nfunction getNowTheme() {\r\n let nowTheme = document.body.getAttribute('data-theme');\r\n if (nowTheme === 'auto') {\r\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n } else {\r\n return nowTheme === 'dark' ? 'dark' : 'light';\r\n }\r\n}\r\n\r\n// update medium-zoom theme\r\nfunction updateMeidumTheme(mediumInst) {\r\n let targetTheme = getNowTheme();\r\n if (mediumInst) {\r\n mediumInst.detach();\r\n if (targetTheme === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n } else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n }\r\n }\r\n}\r\n\r\n// update utterances theme\r\nfunction updateUtterancesTheme(utterancesFrame) {\r\n let targetTheme = getNowTheme();\r\n if (utterancesFrame) {\r\n if (targetTheme === 'dark') {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'photon-dark',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n } else {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'github-light',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n }\r\n }\r\n}\r\n\r\n// remove empty ul in toc if article only have ## and ###\r\nif (document.querySelectorAll('.sidebar-toc ul ul').length > 0) {\r\n document.querySelectorAll('.sidebar-toc ul ul').forEach((value, key, parent) => {\r\n value.setAttribute('style', 'display: none;');\r\n });\r\n}\r\n\r\n// to-top button\r\ndocument.querySelector('.btn .btn-scroll-top').addEventListener('click', () => {\r\n document.documentElement.scrollTop = 0;\r\n});\r\n\r\n// init medium-zoom\r\nvar mediumInst; // medium-zoom instance\r\nif (getNowTheme() === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n} else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n}\r\n\r\n// if in post page and using utterances\r\n// add utterances comment loading indicator\r\nif (document.querySelector('.post-loading')) {\r\n var commentStatus; // utterence status\r\n var commentLoadingTime = 0; // loading time passed\r\n var commentCheckInterval = self.setInterval(checkUtterances, 500);\r\n\r\n function checkUtterances() {\r\n if (document.querySelector('.post-comment .utterances')) {\r\n commentStatus = document.querySelector('.post-comment .utterances').getAttribute('style');\r\n }\r\n if (commentStatus) {\r\n clearInterval(commentCheckInterval);\r\n updateUtterancesTheme(document.querySelector('.post-comment iframe'));\r\n document.querySelector('.post-loading').setAttribute('style', 'display: none;');\r\n } else {\r\n if (++commentLoadingTime > 20) {\r\n clearInterval(commentCheckInterval);\r\n document.querySelector('.post-comment').setAttribute('style', 'display: none;');\r\n document.querySelector('.post-loading i').className = 'far fa-times-circle';\r\n }\r\n }\r\n }\r\n}\r\n\r\n// theme switch button\r\ndocument.querySelector('.btn .btn-toggle-mode').addEventListener('click', () => {\r\n let nowTheme = getNowTheme();\r\n let domTheme = document.body.getAttribute('data-theme');\r\n let systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n\r\n if (domTheme === 'auto') {\r\n // if now in auto mode, switch to user mode\r\n document.body.setAttribute('data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n localStorage.setItem('fuji_data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n } else if (domTheme === 'light') {\r\n // if now in user mode and light mode\r\n document.body.setAttribute('data-theme', 'dark');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'dark' ? 'auto' : 'dark');\r\n } else {\r\n // if now in user mode and dark mode\r\n document.body.setAttribute('data-theme', 'light');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'light' ? 'auto' : 'light');\r\n }\r\n\r\n // update medium background\r\n updateMeidumTheme(mediumInst);\r\n // switch comment area theme\r\n // only works after comment area are initialized\r\n if (document.querySelector('.post-loading') && commentStatus) {\r\n updateUtterancesTheme(document.querySelector('.post-comment iframe'));\r\n }\r\n if (document.querySelector('#disqus_thread') && typeof DISQUS !== 'undefined') {\r\n DISQUS.reset({\r\n reload: true,\r\n });\r\n }\r\n});\r\n"]} \ No newline at end of file -- cgit v1.2.3 From 3df71601ae866aff9c2ae060ed1ac7407807fcc4 Mon Sep 17 00:00:00 2001 From: amzrk2 Date: Wed, 3 Jun 2020 13:58:49 +0800 Subject: New comment area & opt out of font awesome --- static/assets/js/fuji.min.js.map | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'static/assets/js/fuji.min.js.map') diff --git a/static/assets/js/fuji.min.js.map b/static/assets/js/fuji.min.js.map index 867d547..b854d25 100644 --- a/static/assets/js/fuji.min.js.map +++ b/static/assets/js/fuji.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["fuji.js"],"names":["nowTheme","document","body","getAttribute","window","matchMedia","matches","updateMeidumTheme","mediumInst","targetTheme","getNowTheme","detach","mediumZoom","background","updateUtterancesTheme","utterancesFrame","contentWindow","postMessage","type","theme","commentStatus","commentLoadingTime","querySelectorAll","length","forEach","value","key","parent","setAttribute","querySelector","addEventListener","scrollTop","clearInterval","className","commentCheckInterval","self","setInterval","checkUtterances","domTheme","systemTheme","localStorage","setItem","DISQUS","reset"],"mappings":"aAII,SAAIA,cAAJ,IAAIA,EAAWC,SAASC,KAAKC,aAAa,cAC1C,MAAiB,SAAbH,EACOI,OAAOC,WAAW,gCAAgCC,QAAU,OAAS,QAExD,SAAbN,EAAsB,OAAS,QAK9C,SAASO,kBAAkBC,GACvB,IAAIC,EAAcC,cACdF,IAAAA,EAAYG,SAGRH,EAFJ,SAAAA,EAEiBI,WAAW,gBAAiB,CADzCH,WAAgB,YAChBG,WAAA,gBAAA,CAGGC,WAAA,aASf,SAASC,sBAAsBC,GAC3B,IAAIN,EAAcC,cADtBK,IACsBL,SAAdD,EAGIM,EAAgBC,cAAcC,YAFlCF,CACeG,KAAK,YAChBH,MAAgBC,eAGD,uBAKfD,EAAgBC,cAAcC,YAEhB,CACCC,KAAA,YAEXC,MAAA,gBAGX,wBAmBGN,IAAAA,WAqBIC,gBAHHM,cANDC,mBAOID,qBAjCR,EAAAnB,SAAAqB,iBAAA,sBAAAC,QAKJtB,SAAAqB,iBAAA,sBAAAE,QAAA,SAAAC,EAAAC,EAAAC,GAJQF,EAAMG,aAAa,QAAS,oBAKpC3B,SAAS4B,cAAc,wBAAwBC,iBAAiB,QAAS,WAKrEtB,SAAAA,gBAAYuB,UAAA,IAChBvB,WACI,SAAAE,cAGGE,WAAA,gBAAA,CACHJ,WAAaI,YAKjBA,WAAA,gBAAA,CACAC,WAAA,YAQYO,SAAAA,cAAgBnB,mBAIhBa,gBAAAA,WACAb,SAAS4B,cAAc,+BACpBT,cAAAnB,SAAA4B,cAAA,6BAAA1B,aAAA,UAEC6B,eACA/B,cAAS4B,sBACT5B,sBAAuBA,SAAA4B,cAAmBI,yBAC7ChC,SAAA4B,cAAA,iBAAAD,aAAA,QAAA,mBAlBgC,KAAAP,qBAe7BW,cAAcE,sBAdtBd,SAAeS,cAAA,iBAAAD,aAAA,QAAA,kBAgBP3B,SAAS4B,cAAc,mBAAmBI,UAAY,wBAf9DZ,mBAAqB,EAOjBD,qBAAee,KAAAC,YAAAC,gBAAA,MAe3BpC,SAAS4B,cAAc,yBAAyBC,iBAAiB,QAAS,WACtE,IAAI9B,EAAWU,cACX4B,EAAWrC,SAASC,KAAKC,aAAa,cACtCoC,EAAcnC,OAAOC,WAAW,gCAAgCC,QAAU,OAAS,QAEtE,SAAbgC,GAEArC,SAAAC,KAAc0B,aAAa,aAA2B,UAAb5B,EAAuB,OAAS,SACzEwC,aAAaC,QAAQ,kBAAgC,UAAbzC,EAAuB,OAAS,UACpD,UAAbsC,GAEPrC,SAAAC,KAAc0B,aAAa,aAAc,QAEzCY,aAAaC,QAAQ,kBAAmC,QAAhBF,EAAyB,OAAS,UAG1EtC,SAAAC,KAAc0B,aAAa,aAAc,SAEzCY,aAAaC,QAAQ,kBAAmC,SAAhBF,EAA0B,OAAS,UAI/EhC,kBAAkBC,YAGdP,SAAS4B,cAAc,kBAAoBT,eAC3CN,sBAAsBb,SAAS4B,cAAc,yBAE7C5B,SAAS4B,cAAc,mBAAuC,oBAAXa,QAAnDzC,OAAS4B,MAAAA,CACFc,QAAM","file":"fuji.min.js","sourcesContent":["'use strict';\r\n\r\n// get current theme\r\nfunction getNowTheme() {\r\n let nowTheme = document.body.getAttribute('data-theme');\r\n if (nowTheme === 'auto') {\r\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n } else {\r\n return nowTheme === 'dark' ? 'dark' : 'light';\r\n }\r\n}\r\n\r\n// update medium-zoom theme\r\nfunction updateMeidumTheme(mediumInst) {\r\n let targetTheme = getNowTheme();\r\n if (mediumInst) {\r\n mediumInst.detach();\r\n if (targetTheme === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n } else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n }\r\n }\r\n}\r\n\r\n// update utterances theme\r\nfunction updateUtterancesTheme(utterancesFrame) {\r\n let targetTheme = getNowTheme();\r\n if (utterancesFrame) {\r\n if (targetTheme === 'dark') {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'photon-dark',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n } else {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'github-light',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n }\r\n }\r\n}\r\n\r\n// remove empty ul in toc if article only have ## and ###\r\nif (document.querySelectorAll('.sidebar-toc ul ul').length > 0) {\r\n document.querySelectorAll('.sidebar-toc ul ul').forEach((value, key, parent) => {\r\n value.setAttribute('style', 'display: none;');\r\n });\r\n}\r\n\r\n// to-top button\r\ndocument.querySelector('.btn .btn-scroll-top').addEventListener('click', () => {\r\n document.documentElement.scrollTop = 0;\r\n});\r\n\r\n// init medium-zoom\r\nvar mediumInst; // medium-zoom instance\r\nif (getNowTheme() === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n} else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n}\r\n\r\n// if in post page and using utterances\r\n// add utterances comment loading indicator\r\nif (document.querySelector('.post-loading')) {\r\n var commentStatus; // utterence status\r\n var commentLoadingTime = 0; // loading time passed\r\n var commentCheckInterval = self.setInterval(checkUtterances, 500);\r\n\r\n function checkUtterances() {\r\n if (document.querySelector('.post-comment .utterances')) {\r\n commentStatus = document.querySelector('.post-comment .utterances').getAttribute('style');\r\n }\r\n if (commentStatus) {\r\n clearInterval(commentCheckInterval);\r\n updateUtterancesTheme(document.querySelector('.post-comment iframe'));\r\n document.querySelector('.post-loading').setAttribute('style', 'display: none;');\r\n } else {\r\n if (++commentLoadingTime > 20) {\r\n clearInterval(commentCheckInterval);\r\n document.querySelector('.post-comment').setAttribute('style', 'display: none;');\r\n document.querySelector('.post-loading i').className = 'far fa-times-circle';\r\n }\r\n }\r\n }\r\n}\r\n\r\n// theme switch button\r\ndocument.querySelector('.btn .btn-toggle-mode').addEventListener('click', () => {\r\n let nowTheme = getNowTheme();\r\n let domTheme = document.body.getAttribute('data-theme');\r\n let systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n\r\n if (domTheme === 'auto') {\r\n // if now in auto mode, switch to user mode\r\n document.body.setAttribute('data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n localStorage.setItem('fuji_data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n } else if (domTheme === 'light') {\r\n // if now in user mode and light mode\r\n document.body.setAttribute('data-theme', 'dark');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'dark' ? 'auto' : 'dark');\r\n } else {\r\n // if now in user mode and dark mode\r\n document.body.setAttribute('data-theme', 'light');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'light' ? 'auto' : 'light');\r\n }\r\n\r\n // update medium background\r\n updateMeidumTheme(mediumInst);\r\n // switch comment area theme\r\n // only works after comment area are initialized\r\n if (document.querySelector('.post-loading') && commentStatus) {\r\n updateUtterancesTheme(document.querySelector('.post-comment iframe'));\r\n }\r\n if (document.querySelector('#disqus_thread') && typeof DISQUS !== 'undefined') {\r\n DISQUS.reset({\r\n reload: true,\r\n });\r\n }\r\n});\r\n"]} \ No newline at end of file +{"version":3,"sources":["fuji.js"],"names":["nowTheme","document","body","getAttribute","window","matchMedia","matches","updateMeidumTheme","mediumInst","targetTheme","getNowTheme","detach","mediumZoom","background","updateUtterancesTheme","utterancesFrame","contentWindow","postMessage","type","theme","querySelectorAll","forEach","value","parent","length","key","setAttribute","addEventListener","documentElement","scrollTop","querySelector","domTheme","localStorage","setItem","systemTheme","commentArea","reload","DISQUS","reset"],"mappings":"aAII,SAAIA,cAAJ,IAAIA,EAAWC,SAASC,KAAKC,aAAa,cAC1C,MAAiB,SAAbH,EACOI,OAAOC,WAAW,gCAAgCC,QAAU,OAAS,QAExD,SAAbN,EAAsB,OAAS,QAK9C,SAASO,kBAAkBC,GACvB,IAAIC,EAAcC,cACdF,IAAAA,EAAYG,SAGRH,EAFJ,SAAAA,EAEiBI,WAAW,gBAAiB,CADzCH,WAAgB,YAChBG,WAAA,gBAAA,CAGGC,WAAA,aASf,SAASC,sBAAsBC,GAC3B,IAAIN,EAAcC,cADtBK,IACsBL,SAAdD,EAGIM,EAAgBC,cAAcC,YAFlCF,CACeG,KAAK,YAChBH,MAAgBC,eAGD,uBAKfD,EAAgBC,cAAcC,YAEhB,CACCC,KAAA,YAEXC,MAAA,gBAGX,wBAqBwC,IAAzCX,WAbAP,SAAAA,cAASmB,+BAAuCC,iBAASC,QAAYC,aAKzE,EAAAtB,SAAAmB,iBAAA,sBAAAI,QALIvB,SAASmB,iBAAiB,sBAAsBC,QAAQ,SAACC,EAAOG,EAAKF,GACjED,EAAMI,aAAa,QAAS,oBAUpCzB,SAAIO,cAAY,wBAAAmB,iBAAA,QAAA,WAJZ1B,SAAS2B,gBAAgBC,UAAY,IAUrCrB,WADG,SAJPE,cAKiBE,WAAW,gBAAiB,CACrCC,WAAY,YADHD,WAAW,gBAAiB,CACrCC,WAAY,YAKpBZ,SAAS6B,cAAc,yBAAyBH,iBAAiB,QAAS,WAKtE,IAAII,EAAarB,cACbqB,EAAA9B,SAAAC,KAAAC,aAAA,cACAF,EAAcyB,OAAAA,WAAa,gCAAqCpB,QAAS,OAAzE,QAEe,SAJnByB,GAMI9B,SAAAC,KAAcwB,aAAa,aAC3B,UADyC1B,EACzC,OAAA,SAJAgC,aAAaC,QAAQ,kBAAgC,UAAbjC,EAAuB,OAAS,UAKnD,UAArBgC,GAEA/B,SAAAC,KAAAwB,aAAA,aAAA,QAFAM,aAAaC,QAAQ,kBAAmC,QAAhBC,EAAyB,OAAS,UAG1EjC,SAASC,KAAKwB,aAAa,aAAc,SAM7CnB,aAAkBC,QAAAA,kBAClB,SAAA0B,EAAA,OAAA,UAGA3B,kBAAoBN,YAEhB,IAAIkC,EAAYhC,SAAAA,cAAa,iBACzBW,SAAsBb,cAAS6B,+BAA/B3B,aAAA,WAD6C,eAA7CgC,EAAYhC,aAAa,iBAGzBgC,sBAAyBlC,SAAA6B,cAAoB,yBAEjC,WAARM,EAAQjC,aAAA,iBADZkC,OAAAC,MAAA,CAGHF,QAAA","file":"fuji.min.js","sourcesContent":["'use strict';\r\n\r\n// get current theme\r\nfunction getNowTheme() {\r\n let nowTheme = document.body.getAttribute('data-theme');\r\n if (nowTheme === 'auto') {\r\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n } else {\r\n return nowTheme === 'dark' ? 'dark' : 'light';\r\n }\r\n}\r\n\r\n// update medium-zoom theme\r\nfunction updateMeidumTheme(mediumInst) {\r\n let targetTheme = getNowTheme();\r\n if (mediumInst) {\r\n mediumInst.detach();\r\n if (targetTheme === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n } else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n }\r\n }\r\n}\r\n\r\n// update utterances theme\r\nfunction updateUtterancesTheme(utterancesFrame) {\r\n let targetTheme = getNowTheme();\r\n if (utterancesFrame) {\r\n if (targetTheme === 'dark') {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'photon-dark',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n } else {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'github-light',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n }\r\n }\r\n}\r\n\r\n// load comment\r\ndocument.querySelector('span.post-comment-notloaded').addEventListener('click', loadComment);\r\n\r\n// remove empty ul in toc if article only have ## and ###\r\nif (document.querySelectorAll('.sidebar-toc ul ul').length > 0) {\r\n document.querySelectorAll('.sidebar-toc ul ul').forEach((value, key, parent) => {\r\n value.setAttribute('style', 'display: none;');\r\n });\r\n}\r\n\r\n// to-top button\r\ndocument.querySelector('.btn .btn-scroll-top').addEventListener('click', () => {\r\n document.documentElement.scrollTop = 0;\r\n});\r\n\r\n// init medium-zoom\r\nvar mediumInst; // medium-zoom instance\r\nif (getNowTheme() === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n} else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n}\r\n\r\n// theme switch button\r\ndocument.querySelector('.btn .btn-toggle-mode').addEventListener('click', () => {\r\n let nowTheme = getNowTheme();\r\n let domTheme = document.body.getAttribute('data-theme');\r\n let systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n\r\n if (domTheme === 'auto') {\r\n // if now in auto mode, switch to user mode\r\n document.body.setAttribute('data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n localStorage.setItem('fuji_data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n } else if (domTheme === 'light') {\r\n // if now in user mode and light mode\r\n document.body.setAttribute('data-theme', 'dark');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'dark' ? 'auto' : 'dark');\r\n } else {\r\n // if now in user mode and dark mode\r\n document.body.setAttribute('data-theme', 'light');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'light' ? 'auto' : 'light');\r\n }\r\n\r\n // update medium background\r\n updateMeidumTheme(mediumInst);\r\n // switch comment area theme\r\n // only works after comment area are initialized\r\n let commentArea = document.querySelector('.post-comment');\r\n let commentStatus = document.querySelector('span.post-comment-notloaded').getAttribute('style');\r\n if (commentStatus) {\r\n if (commentArea.getAttribute('data-comment') === 'utterances') {\r\n updateUtterancesTheme(document.querySelector('.post-comment iframe'));\r\n }\r\n if (commentArea.getAttribute('data-comment') === 'disqus') {\r\n DISQUS.reset({\r\n reload: true,\r\n });\r\n }\r\n }\r\n});\r\n"]} \ No newline at end of file -- cgit v1.2.3 From 2e9f1c5cb2ad0c74ddeeecf0afa533139464b54d Mon Sep 17 00:00:00 2001 From: amzrk2 Date: Wed, 3 Jun 2020 18:56:00 +0800 Subject: Fix null pointer error --- static/assets/js/fuji.min.js.map | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'static/assets/js/fuji.min.js.map') diff --git a/static/assets/js/fuji.min.js.map b/static/assets/js/fuji.min.js.map index b854d25..86ddfe3 100644 --- a/static/assets/js/fuji.min.js.map +++ b/static/assets/js/fuji.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["fuji.js"],"names":["nowTheme","document","body","getAttribute","window","matchMedia","matches","updateMeidumTheme","mediumInst","targetTheme","getNowTheme","detach","mediumZoom","background","updateUtterancesTheme","utterancesFrame","contentWindow","postMessage","type","theme","querySelectorAll","forEach","value","parent","length","key","setAttribute","addEventListener","documentElement","scrollTop","querySelector","domTheme","localStorage","setItem","systemTheme","commentArea","reload","DISQUS","reset"],"mappings":"aAII,SAAIA,cAAJ,IAAIA,EAAWC,SAASC,KAAKC,aAAa,cAC1C,MAAiB,SAAbH,EACOI,OAAOC,WAAW,gCAAgCC,QAAU,OAAS,QAExD,SAAbN,EAAsB,OAAS,QAK9C,SAASO,kBAAkBC,GACvB,IAAIC,EAAcC,cACdF,IAAAA,EAAYG,SAGRH,EAFJ,SAAAA,EAEiBI,WAAW,gBAAiB,CADzCH,WAAgB,YAChBG,WAAA,gBAAA,CAGGC,WAAA,aASf,SAASC,sBAAsBC,GAC3B,IAAIN,EAAcC,cADtBK,IACsBL,SAAdD,EAGIM,EAAgBC,cAAcC,YAFlCF,CACeG,KAAK,YAChBH,MAAgBC,eAGD,uBAKfD,EAAgBC,cAAcC,YAEhB,CACCC,KAAA,YAEXC,MAAA,gBAGX,wBAqBwC,IAAzCX,WAbAP,SAAAA,cAASmB,+BAAuCC,iBAASC,QAAYC,aAKzE,EAAAtB,SAAAmB,iBAAA,sBAAAI,QALIvB,SAASmB,iBAAiB,sBAAsBC,QAAQ,SAACC,EAAOG,EAAKF,GACjED,EAAMI,aAAa,QAAS,oBAUpCzB,SAAIO,cAAY,wBAAAmB,iBAAA,QAAA,WAJZ1B,SAAS2B,gBAAgBC,UAAY,IAUrCrB,WADG,SAJPE,cAKiBE,WAAW,gBAAiB,CACrCC,WAAY,YADHD,WAAW,gBAAiB,CACrCC,WAAY,YAKpBZ,SAAS6B,cAAc,yBAAyBH,iBAAiB,QAAS,WAKtE,IAAII,EAAarB,cACbqB,EAAA9B,SAAAC,KAAAC,aAAA,cACAF,EAAcyB,OAAAA,WAAa,gCAAqCpB,QAAS,OAAzE,QAEe,SAJnByB,GAMI9B,SAAAC,KAAcwB,aAAa,aAC3B,UADyC1B,EACzC,OAAA,SAJAgC,aAAaC,QAAQ,kBAAgC,UAAbjC,EAAuB,OAAS,UAKnD,UAArBgC,GAEA/B,SAAAC,KAAAwB,aAAA,aAAA,QAFAM,aAAaC,QAAQ,kBAAmC,QAAhBC,EAAyB,OAAS,UAG1EjC,SAASC,KAAKwB,aAAa,aAAc,SAM7CnB,aAAkBC,QAAAA,kBAClB,SAAA0B,EAAA,OAAA,UAGA3B,kBAAoBN,YAEhB,IAAIkC,EAAYhC,SAAAA,cAAa,iBACzBW,SAAsBb,cAAS6B,+BAA/B3B,aAAA,WAD6C,eAA7CgC,EAAYhC,aAAa,iBAGzBgC,sBAAyBlC,SAAA6B,cAAoB,yBAEjC,WAARM,EAAQjC,aAAA,iBADZkC,OAAAC,MAAA,CAGHF,QAAA","file":"fuji.min.js","sourcesContent":["'use strict';\r\n\r\n// get current theme\r\nfunction getNowTheme() {\r\n let nowTheme = document.body.getAttribute('data-theme');\r\n if (nowTheme === 'auto') {\r\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n } else {\r\n return nowTheme === 'dark' ? 'dark' : 'light';\r\n }\r\n}\r\n\r\n// update medium-zoom theme\r\nfunction updateMeidumTheme(mediumInst) {\r\n let targetTheme = getNowTheme();\r\n if (mediumInst) {\r\n mediumInst.detach();\r\n if (targetTheme === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n } else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n }\r\n }\r\n}\r\n\r\n// update utterances theme\r\nfunction updateUtterancesTheme(utterancesFrame) {\r\n let targetTheme = getNowTheme();\r\n if (utterancesFrame) {\r\n if (targetTheme === 'dark') {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'photon-dark',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n } else {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'github-light',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n }\r\n }\r\n}\r\n\r\n// load comment\r\ndocument.querySelector('span.post-comment-notloaded').addEventListener('click', loadComment);\r\n\r\n// remove empty ul in toc if article only have ## and ###\r\nif (document.querySelectorAll('.sidebar-toc ul ul').length > 0) {\r\n document.querySelectorAll('.sidebar-toc ul ul').forEach((value, key, parent) => {\r\n value.setAttribute('style', 'display: none;');\r\n });\r\n}\r\n\r\n// to-top button\r\ndocument.querySelector('.btn .btn-scroll-top').addEventListener('click', () => {\r\n document.documentElement.scrollTop = 0;\r\n});\r\n\r\n// init medium-zoom\r\nvar mediumInst; // medium-zoom instance\r\nif (getNowTheme() === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n} else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n}\r\n\r\n// theme switch button\r\ndocument.querySelector('.btn .btn-toggle-mode').addEventListener('click', () => {\r\n let nowTheme = getNowTheme();\r\n let domTheme = document.body.getAttribute('data-theme');\r\n let systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n\r\n if (domTheme === 'auto') {\r\n // if now in auto mode, switch to user mode\r\n document.body.setAttribute('data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n localStorage.setItem('fuji_data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n } else if (domTheme === 'light') {\r\n // if now in user mode and light mode\r\n document.body.setAttribute('data-theme', 'dark');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'dark' ? 'auto' : 'dark');\r\n } else {\r\n // if now in user mode and dark mode\r\n document.body.setAttribute('data-theme', 'light');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'light' ? 'auto' : 'light');\r\n }\r\n\r\n // update medium background\r\n updateMeidumTheme(mediumInst);\r\n // switch comment area theme\r\n // only works after comment area are initialized\r\n let commentArea = document.querySelector('.post-comment');\r\n let commentStatus = document.querySelector('span.post-comment-notloaded').getAttribute('style');\r\n if (commentStatus) {\r\n if (commentArea.getAttribute('data-comment') === 'utterances') {\r\n updateUtterancesTheme(document.querySelector('.post-comment iframe'));\r\n }\r\n if (commentArea.getAttribute('data-comment') === 'disqus') {\r\n DISQUS.reset({\r\n reload: true,\r\n });\r\n }\r\n }\r\n});\r\n"]} \ No newline at end of file +{"version":3,"sources":["fuji.js"],"names":["nowTheme","document","body","getAttribute","window","matchMedia","matches","updateMeidumTheme","mediumInst","targetTheme","getNowTheme","detach","mediumZoom","background","updateUtterancesTheme","utterancesFrame","contentWindow","postMessage","type","theme","querySelector","addEventListener","loadComment","secondQueryOfToc","forEach","querySelectorAll","parent","innerText","value","setAttribute","key","documentElement","scrollTop","domTheme","systemTheme","localStorage","setItem","commentArea","DISQUS","reset","reload"],"mappings":"aAII,SAAIA,cAAJ,IAAIA,EAAWC,SAASC,KAAKC,aAAa,cAC1C,MAAiB,SAAbH,EACOI,OAAOC,WAAW,gCAAgCC,QAAU,OAAS,QAExD,SAAbN,EAAsB,OAAS,QAK9C,SAASO,kBAAkBC,GACvB,IAAIC,EAAcC,cACdF,IAAAA,EAAYG,SAGRH,EAFJ,SAAAA,EAEiBI,WAAW,gBAAiB,CADzCH,WAAgB,YAChBG,WAAA,gBAAA,CAGGC,WAAA,aASf,SAASC,sBAAsBC,GAC3B,IAAIN,EAAcC,cADtBK,IACsBL,SAAdD,EAGIM,EAAgBC,cAAcC,YAFlCF,CACeG,KAAK,YAChBH,MAAgBC,eAGD,uBAKfD,EAAgBC,cAAcC,YAEhB,CACCC,KAAA,YAEXC,MAAA,gBAGX,wBAIDlB,SAASmB,cAAc,gCACvBnB,SAASmB,cAAc,+BAA+BC,iBAAiB,QAASC,aAMhFC,IAeAf,WAfAe,iBAAiBC,SAAQC,iBAAaC,sBAClC,EAAAH,iBAAUI,QACNC,iBAAMC,QAAa,SAAAD,EAASE,EAAAJ,GAC/B,KAAAE,EAAAD,WAHLC,EAAAC,aAAA,QAAA,oBAUH5B,SAEDmB,cAAA,wBAAAC,iBAAA,QAAA,WAHIpB,SAAS8B,gBAAgBC,UAAY,IAMrCxB,WACgB,SAAZK,cADJD,WAAA,gBAAA,CAGGC,WAAA,YACHD,WAAA,gBAAA,CAKJC,WAAA,YAGIZ,SAAIgC,cAAWhC,yBAA2BoB,iBAA1C,QAAA,WACA,IAAIa,EAAWxB,cADXuB,EAAWhC,SAASC,KAAKC,aAAa,cAGtC8B,EAAa7B,OAAQC,WAAA,gCAAAC,QAAA,OAAA,QAEPuB,SAAd5B,GAFJA,SAIWgC,KAAQJ,aAAc,aAAA,UAAA7B,EAAA,OAAA,SAC7BmC,aAAAC,QAAA,kBAAA,UAAApC,EAAA,OAAA,UACc6B,UAAL3B,GAETiC,SAAaC,KAAAA,aAAQ,aAAmBF,QAExCC,aAAAC,QAAA,kBAAA,QAAAF,EAAA,OAAA,UAGAC,SAAaC,KAAAA,aAAQ,aAAmBF,SAAxCC,aAAaC,QAAQ,kBAAmC,SAAhBF,EAA0B,OAAS,UAI/E3B,kBAAkBC,YAGlB,IAAI6B,EAAcpC,SAASmB,cAAc,iBAEtBnB,SAAAmB,cAAA,+BAAAjB,aAAA,WAEkC,eAA7CW,EAAAA,aAA+BM,iBAClCN,sBAAAb,SAAAmB,cAAA,yBACgD,WAA7CiB,EAAYlC,aAAa,iBACnBmC,OAAOC,MAAA,CACDC,QAAA","file":"fuji.min.js","sourcesContent":["'use strict';\r\n\r\n// get current theme\r\nfunction getNowTheme() {\r\n let nowTheme = document.body.getAttribute('data-theme');\r\n if (nowTheme === 'auto') {\r\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n } else {\r\n return nowTheme === 'dark' ? 'dark' : 'light';\r\n }\r\n}\r\n\r\n// update medium-zoom theme\r\nfunction updateMeidumTheme(mediumInst) {\r\n let targetTheme = getNowTheme();\r\n if (mediumInst) {\r\n mediumInst.detach();\r\n if (targetTheme === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n } else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n }\r\n }\r\n}\r\n\r\n// update utterances theme\r\nfunction updateUtterancesTheme(utterancesFrame) {\r\n let targetTheme = getNowTheme();\r\n if (utterancesFrame) {\r\n if (targetTheme === 'dark') {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'photon-dark',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n } else {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'github-light',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n }\r\n }\r\n}\r\n\r\n// load comment button only when comment area exist\r\nif (document.querySelector('span.post-comment-notloaded')) {\r\n document.querySelector('span.post-comment-notloaded').addEventListener('click', loadComment);\r\n}\r\n\r\n// remove empty ul in toc if article only have ## and ###\r\nvar secondQueryOfToc = document.querySelectorAll('.sidebar-toc ul ul');\r\nif (secondQueryOfToc.length > 0) {\r\n secondQueryOfToc.forEach((value, key, parent) => {\r\n if (value.innerText === '') {\r\n value.setAttribute('style', 'display: none;');\r\n }\r\n });\r\n}\r\n\r\n// to-top button\r\ndocument.querySelector('.btn .btn-scroll-top').addEventListener('click', () => {\r\n document.documentElement.scrollTop = 0;\r\n});\r\n\r\n// init medium-zoom\r\nvar mediumInst; // medium-zoom instance\r\nif (getNowTheme() === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n} else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n}\r\n\r\n// theme switch button\r\ndocument.querySelector('.btn .btn-toggle-mode').addEventListener('click', () => {\r\n let nowTheme = getNowTheme();\r\n let domTheme = document.body.getAttribute('data-theme');\r\n let systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n\r\n if (domTheme === 'auto') {\r\n // if now in auto mode, switch to user mode\r\n document.body.setAttribute('data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n localStorage.setItem('fuji_data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n } else if (domTheme === 'light') {\r\n // if now in user mode and light mode\r\n document.body.setAttribute('data-theme', 'dark');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'dark' ? 'auto' : 'dark');\r\n } else {\r\n // if now in user mode and dark mode\r\n document.body.setAttribute('data-theme', 'light');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'light' ? 'auto' : 'light');\r\n }\r\n\r\n // update medium background\r\n updateMeidumTheme(mediumInst);\r\n // switch comment area theme\r\n // only works after comment area are initialized\r\n let commentArea = document.querySelector('.post-comment');\r\n let commentStatus = document.querySelector('span.post-comment-notloaded').getAttribute('style');\r\n if (commentStatus) {\r\n if (commentArea.getAttribute('data-comment') === 'utterances') {\r\n updateUtterancesTheme(document.querySelector('.post-comment iframe'));\r\n }\r\n if (commentArea.getAttribute('data-comment') === 'disqus') {\r\n DISQUS.reset({\r\n reload: true,\r\n });\r\n }\r\n }\r\n});\r\n"]} \ No newline at end of file -- cgit v1.2.3 From 2cbde93423c7792929809e95a908913060d786cf Mon Sep 17 00:00:00 2001 From: amzrk2 Date: Wed, 3 Jun 2020 19:33:30 +0800 Subject: Update strong & em styles --- static/assets/js/fuji.min.js.map | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'static/assets/js/fuji.min.js.map') diff --git a/static/assets/js/fuji.min.js.map b/static/assets/js/fuji.min.js.map index 86ddfe3..8d43a0e 100644 --- a/static/assets/js/fuji.min.js.map +++ b/static/assets/js/fuji.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["fuji.js"],"names":["nowTheme","document","body","getAttribute","window","matchMedia","matches","updateMeidumTheme","mediumInst","targetTheme","getNowTheme","detach","mediumZoom","background","updateUtterancesTheme","utterancesFrame","contentWindow","postMessage","type","theme","querySelector","addEventListener","loadComment","secondQueryOfToc","forEach","querySelectorAll","parent","innerText","value","setAttribute","key","documentElement","scrollTop","domTheme","systemTheme","localStorage","setItem","commentArea","DISQUS","reset","reload"],"mappings":"aAII,SAAIA,cAAJ,IAAIA,EAAWC,SAASC,KAAKC,aAAa,cAC1C,MAAiB,SAAbH,EACOI,OAAOC,WAAW,gCAAgCC,QAAU,OAAS,QAExD,SAAbN,EAAsB,OAAS,QAK9C,SAASO,kBAAkBC,GACvB,IAAIC,EAAcC,cACdF,IAAAA,EAAYG,SAGRH,EAFJ,SAAAA,EAEiBI,WAAW,gBAAiB,CADzCH,WAAgB,YAChBG,WAAA,gBAAA,CAGGC,WAAA,aASf,SAASC,sBAAsBC,GAC3B,IAAIN,EAAcC,cADtBK,IACsBL,SAAdD,EAGIM,EAAgBC,cAAcC,YAFlCF,CACeG,KAAK,YAChBH,MAAgBC,eAGD,uBAKfD,EAAgBC,cAAcC,YAEhB,CACCC,KAAA,YAEXC,MAAA,gBAGX,wBAIDlB,SAASmB,cAAc,gCACvBnB,SAASmB,cAAc,+BAA+BC,iBAAiB,QAASC,aAMhFC,IAeAf,WAfAe,iBAAiBC,SAAQC,iBAAaC,sBAClC,EAAAH,iBAAUI,QACNC,iBAAMC,QAAa,SAAAD,EAASE,EAAAJ,GAC/B,KAAAE,EAAAD,WAHLC,EAAAC,aAAA,QAAA,oBAUH5B,SAEDmB,cAAA,wBAAAC,iBAAA,QAAA,WAHIpB,SAAS8B,gBAAgBC,UAAY,IAMrCxB,WACgB,SAAZK,cADJD,WAAA,gBAAA,CAGGC,WAAA,YACHD,WAAA,gBAAA,CAKJC,WAAA,YAGIZ,SAAIgC,cAAWhC,yBAA2BoB,iBAA1C,QAAA,WACA,IAAIa,EAAWxB,cADXuB,EAAWhC,SAASC,KAAKC,aAAa,cAGtC8B,EAAa7B,OAAQC,WAAA,gCAAAC,QAAA,OAAA,QAEPuB,SAAd5B,GAFJA,SAIWgC,KAAQJ,aAAc,aAAA,UAAA7B,EAAA,OAAA,SAC7BmC,aAAAC,QAAA,kBAAA,UAAApC,EAAA,OAAA,UACc6B,UAAL3B,GAETiC,SAAaC,KAAAA,aAAQ,aAAmBF,QAExCC,aAAAC,QAAA,kBAAA,QAAAF,EAAA,OAAA,UAGAC,SAAaC,KAAAA,aAAQ,aAAmBF,SAAxCC,aAAaC,QAAQ,kBAAmC,SAAhBF,EAA0B,OAAS,UAI/E3B,kBAAkBC,YAGlB,IAAI6B,EAAcpC,SAASmB,cAAc,iBAEtBnB,SAAAmB,cAAA,+BAAAjB,aAAA,WAEkC,eAA7CW,EAAAA,aAA+BM,iBAClCN,sBAAAb,SAAAmB,cAAA,yBACgD,WAA7CiB,EAAYlC,aAAa,iBACnBmC,OAAOC,MAAA,CACDC,QAAA","file":"fuji.min.js","sourcesContent":["'use strict';\r\n\r\n// get current theme\r\nfunction getNowTheme() {\r\n let nowTheme = document.body.getAttribute('data-theme');\r\n if (nowTheme === 'auto') {\r\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n } else {\r\n return nowTheme === 'dark' ? 'dark' : 'light';\r\n }\r\n}\r\n\r\n// update medium-zoom theme\r\nfunction updateMeidumTheme(mediumInst) {\r\n let targetTheme = getNowTheme();\r\n if (mediumInst) {\r\n mediumInst.detach();\r\n if (targetTheme === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n } else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n }\r\n }\r\n}\r\n\r\n// update utterances theme\r\nfunction updateUtterancesTheme(utterancesFrame) {\r\n let targetTheme = getNowTheme();\r\n if (utterancesFrame) {\r\n if (targetTheme === 'dark') {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'photon-dark',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n } else {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'github-light',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n }\r\n }\r\n}\r\n\r\n// load comment button only when comment area exist\r\nif (document.querySelector('span.post-comment-notloaded')) {\r\n document.querySelector('span.post-comment-notloaded').addEventListener('click', loadComment);\r\n}\r\n\r\n// remove empty ul in toc if article only have ## and ###\r\nvar secondQueryOfToc = document.querySelectorAll('.sidebar-toc ul ul');\r\nif (secondQueryOfToc.length > 0) {\r\n secondQueryOfToc.forEach((value, key, parent) => {\r\n if (value.innerText === '') {\r\n value.setAttribute('style', 'display: none;');\r\n }\r\n });\r\n}\r\n\r\n// to-top button\r\ndocument.querySelector('.btn .btn-scroll-top').addEventListener('click', () => {\r\n document.documentElement.scrollTop = 0;\r\n});\r\n\r\n// init medium-zoom\r\nvar mediumInst; // medium-zoom instance\r\nif (getNowTheme() === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n} else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n}\r\n\r\n// theme switch button\r\ndocument.querySelector('.btn .btn-toggle-mode').addEventListener('click', () => {\r\n let nowTheme = getNowTheme();\r\n let domTheme = document.body.getAttribute('data-theme');\r\n let systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n\r\n if (domTheme === 'auto') {\r\n // if now in auto mode, switch to user mode\r\n document.body.setAttribute('data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n localStorage.setItem('fuji_data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n } else if (domTheme === 'light') {\r\n // if now in user mode and light mode\r\n document.body.setAttribute('data-theme', 'dark');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'dark' ? 'auto' : 'dark');\r\n } else {\r\n // if now in user mode and dark mode\r\n document.body.setAttribute('data-theme', 'light');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'light' ? 'auto' : 'light');\r\n }\r\n\r\n // update medium background\r\n updateMeidumTheme(mediumInst);\r\n // switch comment area theme\r\n // only works after comment area are initialized\r\n let commentArea = document.querySelector('.post-comment');\r\n let commentStatus = document.querySelector('span.post-comment-notloaded').getAttribute('style');\r\n if (commentStatus) {\r\n if (commentArea.getAttribute('data-comment') === 'utterances') {\r\n updateUtterancesTheme(document.querySelector('.post-comment iframe'));\r\n }\r\n if (commentArea.getAttribute('data-comment') === 'disqus') {\r\n DISQUS.reset({\r\n reload: true,\r\n });\r\n }\r\n }\r\n});\r\n"]} \ No newline at end of file +{"version":3,"sources":["fuji.js"],"names":["nowTheme","document","body","getAttribute","window","matchMedia","matches","updateMeidumTheme","mediumInst","targetTheme","getNowTheme","detach","mediumZoom","background","updateUtterancesTheme","utterancesFrame","contentWindow","postMessage","type","theme","querySelector","addEventListener","loadComment","scrollTop","systemTheme","domTheme","setItem","localStorage","setAttribute","commentStatus","commentArea","reload","reset"],"mappings":"aAII,SAAIA,cAAJ,IAAIA,EAAWC,SAASC,KAAKC,aAAa,cAC1C,MAAiB,SAAbH,EACOI,OAAOC,WAAW,gCAAgCC,QAAU,OAAS,QAExD,SAAbN,EAAsB,OAAS,QAK9C,SAASO,kBAAkBC,GACvB,IAAIC,EAAcC,cACdF,IAAAA,EAAYG,SAGRH,EAFJ,SAAAA,EAEiBI,WAAW,gBAAiB,CADzCH,WAAgB,YAChBG,WAAA,gBAAA,CAGGC,WAAA,aASf,SAASC,sBAAsBC,GAC3B,IAAIN,EAAcC,cADtBK,IACsBL,SAAdD,EAGIM,EAAgBC,cAAcC,YAFlCF,CACeG,KAAK,YAChBH,MAAgBC,eAGD,uBAKfD,EAAgBC,cAAcC,YAEhB,CACCC,KAAA,YAEXC,MAAA,gBAGX,wBAiBGN,IAAAA,WAbJZ,SAASmB,cAAc,gCACvBnB,SAASmB,cAAc,+BAA+BC,iBAAiB,QAASC,aAIpFrB,SAASmB,cAAc,wBAAwBC,iBAAiB,QAAS,WAKrEb,SAAAA,gBAAYe,UAAA,IAChBf,WACI,SAAAE,cAGGE,WAAA,gBAAA,CACHJ,WAAaI,YAKjBA,WAAA,gBAAA,CAJQC,WAAY,YAQhBZ,SAAIuB,cAAcpB,yBAAkBiB,iBAAA,QAAgCf,WAFpE,IAAIN,EAAWU,cAIXe,EAAaxB,SAAQC,KAAAC,aAAA,cACrBqB,EAAApB,OAAAC,WAAA,gCAAAC,QAAA,OAAA,QAEaoB,SAAbC,GAEA1B,SAAAC,KAAA0B,aAAA,aAAA,UAAA5B,EAAA,OAAA,SACAC,aAAc2B,QAAAA,kBACd,UADyC5B,EACzC,OAAA,UAHoB,UAAbyB,GAAJxB,SAKAC,KAAA0B,aAAA,aAAA,QAEH3B,aAAc2B,QAAAA,kBACd,QADyCJ,EACzC,OAAA,UAIJvB,SAAAC,KAAA0B,aAAA,aAAA,SAHID,aAAaD,QAAQ,kBAAmC,SAAhBF,EAA0B,OAAS,UAO/EjB,kBAAkBN,YAElB,IAAI4B,EAAe5B,SAAAmB,cAAA,iBACCjB,SAAaiB,cAAzB,+BAA2DjB,aAAA,WAE9D,eAAA2B,EAAA3B,aAAA,iBADGW,sBAAsBb,SAASmB,cAAc,yBAGhC,WAAPU,EAAO3B,aAAA,iBACT4B,OAAQC,MAAA,CADZD,QAAA","file":"fuji.min.js","sourcesContent":["'use strict';\r\n\r\n// get current theme\r\nfunction getNowTheme() {\r\n let nowTheme = document.body.getAttribute('data-theme');\r\n if (nowTheme === 'auto') {\r\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n } else {\r\n return nowTheme === 'dark' ? 'dark' : 'light';\r\n }\r\n}\r\n\r\n// update medium-zoom theme\r\nfunction updateMeidumTheme(mediumInst) {\r\n let targetTheme = getNowTheme();\r\n if (mediumInst) {\r\n mediumInst.detach();\r\n if (targetTheme === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n } else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n }\r\n }\r\n}\r\n\r\n// update utterances theme\r\nfunction updateUtterancesTheme(utterancesFrame) {\r\n let targetTheme = getNowTheme();\r\n if (utterancesFrame) {\r\n if (targetTheme === 'dark') {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'photon-dark',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n } else {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'github-light',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n }\r\n }\r\n}\r\n\r\n// load comment button only when comment area exist\r\nif (document.querySelector('span.post-comment-notloaded')) {\r\n document.querySelector('span.post-comment-notloaded').addEventListener('click', loadComment);\r\n}\r\n\r\n// to-top button\r\ndocument.querySelector('.btn .btn-scroll-top').addEventListener('click', () => {\r\n document.documentElement.scrollTop = 0;\r\n});\r\n\r\n// init medium-zoom\r\nvar mediumInst; // medium-zoom instance\r\nif (getNowTheme() === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n} else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n}\r\n\r\n// theme switch button\r\ndocument.querySelector('.btn .btn-toggle-mode').addEventListener('click', () => {\r\n let nowTheme = getNowTheme();\r\n let domTheme = document.body.getAttribute('data-theme');\r\n let systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n\r\n if (domTheme === 'auto') {\r\n // if now in auto mode, switch to user mode\r\n document.body.setAttribute('data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n localStorage.setItem('fuji_data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n } else if (domTheme === 'light') {\r\n // if now in user mode and light mode\r\n document.body.setAttribute('data-theme', 'dark');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'dark' ? 'auto' : 'dark');\r\n } else {\r\n // if now in user mode and dark mode\r\n document.body.setAttribute('data-theme', 'light');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'light' ? 'auto' : 'light');\r\n }\r\n\r\n // update medium background\r\n updateMeidumTheme(mediumInst);\r\n // switch comment area theme\r\n // only works after comment area are initialized\r\n let commentArea = document.querySelector('.post-comment');\r\n let commentStatus = document.querySelector('span.post-comment-notloaded').getAttribute('style');\r\n if (commentStatus) {\r\n if (commentArea.getAttribute('data-comment') === 'utterances') {\r\n updateUtterancesTheme(document.querySelector('.post-comment iframe'));\r\n }\r\n if (commentArea.getAttribute('data-comment') === 'disqus') {\r\n DISQUS.reset({\r\n reload: true,\r\n });\r\n }\r\n }\r\n});\r\n"]} \ No newline at end of file -- cgit v1.2.3 From 8e1c40916aa880388fbac104641f3e7c84335847 Mon Sep 17 00:00:00 2001 From: amzrk2 Date: Thu, 4 Jun 2020 18:10:44 +0800 Subject: Update metadata & fix comment checker --- static/assets/js/fuji.min.js.map | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'static/assets/js/fuji.min.js.map') diff --git a/static/assets/js/fuji.min.js.map b/static/assets/js/fuji.min.js.map index 8d43a0e..444bf11 100644 --- a/static/assets/js/fuji.min.js.map +++ b/static/assets/js/fuji.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["fuji.js"],"names":["nowTheme","document","body","getAttribute","window","matchMedia","matches","updateMeidumTheme","mediumInst","targetTheme","getNowTheme","detach","mediumZoom","background","updateUtterancesTheme","utterancesFrame","contentWindow","postMessage","type","theme","querySelector","addEventListener","loadComment","scrollTop","systemTheme","domTheme","setItem","localStorage","setAttribute","commentStatus","commentArea","reload","reset"],"mappings":"aAII,SAAIA,cAAJ,IAAIA,EAAWC,SAASC,KAAKC,aAAa,cAC1C,MAAiB,SAAbH,EACOI,OAAOC,WAAW,gCAAgCC,QAAU,OAAS,QAExD,SAAbN,EAAsB,OAAS,QAK9C,SAASO,kBAAkBC,GACvB,IAAIC,EAAcC,cACdF,IAAAA,EAAYG,SAGRH,EAFJ,SAAAA,EAEiBI,WAAW,gBAAiB,CADzCH,WAAgB,YAChBG,WAAA,gBAAA,CAGGC,WAAA,aASf,SAASC,sBAAsBC,GAC3B,IAAIN,EAAcC,cADtBK,IACsBL,SAAdD,EAGIM,EAAgBC,cAAcC,YAFlCF,CACeG,KAAK,YAChBH,MAAgBC,eAGD,uBAKfD,EAAgBC,cAAcC,YAEhB,CACCC,KAAA,YAEXC,MAAA,gBAGX,wBAiBGN,IAAAA,WAbJZ,SAASmB,cAAc,gCACvBnB,SAASmB,cAAc,+BAA+BC,iBAAiB,QAASC,aAIpFrB,SAASmB,cAAc,wBAAwBC,iBAAiB,QAAS,WAKrEb,SAAAA,gBAAYe,UAAA,IAChBf,WACI,SAAAE,cAGGE,WAAA,gBAAA,CACHJ,WAAaI,YAKjBA,WAAA,gBAAA,CAJQC,WAAY,YAQhBZ,SAAIuB,cAAcpB,yBAAkBiB,iBAAA,QAAgCf,WAFpE,IAAIN,EAAWU,cAIXe,EAAaxB,SAAQC,KAAAC,aAAA,cACrBqB,EAAApB,OAAAC,WAAA,gCAAAC,QAAA,OAAA,QAEaoB,SAAbC,GAEA1B,SAAAC,KAAA0B,aAAA,aAAA,UAAA5B,EAAA,OAAA,SACAC,aAAc2B,QAAAA,kBACd,UADyC5B,EACzC,OAAA,UAHoB,UAAbyB,GAAJxB,SAKAC,KAAA0B,aAAA,aAAA,QAEH3B,aAAc2B,QAAAA,kBACd,QADyCJ,EACzC,OAAA,UAIJvB,SAAAC,KAAA0B,aAAA,aAAA,SAHID,aAAaD,QAAQ,kBAAmC,SAAhBF,EAA0B,OAAS,UAO/EjB,kBAAkBN,YAElB,IAAI4B,EAAe5B,SAAAmB,cAAA,iBACCjB,SAAaiB,cAAzB,+BAA2DjB,aAAA,WAE9D,eAAA2B,EAAA3B,aAAA,iBADGW,sBAAsBb,SAASmB,cAAc,yBAGhC,WAAPU,EAAO3B,aAAA,iBACT4B,OAAQC,MAAA,CADZD,QAAA","file":"fuji.min.js","sourcesContent":["'use strict';\r\n\r\n// get current theme\r\nfunction getNowTheme() {\r\n let nowTheme = document.body.getAttribute('data-theme');\r\n if (nowTheme === 'auto') {\r\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n } else {\r\n return nowTheme === 'dark' ? 'dark' : 'light';\r\n }\r\n}\r\n\r\n// update medium-zoom theme\r\nfunction updateMeidumTheme(mediumInst) {\r\n let targetTheme = getNowTheme();\r\n if (mediumInst) {\r\n mediumInst.detach();\r\n if (targetTheme === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n } else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n }\r\n }\r\n}\r\n\r\n// update utterances theme\r\nfunction updateUtterancesTheme(utterancesFrame) {\r\n let targetTheme = getNowTheme();\r\n if (utterancesFrame) {\r\n if (targetTheme === 'dark') {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'photon-dark',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n } else {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'github-light',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n }\r\n }\r\n}\r\n\r\n// load comment button only when comment area exist\r\nif (document.querySelector('span.post-comment-notloaded')) {\r\n document.querySelector('span.post-comment-notloaded').addEventListener('click', loadComment);\r\n}\r\n\r\n// to-top button\r\ndocument.querySelector('.btn .btn-scroll-top').addEventListener('click', () => {\r\n document.documentElement.scrollTop = 0;\r\n});\r\n\r\n// init medium-zoom\r\nvar mediumInst; // medium-zoom instance\r\nif (getNowTheme() === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n} else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n}\r\n\r\n// theme switch button\r\ndocument.querySelector('.btn .btn-toggle-mode').addEventListener('click', () => {\r\n let nowTheme = getNowTheme();\r\n let domTheme = document.body.getAttribute('data-theme');\r\n let systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n\r\n if (domTheme === 'auto') {\r\n // if now in auto mode, switch to user mode\r\n document.body.setAttribute('data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n localStorage.setItem('fuji_data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n } else if (domTheme === 'light') {\r\n // if now in user mode and light mode\r\n document.body.setAttribute('data-theme', 'dark');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'dark' ? 'auto' : 'dark');\r\n } else {\r\n // if now in user mode and dark mode\r\n document.body.setAttribute('data-theme', 'light');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'light' ? 'auto' : 'light');\r\n }\r\n\r\n // update medium background\r\n updateMeidumTheme(mediumInst);\r\n // switch comment area theme\r\n // only works after comment area are initialized\r\n let commentArea = document.querySelector('.post-comment');\r\n let commentStatus = document.querySelector('span.post-comment-notloaded').getAttribute('style');\r\n if (commentStatus) {\r\n if (commentArea.getAttribute('data-comment') === 'utterances') {\r\n updateUtterancesTheme(document.querySelector('.post-comment iframe'));\r\n }\r\n if (commentArea.getAttribute('data-comment') === 'disqus') {\r\n DISQUS.reset({\r\n reload: true,\r\n });\r\n }\r\n }\r\n});\r\n"]} \ No newline at end of file +{"version":3,"sources":["fuji.js"],"names":["nowTheme","document","body","getAttribute","window","matchMedia","matches","updateMeidumTheme","mediumInst","targetTheme","getNowTheme","detach","mediumZoom","background","updateUtterancesTheme","utterancesFrame","contentWindow","postMessage","type","theme","querySelector","addEventListener","loadComment","scrollTop","systemTheme","domTheme","setItem","localStorage","setAttribute","commentArea","reset","DISQUS","reload"],"mappings":"aAII,SAAIA,cAAJ,IAAIA,EAAWC,SAASC,KAAKC,aAAa,cAC1C,MAAiB,SAAbH,EACOI,OAAOC,WAAW,gCAAgCC,QAAU,OAAS,QAExD,SAAbN,EAAsB,OAAS,QAK9C,SAASO,kBAAkBC,GACvB,IAAIC,EAAcC,cACdF,IAAAA,EAAYG,SAGRH,EAFJ,SAAAA,EAEiBI,WAAW,gBAAiB,CADzCH,WAAgB,YAChBG,WAAA,gBAAA,CAGGC,WAAA,aASf,SAASC,sBAAsBC,GAC3B,IAAIN,EAAcC,cADtBK,IACsBL,SAAdD,EAGIM,EAAgBC,cAAcC,YAFlCF,CACeG,KAAK,YAChBH,MAAgBC,eAGD,uBAKfD,EAAgBC,cAAcC,YAEhB,CACCC,KAAA,YAEXC,MAAA,gBAGX,wBAiBGN,IAAAA,WAbJZ,SAASmB,cAAc,gCACvBnB,SAASmB,cAAc,+BAA+BC,iBAAiB,QAASC,aAIpFrB,SAASmB,cAAc,wBAAwBC,iBAAiB,QAAS,WAKrEb,SAAAA,gBAAYe,UAAA,IAChBf,WACI,SAAAE,cAGGE,WAAA,gBAAA,CACHJ,WAAaI,YAKjBA,WAAA,gBAAA,CAJQC,WAAY,YAQhBZ,SAAIuB,cAAcpB,yBAAkBiB,iBAAA,QAAgCf,WAFpE,IAAIN,EAAWU,cAIXe,EAAaxB,SAAQC,KAAAC,aAAA,cACrBqB,EAAApB,OAAAC,WAAA,gCAAAC,QAAA,OAAA,QAEaoB,SAAbC,GAEA1B,SAAAC,KAAA0B,aAAA,aAAA,UAAA5B,EAAA,OAAA,SACAC,aAAc2B,QAAAA,kBACd,UADyC5B,EACzC,OAAA,UAHoB,UAAbyB,GAAJxB,SAKAC,KAAA0B,aAAA,aAAA,QAEH3B,aAAc2B,QAAAA,kBACd,QADyCJ,EACzC,OAAA,UAIJvB,SAAAC,KAAA0B,aAAA,aAAA,SAHID,aAAaD,QAAQ,kBAAmC,SAAhBF,EAA0B,OAAS,UAO/EjB,kBAAkBN,YAEd,IAAA4B,EAAA5B,SAAAmB,cAAA,iBACInB,GAEIa,SAAAA,cAAsBb,+BAAuBE,aAA7C,WACH,eAAA0B,EAAA1B,aAAA,iBADGW,sBAAsBb,SAASmB,cAAc,yBAGhC,WAANU,EAAM3B,aAAA,iBACH4B,OAAED,MAAA,CADZE,QAAA","file":"fuji.min.js","sourcesContent":["'use strict';\r\n\r\n// get current theme\r\nfunction getNowTheme() {\r\n let nowTheme = document.body.getAttribute('data-theme');\r\n if (nowTheme === 'auto') {\r\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n } else {\r\n return nowTheme === 'dark' ? 'dark' : 'light';\r\n }\r\n}\r\n\r\n// update medium-zoom theme\r\nfunction updateMeidumTheme(mediumInst) {\r\n let targetTheme = getNowTheme();\r\n if (mediumInst) {\r\n mediumInst.detach();\r\n if (targetTheme === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n } else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n }\r\n }\r\n}\r\n\r\n// update utterances theme\r\nfunction updateUtterancesTheme(utterancesFrame) {\r\n let targetTheme = getNowTheme();\r\n if (utterancesFrame) {\r\n if (targetTheme === 'dark') {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'photon-dark',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n } else {\r\n utterancesFrame.contentWindow.postMessage(\r\n {\r\n type: 'set-theme',\r\n theme: 'github-light',\r\n },\r\n 'https://utteranc.es'\r\n );\r\n }\r\n }\r\n}\r\n\r\n// load comment button only when comment area exist\r\nif (document.querySelector('span.post-comment-notloaded')) {\r\n document.querySelector('span.post-comment-notloaded').addEventListener('click', loadComment);\r\n}\r\n\r\n// to-top button\r\ndocument.querySelector('.btn .btn-scroll-top').addEventListener('click', () => {\r\n document.documentElement.scrollTop = 0;\r\n});\r\n\r\n// init medium-zoom\r\nvar mediumInst; // medium-zoom instance\r\nif (getNowTheme() === 'dark') {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#2f3136',\r\n });\r\n} else {\r\n mediumInst = mediumZoom('.img-zoomable', {\r\n background: '#fffffd',\r\n });\r\n}\r\n\r\n// theme switch button\r\ndocument.querySelector('.btn .btn-toggle-mode').addEventListener('click', () => {\r\n let nowTheme = getNowTheme();\r\n let domTheme = document.body.getAttribute('data-theme');\r\n let systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n\r\n if (domTheme === 'auto') {\r\n // if now in auto mode, switch to user mode\r\n document.body.setAttribute('data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n localStorage.setItem('fuji_data-theme', nowTheme === 'light' ? 'dark' : 'light');\r\n } else if (domTheme === 'light') {\r\n // if now in user mode and light mode\r\n document.body.setAttribute('data-theme', 'dark');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'dark' ? 'auto' : 'dark');\r\n } else {\r\n // if now in user mode and dark mode\r\n document.body.setAttribute('data-theme', 'light');\r\n // if the theme want to switch is system theme\r\n localStorage.setItem('fuji_data-theme', systemTheme === 'light' ? 'auto' : 'light');\r\n }\r\n\r\n // update medium background\r\n updateMeidumTheme(mediumInst);\r\n // switch comment area theme\r\n // if this page has comment area\r\n let commentArea = document.querySelector('.post-comment');\r\n if (commentArea) {\r\n // if comment area loaded\r\n if (document.querySelector('span.post-comment-notloaded').getAttribute('style')) {\r\n if (commentArea.getAttribute('data-comment') === 'utterances') {\r\n updateUtterancesTheme(document.querySelector('.post-comment iframe'));\r\n }\r\n if (commentArea.getAttribute('data-comment') === 'disqus') {\r\n DISQUS.reset({\r\n reload: true,\r\n });\r\n }\r\n }\r\n }\r\n});\r\n"]} \ No newline at end of file -- cgit v1.2.3