From e932ff66b9b4e554d6b42e6d08ff02d7706b1633 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 31 Dec 2016 11:50:30 +0800 Subject: [PATCH] max-sub-level => sub-max-level --- CHANGELOG.md | 7 +++++++ docs/README.md | 2 +- docs/zh-cn.md | 2 +- src/event.js | 26 ++++++++++++++------------ src/index.js | 2 +- src/render.js | 13 ++++++++++--- 6 files changed, 34 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab57764d..22bf6333 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## 1.4.0 +### Features +- Display TOC in the custom sidebar. +- Custom background in coverpage. + +### Bug fixes +- Fix scroll highlight when Vue exist. ## 1.3.5 ### Bug fixes diff --git a/docs/README.md b/docs/README.md index d76555f6..c01ba936 100644 --- a/docs/README.md +++ b/docs/README.md @@ -201,7 +201,7 @@ The contents of the file can be: - [HTML5 History Mode](/history-mode) ``` -#### max-sub-level +#### sub-max-level Display TOC in the custom sidebar. The default value is 0. diff --git a/docs/zh-cn.md b/docs/zh-cn.md index 84442e99..0b8f9f9e 100644 --- a/docs/zh-cn.md +++ b/docs/zh-cn.md @@ -206,7 +206,7 @@ Sidebar 开关按钮 - [HTML5 History Mode](/history-mode) ``` -#### max-sub-level +#### sub-max-level 显示 TOC 在自定义的侧边栏里,默认最大显示 0 层。 diff --git a/src/event.js b/src/event.js index 8b4c7ae5..45f558a1 100644 --- a/src/event.js +++ b/src/event.js @@ -66,18 +66,20 @@ export function activeLink (dom, activeParent) { if (!dom) return let target - ;[].slice.call(dom.querySelectorAll('a')).forEach(node => { - if (node.href === host && !target) { - activeParent - ? node.parentNode.setAttribute('class', 'active') - : node.setAttribute('class', 'active') - target = node - } else { - activeParent - ? node.parentNode.removeAttribute('class') - : node.removeAttribute('class') - } - }) + ;[].slice.call(dom.querySelectorAll('a')) + .sort((a, b) => b.href.length - a.href.length) + .forEach(node => { + if (host.indexOf(node.href) === 0 && !target) { + activeParent + ? node.parentNode.setAttribute('class', 'active') + : node.setAttribute('class', 'active') + target = node + } else { + activeParent + ? node.parentNode.removeAttribute('class') + : node.removeAttribute('class') + } + }) return target } diff --git a/src/index.js b/src/index.js index b81ca991..e61c644d 100644 --- a/src/index.js +++ b/src/index.js @@ -6,7 +6,7 @@ const OPTIONS = { el: '#app', repo: '', maxLevel: 6, - maxSubLevel: 0, + subMaxLevel: 0, sidebar: '', sidebarToggle: false, loadSidebar: null, diff --git a/src/render.js b/src/render.js index 3e3ea7b0..a0ab2a64 100644 --- a/src/render.js +++ b/src/render.js @@ -121,8 +121,8 @@ export function renderSidebar (content) { } export function renderSubSidebar (target) { - if (!OPTIONS.maxSubLevel) return - target.parentNode.innerHTML += tpl.tree(genTree(toc, OPTIONS.maxSubLevel), '