UNPKG

gitbook-plugin-theme-seer

Version:
152 lines (132 loc) 5.14 kB
require(['gitbook', 'jquery'], function(gitbook, $) { function getRootPath() { var pathName = window.location.pathname.substring(1); var webName = pathName == '' ? '' : pathName.substring(0, pathName.indexOf('/')); if (webName == "") { return window.location.protocol + '//' + window.location.host; } else { return window.location.protocol + '//' + window.location.host + '/' + webName; } } //生成内容导航 function generateSectionNavigator(){ $(".page-inner .markdown-section").find("h1,h2,h3").each(function(){ var cls="anchor-h1"; if($(this).is("h2")){ cls="anchor-h2"; } if($(this).is("h3")){ cls="anchor-h3"; } var text = $(this).text(); var href = $(this).attr("id"); $(".book-anchor-body").append("<a id='an_"+text+"' class='anchor-text "+cls+"' title='"+text+"' href='#"+href+"'>"+text+"</a>") }); $(".book-anchor-title").click(function () { // $(".book-anchor-body").toggle(); }); $(".book-anchor-body>a").click(function(){ $(".book-anchor-body>a").removeClass("selected"); $(this).addClass("selected"); }); //获取hash值定向到指定位置 var hash = decodeURIComponent(location.hash); if(hash){ hash = hash.substring(1); $("#an_"+hash).addClass("selected"); } } //基础设置 function setBase(){ //标题 var $title = $(".header-inner .title"); $title.text(gitbook.state.config.title); //搜索框 var $search = $('#book-search-input'); var placeholder = gitbook.state.config.pluginsConfig["theme-seer"]["search-placeholder"] || "输入关键字搜索" $search.find("input").attr("placeholder",placeholder); // $search.append("<span id='searchBtn'>搜索</span>"); $search.append("<div class='search-icon'></div>") $search.focus(); // $("#searchBtn").click(function(e){}); //去掉gitbook-link $(".summary .gitbook-link").hide(); $(".summary .divider").hide(); } gitbook.events.on('start', function() { initVersion(); }); gitbook.events.on('page.change', function() { setBase(); generateSectionNavigator(); }); function initVersion(){ var options = gitbook.state.config.pluginsConfig["theme-seer"]["versionOptions"]; $('.version_div .current').text(options[0].text); for(var i=0;i<options.length;i++){ $li = $(`<li data-value=${options[i].value} data-text=${options[i].text}>${options[i].text}</li>`) $('.version_div .dropdown-menu ul').append($li); } $('.version_div .current-wrapper').click(function(){ $('.version_div .dropdown-menu').toggle(); }); $('.version_div .dropdown-menu ul').click(function(e){ $('.version_div .current').text($(e.target).attr("data-text")) window.location.href = $(e.target).attr("data-value") $('.version_div .dropdown-menu').hide(); }) } (function(){ $('#mask').hide(); reset() $(document).on('click','#seer-collapse',function(){ if($('.book-summary').css("display") === 'none'){ $('.book-summary').show(); $('#mask').show(); setTimeout(() => { $('.book-summary').css({ "left": "unset", "right": "0" }); }, 0); } else { $('.book-summary').hide(); $('#mask').hide(); } }) $(document).on('click','.book-summary',function(e){ console.log(99,window.innerWidth); if(window.innerWidth < 1200){ $('#mask').show(); } else { $('#mask').hide(); } }) $(document).on('click','#mask',function(e){ $('.book-summary').hide(); $('#mask').hide(); }) })() function reset (){ if(window.innerWidth < 1200){ $('.book-body').css("left",0) $('.book-summary').css("left","unset"); $('.book-summary').css("right","0"); $('.book-summary').hide(); } else { $('.book-body').css("left",$('.book-summary').outerWidth(true)); $('.book-summary').css("left",0); $('.book-summary').show(); } } setTimeout(() => { $('.book-summary').css("left",0); if(window.innerWidth >= 1200){ $('.book-body').css("left",$('.book-summary').outerWidth(true)); } }, 30); $(window).resize(function () { reset() }); });