1
0
DavidZhang73.github.io/js/obsidian.min.js

1 line
14 KiB
JavaScript
Raw Normal View History

2020-01-27 20:30:21 +08:00
function scrollSpy(menuSelector,options){var menu=$(menuSelector);if(menu){var offset=(options=options||{}).offset||0,activeClassName=options.activeClassName||"active",scollTarget=$(".content :header").find("a.headerlink"),lastId=null,active=$();$(window).scroll((function(){var fromTop=$(this).scrollTop()+offset,id=scollTarget.filter((function(){return $(this).offset().top<fromTop})).last().parent().attr("id")||"";if(lastId!==id){active.removeClass(activeClassName);for(var newActive=[],target=menu.find("[href='#"+id+"']");target.length&&!target.is(menu);target=target.parent())target.is("li")&&newActive.push(target[0]);active=$(newActive).addClass(activeClassName).trigger("scrollspy"),lastId=id}}))}}function utiliseBgColor(){setTimeout((function(){$("#single").length?$("html").css("background","#fff"):$("html").css("background","#100e17")}),500)}function buildImgCaption(){var images;$(".content").find("img").each((function(){var caption=$(this).attr("alt");$(".content").find("[alt='"+caption+"']").parent().append('<p class="image-caption">"'+caption+'"</p>')}))}var Home=location.href,Pages=4,xhr,xhrUrl="",Obsidian={L:function(url,f,err){if(url==xhrUrl)return!1;xhrUrl=url,xhr&&xhr.abort(),xhr=$.ajax({type:"GET",url:url,timeout:1e4,success:function(data){f(data),xhrUrl=""},error:function(a,b,c){"abort"==b?err&&err():window.location.href=url,xhrUrl=""}})},P:function(){return!!("ontouchstart"in window)},PS:function(){window.history&&history.pushState&&(history.replaceState({u:Home,t:document.title},document.title,Home),window.addEventListener("popstate",(function(e){var state=e.state;state&&(document.title=state.t,state.u==Home?($("#preview").css("position","fixed"),setTimeout((function(){$("#preview").removeClass("show"),$("#container").show(),window.scrollTo(0,parseInt($("#container").data("scroll"))),setTimeout((function(){$("#preview").html(""),$(window).trigger("resize")}),300)}),0)):(Obsidian.loading(),Obsidian.L(state.u,(function(data){document.title=state.t,$("#preview").html($(data).filter("#single")),Obsidian.preview(),setTimeout((function(){Obsidian.player()}),0)}))))})))},HS:function(tag,flag){var id=tag.data("id")||0,url=tag.attr("href"),title=tag.attr("title")+" - "+$("#config-title").text();$("#preview").length&&window.history&&history.pushState||(location.href=url),Obsidian.loading();var state={d:id,t:title,u:url};Obsidian.L(url,(function(data){if($(data).filter("#single").length){switch(flag){case"push":history.pushState(state,title,url),$("#preview").html($(data).filter("#single"));break;case"replace":history.replaceState(state,title,url),$("#preview").html($(data).filter("#single"))}switch(document.title=title,$("#preview").html($(data).filter("#single")),flag){case"push":Obsidian.preview();break;case"replace":Obsidian.initArticleJs(),window.scrollTo(0,0),Obsidian.loaded()}setTimeout((function(){Obsidian.player(),$("#top").show(),comment=$("#gitalk-container"),1==comment.data("ae")&&comment.click()}),0)}else location.href=url}))},preview:function(){$("#preview").one("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",(function(){var previewVisible;$("#preview").hasClass("show")?$("#container").hide():$("#container").show(),Obsidian.loaded()})),setTimeout((function(){$("#preview").addClass("show"),$("#container").data("scroll",window.scrollY),setTimeout((function(){$("#preview").css({position:"static"}),console.log("preivew","initArticleJs"),Obsidian.initArticleJs()}),500)}),0)},player:function(){var p=$("#audio"),sourceSrc;p.length?(""==$("#audio source").eq(0).attr("src")&&""==p[0].src&&(audiolist=$("#audio-list li"),mp3=audiolist.eq([Math.floor(Math.random()*audiolist.size())]),p[0].src=mp3.data("url")),1==p.eq(0).data("autoplay")&&p[0].play(),p.on({timeupdate:function(){var progress=p[0].currentTime/p[0].duration*100;$(".bar").css("width",progress+"%"),p[0].volume=progress/5<=1?progress/5:1},ended:function(){$(".icon-pause").removeClass("icon-pause").addClass("icon-play")},playing:function(){$(".icon-play").removeClass("icon-play").addClass("icon-pause")}})):$(".icon-play")