mirror of
https://gitee.com/docsifyjs/docsify.git
synced 2024-12-02 20:20:30 +08:00
fix(search): incorrect anchor link, fixed #90
This commit is contained in:
parent
855c450a97
commit
b8a3d8f380
@ -2,12 +2,13 @@ import * as util from './util'
|
||||
import * as dom from './util/dom'
|
||||
import * as render from './render/compiler'
|
||||
import * as route from './route/hash'
|
||||
import { slugify } from './render/slugify'
|
||||
import { get } from './fetch/ajax'
|
||||
import marked from 'marked'
|
||||
import prism from 'prismjs'
|
||||
|
||||
export default function () {
|
||||
window.Docsify = { util, dom, render, route, get }
|
||||
window.Docsify = { util, dom, render, route, get, slugify }
|
||||
window.marked = marked
|
||||
window.Prism = prism
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import marked from 'marked'
|
||||
import Prism from 'prismjs'
|
||||
import { helper as helperTpl, tree as treeTpl } from './tpl'
|
||||
import { genTree } from './gen-tree'
|
||||
import { slugify, clearSlugCache } from './slugify'
|
||||
import { slugify } from './slugify'
|
||||
import { emojify } from './emojify'
|
||||
import { toURL, parse } from '../route/hash'
|
||||
import { getBasePath, isAbsolutePath, getPath } from '../route/util'
|
||||
@ -25,7 +25,7 @@ export const markdown = cached(text => {
|
||||
|
||||
html = markdownCompiler(text)
|
||||
html = emojify(html)
|
||||
clearSlugCache()
|
||||
slugify.clear()
|
||||
|
||||
return html
|
||||
})
|
||||
|
@ -22,6 +22,6 @@ export function slugify (str) {
|
||||
return slug
|
||||
}
|
||||
|
||||
export function clearSlugCache () {
|
||||
slugify.clear = function () {
|
||||
cache = {}
|
||||
}
|
||||
|
@ -107,7 +107,7 @@ function bindEvents () {
|
||||
e => e.target.tagName !== 'A' && e.stopPropagation())
|
||||
dom.on($input, 'input', e => {
|
||||
clearTimeout(timeId)
|
||||
timeId = setTimeout(_ => doSearch(e.target.value.trim()), 200)
|
||||
timeId = setTimeout(_ => doSearch(e.target.value.trim()), 100)
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -40,13 +40,14 @@ function saveData (maxAge) {
|
||||
|
||||
export function genIndex (path, content = '') {
|
||||
const tokens = window.marked.lexer(content)
|
||||
const slugify = window.Docsify.slugify
|
||||
const toURL = Docsify.route.toURL
|
||||
const index = {}
|
||||
let slug
|
||||
|
||||
tokens.forEach(token => {
|
||||
if (token.type === 'heading' && token.depth <= 2) {
|
||||
slug = toURL(path, { id: token.text })
|
||||
slug = toURL(path, { id: slugify(token.text) })
|
||||
index[slug] = { slug, title: token.text, body: '' }
|
||||
} else {
|
||||
if (!slug) return
|
||||
@ -61,7 +62,7 @@ export function genIndex (path, content = '') {
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
slugify.clear()
|
||||
return index
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user