summaryrefslogtreecommitdiffstats
path: root/static/assets/js/fuji.min.js
diff options
context:
space:
mode:
authoramzrk22020-06-16 16:30:56 +0800
committeramzrk22020-06-16 16:30:56 +0800
commit05dcb6fec60a71e7d88d86e6d1a0189abc01a9e7 (patch)
treefcf6978373ea4d34f973201310706854f7f5ab86 /static/assets/js/fuji.min.js
parentbcd4d3fdb1b5e6a6ede2dbc4ea64fc47642a2173 (diff)
downloadhugo-theme-fuji-05dcb6fec60a71e7d88d86e6d1a0189abc01a9e7.tar.gz
hugo-theme-fuji-05dcb6fec60a71e7d88d86e6d1a0189abc01a9e7.tar.bz2
hugo-theme-fuji-05dcb6fec60a71e7d88d86e6d1a0189abc01a9e7.zip
Clean resources
Diffstat (limited to 'static/assets/js/fuji.min.js')
-rw-r--r--static/assets/js/fuji.min.js152
1 files changed, 1 insertions, 151 deletions
diff --git a/static/assets/js/fuji.min.js b/static/assets/js/fuji.min.js
index 6b0646d..d7e8d68 100644
--- a/static/assets/js/fuji.min.js
+++ b/static/assets/js/fuji.min.js
@@ -1,151 +1 @@
-'use strict'; // get current theme
-
-function getNowTheme() {
- var nowTheme = document.body.getAttribute('data-theme');
-
- if (nowTheme === 'auto') {
- return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
- } else {
- return nowTheme === 'dark' ? 'dark' : 'light';
- }
-} // update utterances theme
-
-
-function updateUtterancesTheme(utterancesFrame) {
- var targetTheme = getNowTheme();
-
- if (utterancesFrame) {
- if (targetTheme === 'dark') {
- utterancesFrame.contentWindow.postMessage({
- type: 'set-theme',
- theme: 'photon-dark'
- }, 'https://utteranc.es');
- } else {
- utterancesFrame.contentWindow.postMessage({
- type: 'set-theme',
- theme: 'github-light'
- }, 'https://utteranc.es');
- }
- }
-} // load comment button only when comment area exist
-
-
-if (document.querySelector('span.post-comment-notloaded')) {
- document.querySelector('span.post-comment-notloaded').addEventListener('click', loadComment);
-} // to-top button
-
-
-document.querySelector('.btn .btn-scroll-top').addEventListener('click', function () {
- document.documentElement.scrollTop = 0;
-}); // theme switch button
-
-document.querySelector('.btn .btn-toggle-mode').addEventListener('click', function () {
- var nowTheme = getNowTheme();
- var domTheme = document.body.getAttribute('data-theme');
- var systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
-
- if (domTheme === 'auto') {
- // if now in auto mode, switch to user mode
- document.body.setAttribute('data-theme', nowTheme === 'light' ? 'dark' : 'light');
- localStorage.setItem('fuji_data-theme', nowTheme === 'light' ? 'dark' : 'light');
- } else if (domTheme === 'light') {
- // if now in user mode and light mode
- document.body.setAttribute('data-theme', 'dark'); // if the theme want to switch is system theme
-
- localStorage.setItem('fuji_data-theme', systemTheme === 'dark' ? 'auto' : 'dark');
- } else {
- // if now in user mode and dark mode
- document.body.setAttribute('data-theme', 'light'); // if the theme want to switch is system theme
-
- localStorage.setItem('fuji_data-theme', systemTheme === 'light' ? 'auto' : 'light');
- } // switch comment area theme
- // if this page has comment area
-
-
- var commentArea = document.querySelector('.post-comment');
-
- if (commentArea) {
- // if comment area loaded
- if (document.querySelector('span.post-comment-notloaded').getAttribute('style')) {
- if (commentArea.getAttribute('data-comment') === 'utterances') {
- updateUtterancesTheme(document.querySelector('.post-comment iframe'));
- }
-
- if (commentArea.getAttribute('data-comment') === 'disqus') {
- DISQUS.reset({
- reload: true
- });
- }
- }
- }
-}); // search by fuse.js
-
-function searchAll(key, index, counter) {
- var fuse = new Fuse(index, {
- shouldSort: true,
- distance: 10000,
- keys: [{
- name: 'title',
- weight: 2.0
- }, {
- name: 'tags',
- weight: 1.5
- }, {
- name: 'content',
- weight: 1.0
- }]
- });
- var result = fuse.search(key); // console.log(result);
-
- if (result.length > 0) {
- document.getElementById('search-result').innerHTML = template('search-result-template', result);
- return [new Date().getTime() - counter, result.length];
- } else {
- return 'notFound';
- }
-}
-
-var urlParams = new URLSearchParams(window.location.search); // get params from URL
-
-if (urlParams.has('s')) {
- var counter = new Date().getTime();
- var infoElements = document.querySelectorAll('.search-result-info');
- var key = urlParams.get('s'); // get search keyword, divided by space
-
- document.querySelector('.search-input input').setAttribute('value', key); // get search index from json
-
- var xhr = new XMLHttpRequest();
- xhr.open('GET', '/index.json', true);
- xhr.responseType = 'json';
-
- xhr.onerror = function () {
- infoElements[2].removeAttribute('style');
- };
-
- xhr.ontimeout = function () {
- infoElements[2].removeAttribute('style');
- };
-
- xhr.onreadystatechange = function () {
- if (xhr.readyState === 4) {
- if (xhr.status === 200) {
- // use index json to search
- // console.log(xhr.response);
- counter = searchAll(key, xhr.response, counter); // console.log(counter);
-
- if (counter === 'notFound') {
- infoElements[1].removeAttribute('style');
- } else {
- infoElements[0].innerHTML = infoElements[0].innerHTML.replace('[TIME]', counter[0]);
- infoElements[0].innerHTML = infoElements[0].innerHTML.replace('[NUM]', counter[1]);
- infoElements[0].removeAttribute('style');
- }
- } else {
- infoElements[2].removeAttribute('style');
- }
- }
- };
-
- xhr.send(null);
-}
-//# sourceMappingURL=fuji.min.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.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