From 0f966e2eb1c98e3f4cfe59ebb43f1461b0fa1fbb Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Tue, 29 Nov 2016 21:43:29 +0800 Subject: [PATCH] bump 0.6.0 --- lib/docsify.js | 34 ++++++++++++++++++++++++++++------ lib/docsify.min.js | 2 +- lib/themes/buble.css | 2 +- lib/themes/pure.css | 2 +- lib/themes/vue.css | 2 +- 5 files changed, 32 insertions(+), 10 deletions(-) diff --git a/lib/docsify.js b/lib/docsify.js index 4057936e..205b8634 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -2178,6 +2178,7 @@ Prism.languages.js = Prism.languages.javascript; function corner (data) { if (!data) { return '' } if (!/\/\//.test(data)) { data = 'https://github.com/' + data; } + data = data.replace(/^git\+/, ''); return ("\n \n \n \n \n \n \n ") } @@ -2190,6 +2191,11 @@ function main () { return "
\n \n
\n
\n
\n
" } +function toggle (bool) { + if (!bool) { return '' } + return "" +} + /** * Render tree * @param {Array} tree @@ -2283,6 +2289,17 @@ function activeLink (dom, activeParent) { }); } +/** + * sidebar toggle + */ +function bindToggle (dom) { + dom = typeof dom === 'object' ? dom : document.querySelector(dom); + if (!dom) { return } + var main = document.querySelector('main'); + + dom.addEventListener('click', function () { return main.classList.toggle('close'); }); +} + var renderTo = function (dom, content) { dom = typeof dom === 'object' ? dom : document.querySelector(dom); dom.innerHTML = content; @@ -2319,19 +2336,22 @@ marked.setOptions({ renderer: renderer }); function renderApp (dom, replace, opts) { var nav = document.querySelector('nav') || document.createElement('nav'); - dom[replace ? 'outerHTML' : 'innerHTML'] = corner(opts.repo) + main(); + dom[replace ? 'outerHTML' : 'innerHTML'] = toggle(opts.sidebarToggle) + corner(opts.repo) + main(); document.body.insertBefore(nav, document.body.children[0]); + + // bind toggle + bindToggle('button.sidebar-toggle'); } /** * article */ -function renderArticle (content) { +function renderArticle (content, OPTIONS) { if ( content === void 0 ) content = 'not found'; renderTo('article', marked(content)); - if (!renderSidebar.rendered) { renderSidebar(null); } - if (!renderNavbar.rendered) { renderNavbar(null); } + if (!renderSidebar.rendered) { renderSidebar(null, OPTIONS); } + if (!renderNavbar.rendered) { renderNavbar(null, OPTIONS); } } /** @@ -2374,6 +2394,7 @@ var OPTIONS = { repo: '', maxLevel: 6, sidebar: '', + sidebarToggle: false, loadSidebar: null, loadNavbar: null }; @@ -2383,7 +2404,7 @@ var script = document.currentScript || [].slice.call(document.getElementsByTagNa if (script) { for (var prop in OPTIONS) { var val = script.getAttribute('data-' + camel2kebab(prop)); - OPTIONS[prop] = isNil(val) ? OPTIONS[prop] : true; + OPTIONS[prop] = isNil(val) ? OPTIONS[prop] : (val || true); } if (OPTIONS.loadSidebar === true) { OPTIONS.loadSidebar = '_sidebar.md'; } if (OPTIONS.loadNavbar === true) { OPTIONS.loadNavbar = '_navbar.md'; } @@ -2402,7 +2423,8 @@ var Docsify = function () { // Render markdown file load((loc + ".md")) - .then(renderArticle, function (_) { return renderArticle(); }); + .then(function (content) { return renderArticle(content, OPTIONS); }, + function (_) { return renderArticle(null, OPTIONS); }); // Render sidebar if (OPTIONS.loadSidebar) { diff --git a/lib/docsify.min.js b/lib/docsify.min.js index 4335829c..a65548f5 100644 --- a/lib/docsify.min.js +++ b/lib/docsify.min.js @@ -1 +1 @@ -var Docsify=function(){"use strict";function e(e,t){void 0===t&&(t="get");var n=new XMLHttpRequest;return n.open(t,e),n.send(),{then:function(e,t){void 0===t&&(t=function(){}),n.addEventListener("error",t),n.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var i=e.level||1,a=i-1;i>t||(r[a]?(r[a].children=r[a].children||[],r[a].children.push(e)):n.push(e),r[i]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function i(e,t){return t={exports:{}},e(t,t.exports),t.exports}function a(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),'\n \n \n '):""}function s(){return'
\n \n
\n
\n
\n
'}function o(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
  • '+e.title+"
  • ",e.children&&(t+='
  • ")}),t):""}function l(){function e(){for(var e=0,t=n.length;e10){var o=r[i.id];if(!o)return;if(o===a)return;return a&&a.setAttribute("class",""),o.setAttribute("class","active"),void(a=o)}}}function t(){var e=window.location.hash.slice(1);if(e){var t=document.querySelector("#"+e);t&&t.scrollIntoView()}}if(!/mobile/i.test(navigator.userAgent)){for(var n=document.querySelectorAll(".anchor"),r={},i=document.querySelectorAll(".sidebar li"),a=null,s=0,o=i.length;s"):(e=o(t(y,n.maxLevel),"