diff --git a/CHANGELOG.md b/CHANGELOG.md index dd97feb..84205b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.4 +### Bug fixes +- Fixed chinese auchor link + ## 1.1.3 ### Bug fixes - Optimize progress bar again diff --git a/src/event.js b/src/event.js index 3012b2a..2bd0748 100644 --- a/src/event.js +++ b/src/event.js @@ -49,7 +49,7 @@ export function scrollActiveSidebar () { export function scrollIntoView () { const id = window.location.hash.match(/#[^#\/]+$/g) if (!id || !id.length) return - const section = document.querySelector(id[0]) + const section = document.querySelector(decodeURIComponent(id[0])) if (section) section.scrollIntoView() } diff --git a/src/render.js b/src/render.js index e051a2f..fe99894 100644 --- a/src/render.js +++ b/src/render.js @@ -21,14 +21,16 @@ const renderer = new marked.Renderer() * @link https://github.com/chjj/marked#overriding-renderer-methods */ renderer.heading = function (text, level) { - const slug = text.toLowerCase().replace(/<(?:.|\n)*?>/gm, '').replace(/[^\w|\u4e00-\u9fa5]+/g, '-') + const slug = text.toLowerCase() + .replace(/<(?:.|\n)*?>/gm, '') + .replace(/[^\w|\u4e00-\u9fa5]+/g, '-') let route = '' if (OPTIONS.router) { route = `#/${getRoute()}` } - toc.push({ level, slug: `${route}#${slug}`, title: text }) + toc.push({ level, slug: `${route}#${encodeURIComponent(slug)}`, title: text }) return `${text}` }