theorem.js
Version:
A Math library for computation in JavaScript
2 lines (1 loc) • 3.28 kB
JavaScript
;function load(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if($.html(".title","Loading..."),$.html(".content",'<div align="center">Loading...</div>'),!1===configLoaded)fetch("config.json").then(function(e){return e.json()}).then(function(e){if(e=e[0],config=e,configLoaded=!0,$.html("head>title",e.title),"wiki"==e.type||"github"==e.type){var t=document.createElement("a");t.href=window.location,load(e.url+"/"+t.hash.split("#")[1]),side(e.logo,e.copyright)}else if($.html(".sidebar","<ul></ul>"),e.hasOwnProperty("paths")){dataPaths=e.paths;var n=document.createElement("a");n.href=window.location,load(Object.values(e.paths)[parseInt(n.hash.split("#")[1])<0||isNaN(parseInt(n.hash.split("#")[1]))?0:parseInt(n.hash.split("#")[1])]),side(e.logo,e.copyright)}e.hasOwnProperty("analytics")&&(!function(e,t,n,i,a,o,r){e.GoogleAnalyticsObject=a,e[a]=e[a]||function(){(e[a].q=e[a].q||[]).push(arguments)},e[a].l=1*new Date,o=t.createElement(n),r=t.getElementsByTagName(n)[0],o.async=1,o.src=i,r.parentNode.insertBefore(o,r)}(window,document,"script","https://www.google-analytics.com/analytics.js","ga"),ga("create",e.analytics,"auto"),ga("send","pageview")),listener()});else if(/github.com/.test(e))fetch("https://cors-anywhere.herokuapp.com/"+e,{header:new Headers({Accept:"*"})}).then(function(e){return e.text()}).then(function(e){var t=new DOMParser,n=t.parseFromString(e,"text/html"),i=n.querySelectorAll(".markdown-body");$.html(".title",n.querySelector(".gh-header-title").innerHTML),$.html(".sidebar",i[0].innerHTML),$.html(".content",i[1].innerHTML),side(config.logo,config.copyright)});else if($.html(".sidebar","<ul></ul>"),config.hasOwnProperty("paths")){for(var t in config.paths)$.single(".sidebar>ul").innerHTML+='<li><a href="'+config.paths[t]+'">'+t+"</a></li>";$.html(".title",Object.keys(config.paths)[Object.values(config.paths).indexOf(e)]),render(e),side(config.logo,config.copyright)}listener()}function side(e,t){void 0!=e&&(console.log(),$.single(".sidebar").innerHTML='\n\t\t<center>\n\t\t\t<img src="'+e+'" alt="Logo" class="img">\n\t\t</center>\n\t\t'+$.single(".sidebar").innerHTML,$.single(".sidebar").innerHTML+='\n\t\t<center>\n\t\t\t<div class="copyright-side">© Copyright '+t+" "+(new Date).getFullYear()+"</div>\n\t\t</center>\n\t\t"),listener()}function listener(){$.all(".sidebar ul>li>a",function(e){$.on(e,"click",function(e){if(e.preventDefault(),config.hasOwnProperty("paths")){var t=Object.keys(dataPaths).indexOf(e.target.innerHTML);window.location="#"+t,load(Object.values(dataPaths)[t])}else window.location="#"+("a"!=e.target.tagName.toLowerCase()?e.target.parentNode.href.split("/").slice(-1)[0]:e.target.href.split("/").slice(-1)[0]),load("a"!=e.target.tagName.toLowerCase()?e.target.parentNode.href:e.target.href);listener()})})}function render(e){var t=new showdown.Converter;fetch(e).then(function(e){return e.text()}).then(function(e){var n=t.makeHtml(e);$.html(".content",n)})}var $=new DisplayJS(window);$.on(".copyright","click",function(){window.location="https://kiwidocs.js.org"}),$.on(".arrow","click",function(){$.toggleClass(".sidebar","hovered")}),$.on(".sidebar","click",function(){$.toggleClass(".sidebar","hovered")});var configLoaded=!1,config=[],dataPaths=[];load(),listener();