bump 1.6.0
This commit is contained in:
parent
510ae37a04
commit
87b373b841
6 changed files with 52 additions and 31 deletions
|
|
@ -1,6 +1,6 @@
|
||||||

|

|
||||||
|
|
||||||
# docsify <small>1.5.2</small>
|
# docsify <small>1.6.0</small>
|
||||||
|
|
||||||
> A magical documentation site generator.
|
> A magical documentation site generator.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -175,10 +175,12 @@ var merge = Object.assign || function (to) {
|
||||||
function scrollActiveSidebar () {
|
function scrollActiveSidebar () {
|
||||||
if (isMobile()) { return }
|
if (isMobile()) { return }
|
||||||
|
|
||||||
|
var hoveredOverSidebar = false;
|
||||||
var anchors = document.querySelectorAll('.anchor');
|
var anchors = document.querySelectorAll('.anchor');
|
||||||
|
var sidebar = document.querySelector('aside.sidebar');
|
||||||
var nav = {};
|
var nav = {};
|
||||||
var lis = document.querySelectorAll('.sidebar li');
|
var lis = sidebar.querySelectorAll('li');
|
||||||
var active = null;
|
var active = sidebar.querySelector('li.active');
|
||||||
|
|
||||||
for (var i = 0, len = lis.length; i < len; i += 1) {
|
for (var i = 0, len = lis.length; i < len; i += 1) {
|
||||||
var li = lis[i];
|
var li = lis[i];
|
||||||
|
|
@ -193,27 +195,34 @@ function scrollActiveSidebar () {
|
||||||
}
|
}
|
||||||
|
|
||||||
function highlight () {
|
function highlight () {
|
||||||
|
var top = document.body.scrollTop;
|
||||||
|
var last;
|
||||||
|
|
||||||
for (var i = 0, len = anchors.length; i < len; i += 1) {
|
for (var i = 0, len = anchors.length; i < len; i += 1) {
|
||||||
var node = anchors[i];
|
var node = anchors[i];
|
||||||
var bcr = node.getBoundingClientRect();
|
|
||||||
|
|
||||||
if (bcr.top < 10 && bcr.bottom > 10) {
|
if (node.offsetTop > top) {
|
||||||
var li = nav[node.getAttribute('data-id')];
|
if (!last) { last = node; }
|
||||||
|
break
|
||||||
if (!li || li === active) { return }
|
} else {
|
||||||
if (active) { active.setAttribute('class', ''); }
|
last = node;
|
||||||
|
|
||||||
li.setAttribute('class', 'active');
|
|
||||||
active = li;
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!last) { return }
|
||||||
|
var li = nav[last.getAttribute('data-id')];
|
||||||
|
|
||||||
|
if (!li || li === active) { return }
|
||||||
|
if (active) { active.classList.remove('active'); }
|
||||||
|
|
||||||
|
li.classList.add('active');
|
||||||
|
active = li;
|
||||||
|
!hoveredOverSidebar && active.scrollIntoView();
|
||||||
}
|
}
|
||||||
|
|
||||||
window.removeEventListener('scroll', highlight);
|
window.removeEventListener('scroll', highlight);
|
||||||
window.addEventListener('scroll', highlight);
|
window.addEventListener('scroll', highlight);
|
||||||
highlight();
|
sidebar.addEventListener('mouseover', function () { hoveredOverSidebar = true; });
|
||||||
|
sidebar.addEventListener('mouseleave', function () { hoveredOverSidebar = false; });
|
||||||
}
|
}
|
||||||
|
|
||||||
function scrollIntoView () {
|
function scrollIntoView () {
|
||||||
|
|
@ -221,7 +230,9 @@ function scrollIntoView () {
|
||||||
if (!id || !id.length) { return }
|
if (!id || !id.length) { return }
|
||||||
var section = document.querySelector(decodeURIComponent(id[0]));
|
var section = document.querySelector(decodeURIComponent(id[0]));
|
||||||
|
|
||||||
if (section) { section.scrollIntoView(); }
|
if (section) { setTimeout(function () { return section.scrollIntoView(); }, 0); }
|
||||||
|
|
||||||
|
return section
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -237,13 +248,13 @@ function activeLink (dom, activeParent) {
|
||||||
.forEach(function (node) {
|
.forEach(function (node) {
|
||||||
if (host.indexOf(node.href) === 0 && !target) {
|
if (host.indexOf(node.href) === 0 && !target) {
|
||||||
activeParent
|
activeParent
|
||||||
? node.parentNode.setAttribute('class', 'active')
|
? node.parentNode.classList.add('active')
|
||||||
: node.setAttribute('class', 'active');
|
: node.classList.add('active');
|
||||||
target = node;
|
target = node;
|
||||||
} else {
|
} else {
|
||||||
activeParent
|
activeParent
|
||||||
? node.parentNode.removeAttribute('class')
|
? node.parentNode.classList.remove('active')
|
||||||
: node.removeAttribute('class');
|
: node.classList.remove('active');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -261,13 +272,18 @@ function bindToggle (dom) {
|
||||||
dom.addEventListener('click', function () { return body.classList.toggle('close'); });
|
dom.addEventListener('click', function () { return body.classList.toggle('close'); });
|
||||||
|
|
||||||
if (isMobile()) {
|
if (isMobile()) {
|
||||||
document.querySelector('aside')
|
var sidebar = document.querySelector('aside.sidebar');
|
||||||
.addEventListener('click', function (_) { return body.classList.toggle('close'); });
|
document.body.addEventListener('click', function (e) {
|
||||||
|
if (e.target !== dom && !dom.contains(e.target)) { body.classList.toggle('close'); }
|
||||||
|
if (sidebar.contains(e.target)) { setTimeout(function () { return activeLink(sidebar, true); }, 0); }
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function scroll2Top () {
|
function scroll2Top (offset) {
|
||||||
document.body.scrollTop = 0;
|
if ( offset === void 0 ) offset = 0;
|
||||||
|
|
||||||
|
document.body.scrollTop = offset === true ? 0 : Number(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
function sticky () {
|
function sticky () {
|
||||||
|
|
@ -2439,6 +2455,7 @@ var OPTIONS$1 = {};
|
||||||
var markdown = marked;
|
var markdown = marked;
|
||||||
var toc = [];
|
var toc = [];
|
||||||
var CACHE = {};
|
var CACHE = {};
|
||||||
|
var TIP_RE = /^!\s/;
|
||||||
|
|
||||||
var renderTo = function (dom, content) {
|
var renderTo = function (dom, content) {
|
||||||
dom = typeof dom === 'object' ? dom : document.querySelector(dom);
|
dom = typeof dom === 'object' ? dom : document.querySelector(dom);
|
||||||
|
|
@ -2488,6 +2505,10 @@ function init (options) {
|
||||||
|
|
||||||
return ("<a href=\"" + href + "\" title=\"" + (title || '') + "\">" + text + "</a>")
|
return ("<a href=\"" + href + "\" title=\"" + (title || '') + "\">" + text + "</a>")
|
||||||
};
|
};
|
||||||
|
renderer.paragraph = function (text) {
|
||||||
|
var isTip = TIP_RE.test(text);
|
||||||
|
return isTip ? ("<p class=\"tip\">" + (text.replace(TIP_RE, '')) + "</p>") : ("<p>" + text + "</p>")
|
||||||
|
};
|
||||||
|
|
||||||
if (typeof OPTIONS$1.markdown === 'function') {
|
if (typeof OPTIONS$1.markdown === 'function') {
|
||||||
markdown.setOptions({ renderer: renderer });
|
markdown.setOptions({ renderer: renderer });
|
||||||
|
|
@ -2531,7 +2552,7 @@ function renderArticle (content) {
|
||||||
var vm = new Vue({ el: 'main' }); // eslint-disable-line
|
var vm = new Vue({ el: 'main' }); // eslint-disable-line
|
||||||
vm.$nextTick(function (_) { return scrollActiveSidebar(); });
|
vm.$nextTick(function (_) { return scrollActiveSidebar(); });
|
||||||
}
|
}
|
||||||
if (OPTIONS$1.auto2top) { scroll2Top(); }
|
if (OPTIONS$1.auto2top) { setTimeout(function () { return scroll2Top(OPTIONS$1.auto2top); }, 0); }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -2561,7 +2582,7 @@ function renderSidebar (content) {
|
||||||
|
|
||||||
renderTo('aside.sidebar', html);
|
renderTo('aside.sidebar', html);
|
||||||
var target = activeLink('aside.sidebar', true);
|
var target = activeLink('aside.sidebar', true);
|
||||||
if (content) { renderSubSidebar(target); }
|
if (target) { renderSubSidebar(target); }
|
||||||
toc = [];
|
toc = [];
|
||||||
|
|
||||||
scrollActiveSidebar();
|
scrollActiveSidebar();
|
||||||
|
|
|
||||||
4
lib/docsify.min.js
vendored
4
lib/docsify.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue