diff options
| author | amzrk2 | 2020-06-16 16:30:56 +0800 | 
|---|---|---|
| committer | amzrk2 | 2020-06-16 16:30:56 +0800 | 
| commit | 05dcb6fec60a71e7d88d86e6d1a0189abc01a9e7 (patch) | |
| tree | fcf6978373ea4d34f973201310706854f7f5ab86 /static/assets/js/fuji.min.js | |
| parent | bcd4d3fdb1b5e6a6ede2dbc4ea64fc47642a2173 (diff) | |
| download | hugo-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.js | 152 | 
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 | 
