From 299c31dff986f50b4404772d73ce7629889bb9d0 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 17 Dec 2016 15:08:44 +0800 Subject: [PATCH 001/976] Fix auto2top in mobile --- CHANGELOG.md | 5 +++++ src/event.js | 10 +++++++--- src/render.js | 7 ++++--- src/util.js | 5 +++++ 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eba4cdf..4553f68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## 1.1.2 +### Bug fixes +- fix failed `auto2top` in mobile + + ## 1.1.1 ### Bug fixes - Optimize progress bar diff --git a/src/event.js b/src/event.js index 48922fb..3012b2a 100644 --- a/src/event.js +++ b/src/event.js @@ -1,10 +1,11 @@ +import { isMobile } from './util' /** * Active sidebar when scroll * @link https://buble.surge.sh/ */ export function scrollActiveSidebar () { - if (/mobile/i.test(navigator.userAgent)) return + if (isMobile()) return const anchors = document.querySelectorAll('.anchor') const nav = {} @@ -92,7 +93,10 @@ export function bindToggle (dom) { } let cacheContentDOM -export function scroll2Top (dom) { - cacheContentDOM = cacheContentDOM || document.querySelector(dom) +export function scroll2Top () { + if (!cacheContentDOM) { + const dom = isMobile() ? 'body' : 'section.content' + cacheContentDOM = document.querySelector(dom) + } cacheContentDOM.scrollTop = 0 } diff --git a/src/render.js b/src/render.js index c85f936..e156081 100644 --- a/src/render.js +++ b/src/render.js @@ -70,7 +70,7 @@ export function renderArticle (content) { renderSidebar.rendered = false renderNavbar.rendered = false - if (OPTIONS.auto2top) scroll2Top('section.content') + if (OPTIONS.auto2top) scroll2Top() } /** @@ -123,14 +123,15 @@ export function renderLoading ({ loaded, total }) { CACHE['loading'] = div } - CACHE['loading'].style.opacity = 1 - CACHE['loading'].style.width = num + '%' if (num >= 95) { clearTimeout(renderLoading.cacheTImeout) renderLoading.cacheTImeout = setTimeout(_ => { CACHE['loading'].style.opacity = 0 CACHE['loading'].style.width = '0%' }, 200) + } else { + CACHE['loading'].style.opacity = 1 + CACHE['loading'].style.width = num + '%' } } diff --git a/src/util.js b/src/util.js index 4db5623..013b276 100644 --- a/src/util.js +++ b/src/util.js @@ -95,3 +95,8 @@ export function getRoute () { return route } + +export function isMobile () { + return /mobile/i.test(navigator.userAgent) +} + From 6463dd3bae4be503f33caa44fdf2707f75b9dee5 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 17 Dec 2016 15:14:52 +0800 Subject: [PATCH 002/976] Optimize progress bar again --- src/render.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/render.js b/src/render.js index e156081..4326664 100644 --- a/src/render.js +++ b/src/render.js @@ -125,6 +125,7 @@ export function renderLoading ({ loaded, total }) { if (num >= 95) { clearTimeout(renderLoading.cacheTImeout) + CACHE['loading'].style.width = '100%' renderLoading.cacheTImeout = setTimeout(_ => { CACHE['loading'].style.opacity = 0 CACHE['loading'].style.width = '0%' From fe33e2d5066836f07067f3612c9d48e0df7977d1 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 17 Dec 2016 15:17:20 +0800 Subject: [PATCH 003/976] bump 1.1.2 --- lib/docsify.js | 21 +++++++++++++++------ lib/docsify.min.js | 4 ++-- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/lib/docsify.js b/lib/docsify.js index 63a6069..2dbcdf1 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -105,12 +105,16 @@ function getRoute () { return route } +function isMobile () { + return /mobile/i.test(navigator.userAgent) +} + /** * Active sidebar when scroll * @link https://buble.surge.sh/ */ function scrollActiveSidebar () { - if (/mobile/i.test(navigator.userAgent)) { return } + if (isMobile()) { return } var anchors = document.querySelectorAll('.anchor'); var nav = {}; @@ -198,8 +202,11 @@ function bindToggle (dom) { } var cacheContentDOM; -function scroll2Top (dom) { - cacheContentDOM = cacheContentDOM || document.querySelector(dom); +function scroll2Top () { + if (!cacheContentDOM) { + var dom = isMobile() ? 'body' : 'section.content'; + cacheContentDOM = document.querySelector(dom); + } cacheContentDOM.scrollTop = 0; } @@ -2412,7 +2419,7 @@ function renderArticle (content) { renderSidebar.rendered = false; renderNavbar.rendered = false; - if (OPTIONS$1.auto2top) { scroll2Top('section.content'); } + if (OPTIONS$1.auto2top) { scroll2Top(); } } /** @@ -2468,14 +2475,16 @@ function renderLoading (ref) { CACHE['loading'] = div; } - CACHE['loading'].style.opacity = 1; - CACHE['loading'].style.width = num + '%'; if (num >= 95) { clearTimeout(renderLoading.cacheTImeout); + CACHE['loading'].style.width = '100%'; renderLoading.cacheTImeout = setTimeout(function (_) { CACHE['loading'].style.opacity = 0; CACHE['loading'].style.width = '0%'; }, 200); + } else { + CACHE['loading'].style.opacity = 1; + CACHE['loading'].style.width = num + '%'; } } diff --git a/lib/docsify.min.js b/lib/docsify.min.js index e8a267f..147e529 100644 --- a/lib/docsify.min.js +++ b/lib/docsify.min.js @@ -1,2 +1,2 @@ -var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){void 0===t&&(t=function(){}),n&&(r.addEventListener("progress",n),r.addEventListener("loaded",n)),r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}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(){var e=window.location;if(S===e.hash&&!r(w))return w;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,w=t,S=e.hash,t}function a(){function e(){for(var e=0,r=t.length;e10){var o=n[a.id];if(!o||o===i)return;return i&&i.setAttribute("class",""),o.setAttribute("class","active"),void(i=o)}}}if(!/mobile/i.test(navigator.userAgent)){for(var t=document.querySelectorAll(".anchor"),n={},r=document.querySelectorAll(".sidebar li"),i=null,a=0,s=r.length;a\n \n '):""}function g(){return'
\n \n
\n
\n
\n
'}function h(e){return e?'':""}function d(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
  • '+e.title+"
  • ",e.children&&(t+='
    • '+d(e.children)+"
    ")}),t):""}function f(e,t){var n=document.querySelector("nav")||document.createElement("nav");e[t?"outerHTML":"innerHTML"]=h(A.sidebarToggle)+p(A.repo)+g(),document.body.insertBefore(n,document.body.children[0]),l("button.sidebar-toggle")}function m(e){E("article",e?L(e):"not found"),y.rendered||y(null,A),b.rendered||b(null,A),y.rendered=!1,b.rendered=!1,A.auto2top&&u("section.content")}function b(e){$.navbar&&$.navbar===e||($.navbar=e,b.rendered=!0,e&&E("nav",L(e)),o("nav"))}function y(e){var n=!1;e?e=L(e):A.sidebar?e=d(A.sidebar,"