diff options
Diffstat (limited to 'static/assets/js')
-rw-r--r-- | static/assets/js/fuji.js.map | 1 | ||||
-rw-r--r-- | static/assets/js/fuji.min.js | 3 |
2 files changed, 1 insertions, 3 deletions
diff --git a/static/assets/js/fuji.js.map b/static/assets/js/fuji.js.map deleted file mode 100644 index 7585c7a..0000000 --- a/static/assets/js/fuji.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["fuji.js"],"names":["nowTheme","document","body","getAttribute","window","matchMedia","matches","updateUtterancesTheme","utterancesFrame","contentWindow","type","postMessage","theme","weight","key","index","counter","urlParams","Fuse","name","keys","result","length","URLSearchParams","getElementById","getTime","innerHTML","template","infoElements","querySelectorAll","querySelector","addEventListener","loadComment","documentElement","scrollTop","mediumZoom","margin","background","scrollOffset","setAttribute","localStorage","setItem","domTheme","systemTheme","commentArea","DISQUS","reset","reload","xhr","onerror","ontimeout","location","search","responseType","Date","removeAttribute","XMLHttpRequest","onreadystatechange","status","readyState","response","replace","send"],"mappings":"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","file":"fuji.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// 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\ndocument.addEventListener('DOMContentLoaded', () => {\r\n if (typeof mediumZoom === 'function') {\r\n mediumZoom('.img-zoomable', {\r\n margin: 32,\r\n background: '#00000054',\r\n scrollOffset: 128,\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// 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 // 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\r\n// search by fuse.js\r\nfunction searchAll(key, index, counter) {\r\n let fuse = new Fuse(index, {\r\n shouldSort: true,\r\n distance: 10000,\r\n keys: [\r\n {\r\n name: 'title',\r\n weight: 2.0,\r\n },\r\n {\r\n name: 'tags',\r\n weight: 1.5,\r\n },\r\n {\r\n name: 'content',\r\n weight: 1.0,\r\n },\r\n ],\r\n });\r\n let result = fuse.search(key);\r\n // console.log(result);\r\n if (result.length > 0) {\r\n document.getElementById('search-result').innerHTML = template('search-result-template', result);\r\n return [new Date().getTime() - counter, result.length];\r\n } else {\r\n return 'notFound';\r\n }\r\n}\r\n\r\nlet urlParams = new URLSearchParams(window.location.search); // get params from URL\r\nif (urlParams.has('s')) {\r\n let counter = new Date().getTime();\r\n let infoElements = document.querySelectorAll('.search-result-info');\r\n let key = urlParams.get('s'); // get search keyword, divided by space\r\n document.querySelector('.search-input input').setAttribute('value', key);\r\n // get search index from json\r\n let xhr = new XMLHttpRequest();\r\n xhr.open('GET', '/index.json', true);\r\n xhr.responseType = 'json';\r\n xhr.onerror = () => {\r\n infoElements[2].removeAttribute('style');\r\n };\r\n xhr.ontimeout = () => {\r\n infoElements[2].removeAttribute('style');\r\n };\r\n xhr.onreadystatechange = () => {\r\n if (xhr.readyState === 4) {\r\n if (xhr.status === 200) {\r\n // use index json to search\r\n // console.log(xhr.response);\r\n counter = searchAll(key, xhr.response, counter);\r\n // console.log(counter);\r\n if (counter === 'notFound') {\r\n infoElements[1].removeAttribute('style');\r\n } else {\r\n infoElements[0].innerHTML = infoElements[0].innerHTML.replace('[TIME]', counter[0]);\r\n infoElements[0].innerHTML = infoElements[0].innerHTML.replace('[NUM]', counter[1]);\r\n infoElements[0].removeAttribute('style');\r\n }\r\n } else {\r\n infoElements[2].removeAttribute('style');\r\n }\r\n }\r\n };\r\n xhr.send(null);\r\n}\r\n"]}
\ No newline at end of file diff --git a/static/assets/js/fuji.min.js b/static/assets/js/fuji.min.js index d70c1b2..68ef5a8 100644 --- a/static/assets/js/fuji.min.js +++ b/static/assets/js/fuji.min.js @@ -1,2 +1 @@ -"use strict";function getNowTheme(){var e=document.body.getAttribute("data-theme");return"auto"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":"dark"===e?"dark":"light"}function updateUtterancesTheme(e){var t=getNowTheme();e&&("dark"===t?e.contentWindow.postMessage({type:"set-theme",theme:"photon-dark"},"https://utteranc.es"):e.contentWindow.postMessage({type:"set-theme",theme:"github-light"},"https://utteranc.es"))}function searchAll(e,t,n){var o=new Fuse(t,{shouldSort:!0,distance:1e4,keys:[{name:"title",weight:2},{name:"tags",weight:1.5},{name:"content",weight:1}]}).search(e);return 0<o.length?(document.getElementById("search-result").innerHTML=template("search-result-template",o),[(new Date).getTime()-n,o.length]):"notFound"}document.querySelector("span.post-comment-notloaded")&&document.querySelector("span.post-comment-notloaded").addEventListener("click",loadComment),document.querySelector(".btn .btn-scroll-top").addEventListener("click",function(){document.documentElement.scrollTop=0}),document.addEventListener("DOMContentLoaded",function(){"function"==typeof mediumZoom&&mediumZoom(".img-zoomable",{margin:32,background:"#00000054",scrollOffset:128})}),document.querySelector(".btn .btn-toggle-mode").addEventListener("click",function(){var e=getNowTheme(),t=document.body.getAttribute("data-theme"),n=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";"auto"===t?(document.body.setAttribute("data-theme","light"===e?"dark":"light"),localStorage.setItem("fuji_data-theme","light"===e?"dark":"light")):"light"===t?(document.body.setAttribute("data-theme","dark"),localStorage.setItem("fuji_data-theme","dark"==n?"auto":"dark")):(document.body.setAttribute("data-theme","light"),localStorage.setItem("fuji_data-theme","light"==n?"auto":"light"));var o=document.querySelector(".post-comment");o&&document.querySelector("span.post-comment-notloaded").getAttribute("style")&&("utterances"===o.getAttribute("data-comment")&&updateUtterancesTheme(document.querySelector(".post-comment iframe")),"disqus"===o.getAttribute("data-comment")&&DISQUS.reset({reload:!0}))});var counter,infoElements,key,xhr,urlParams=new URLSearchParams(window.location.search);urlParams.has("s")&&(counter=(new Date).getTime(),infoElements=document.querySelectorAll(".search-result-info"),key=urlParams.get("s"),document.querySelector(".search-input input").setAttribute("value",key),(xhr=new XMLHttpRequest).open("GET","/index.json",!0),xhr.responseType="json",xhr.onerror=function(){infoElements[2].removeAttribute("style")},xhr.ontimeout=function(){infoElements[2].removeAttribute("style")},xhr.onreadystatechange=function(){4===xhr.readyState&&(200===xhr.status?"notFound"===(counter=searchAll(key,xhr.response,counter))?infoElements[1].removeAttribute("style"):(infoElements[0].innerHTML=infoElements[0].innerHTML.replace("[TIME]",counter[0]),infoElements[0].innerHTML=infoElements[0].innerHTML.replace("[NUM]",counter[1]),infoElements[0].removeAttribute("style")):infoElements[2].removeAttribute("style"))},xhr.send(null)); -//# sourceMappingURL=fuji.js.map +"use strict";function getNowTheme(){var e=document.body.getAttribute("data-theme");return"auto"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":"dark"===e?"dark":"light"}function updateUtterancesTheme(e){var t=getNowTheme();e&&("dark"===t?e.contentWindow.postMessage({type:"set-theme",theme:"photon-dark"},"https://utteranc.es"):e.contentWindow.postMessage({type:"set-theme",theme:"github-light"},"https://utteranc.es"))}function searchAll(e,t,n){var o=new Fuse(t,{shouldSort:!0,distance:1e4,keys:[{name:"title",weight:2},{name:"tags",weight:1.5},{name:"content",weight:1}]}).search(e);return 0<o.length?(document.getElementById("search-result").innerHTML=template("search-result-template",o),[(new Date).getTime()-n,o.length]):"notFound"}document.querySelector("span.post-comment-notloaded")&&document.querySelector("span.post-comment-notloaded").addEventListener("click",loadComment),document.querySelector(".btn .btn-scroll-top").addEventListener("click",function(){document.documentElement.scrollTop=0}),document.addEventListener("DOMContentLoaded",function(){"function"==typeof mediumZoom&&mediumZoom(".img-zoomable",{margin:32,background:"#00000054",scrollOffset:128})}),document.querySelector(".btn .btn-toggle-mode").addEventListener("click",function(){var e=getNowTheme(),t=document.body.getAttribute("data-theme"),n=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";"auto"===t?(document.body.setAttribute("data-theme","light"===e?"dark":"light"),localStorage.setItem("fuji_data-theme","light"===e?"dark":"light")):"light"===t?(document.body.setAttribute("data-theme","dark"),localStorage.setItem("fuji_data-theme","dark"==n?"auto":"dark")):(document.body.setAttribute("data-theme","light"),localStorage.setItem("fuji_data-theme","light"==n?"auto":"light"));var o=document.querySelector(".post-comment");o&&document.querySelector("span.post-comment-notloaded").getAttribute("style")&&("utterances"===o.getAttribute("data-comment")&&updateUtterancesTheme(document.querySelector(".post-comment iframe")),"disqus"===o.getAttribute("data-comment")&&DISQUS.reset({reload:!0}))});var counter,infoElements,key,xhr,urlParams=new URLSearchParams(window.location.search);urlParams.has("s")&&(counter=(new Date).getTime(),infoElements=document.querySelectorAll(".search-result-info"),key=urlParams.get("s"),document.querySelector(".search-input input").setAttribute("value",key),(xhr=new XMLHttpRequest).open("GET","index.json",!0),xhr.responseType="json",xhr.onerror=function(){infoElements[2].removeAttribute("style")},xhr.ontimeout=function(){infoElements[2].removeAttribute("style")},xhr.onreadystatechange=function(){4===xhr.readyState&&(200===xhr.status?"notFound"===(counter=searchAll(key,xhr.response,counter))?infoElements[1].removeAttribute("style"):(infoElements[0].innerHTML=infoElements[0].innerHTML.replace("[TIME]",counter[0]),infoElements[0].innerHTML=infoElements[0].innerHTML.replace("[NUM]",counter[1]),infoElements[0].removeAttribute("style")):infoElements[2].removeAttribute("style"))},xhr.send(null));
\ No newline at end of file |