diff --git a/CHANGELOG.md b/CHANGELOG.md index e445d16c..a6b0cf5c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,12 @@ +3.0.5 / 2017-02-21 +================== + + * feat(pwa): add sw.js + * fix(layout.css): loading style + * fix(event): highlight sidebar when clicked, fixed #86 + * fix(gen-tree): cache toc list, fixed #88 + 3.0.4 / 2017-02-20 ================== diff --git a/lib/docsify.js b/lib/docsify.js index c75429e4..9597d929 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -407,14 +407,12 @@ function btn (el) { el = getNode(el); on(el, 'click', toggle); - if (isMobile) { - var sidebar = getNode('.sidebar'); + var sidebar = getNode('.sidebar'); - on(sidebar, 'click', function () { - toggle(); - setTimeout(function () { return getAndActive(sidebar, true, true); }, 0); - }); - } + on(sidebar, 'click', function () { + isMobile && toggle(); + setTimeout(function () { return getAndActive(sidebar, true, true); }, 0); + }); } function sticky () { @@ -598,7 +596,6 @@ var progressbar = function (ref) { }; var cache = {}; -var RUN_VERSION = Date.now(); /** * Simple ajax get @@ -614,8 +611,6 @@ function get (url, hasBar) { xhr.addEventListener.apply(xhr, arguments); }; - url += (/\?(\w+)=/g.test(url) ? '&' : '?') + "v=" + RUN_VERSION; - if (cache[url]) { return { then: function (cb) { return cb(cache[url]); }, abort: noop } } @@ -2893,8 +2888,7 @@ function genTree (toc, maxLevel) { if (level > maxLevel) { return } if (last[len]) { - last[len].children = last[len].children || []; - last[len].children.push(headline); + last[len].children = (last[len].children || []).concat(headline); } else { headlines.push(headline); } @@ -2943,7 +2937,7 @@ var markdownCompiler = marked; var contentBase = ''; var currentPath = ''; var renderer = new marked.Renderer(); -var TOC = {}; +var cacheTree = {}; var toc = []; /** @@ -3056,11 +3050,9 @@ function sidebar (text, level) { function subSidebar (el, level) { if (el) { toc[0] && toc[0].level === 1 && toc.shift(); - var tree$$1 = genTree(TOC[currentPath] || toc, level); + var tree$$1 = cacheTree[currentPath] || genTree(toc, level); el.parentNode.innerHTML += tree(tree$$1, '