diff --git a/src/core/config.js b/src/core/config.js index 8b03c7df1..65f727ab9 100644 --- a/src/core/config.js +++ b/src/core/config.js @@ -20,7 +20,8 @@ const config = merge({ ga: '', mergeNavbar: false, formatUpdated: '', - externalLinkTarget: '_blank' + externalLinkTarget: '_blank', + routerModel: 'hash' }, window.$docsify) const script = document.currentScript || diff --git a/src/core/fetch/index.js b/src/core/fetch/index.js index 91ef1d6b0..ceba30810 100644 --- a/src/core/fetch/index.js +++ b/src/core/fetch/index.js @@ -50,7 +50,6 @@ export function fetchMixin (proto) { const root = getParentPath(this.route.path) const path = this.router.getFile(root + coverpage) - console.log(this.route.path, root, path) if (this.route.path !== '/' || !coverpage) { this._renderCover() return diff --git a/src/core/router/history/abstract.js b/src/core/router/history/abstract.js index 09a2df935..d608efe12 100644 --- a/src/core/router/history/abstract.js +++ b/src/core/router/history/abstract.js @@ -17,7 +17,11 @@ export class AbstractHistory extends History { path = path.slice(0, queryIndex) } - return { path, query: parseQuery(query) } + return { + path, + file: this.getFile(path), + query: parseQuery(query) + } } toURL (path, params, currentRoute) { diff --git a/src/core/router/history/base.js b/src/core/router/history/base.js index ca914a3bc..f6d8c657d 100644 --- a/src/core/router/history/base.js +++ b/src/core/router/history/base.js @@ -23,6 +23,8 @@ export class History { } getFile (path) { + path = path || this.getCurrentPath() + const { config } = this const base = this.getBasePath() diff --git a/src/core/router/history/hash.js b/src/core/router/history/hash.js index 5dce5a7a7..73b54ef3b 100644 --- a/src/core/router/history/hash.js +++ b/src/core/router/history/hash.js @@ -69,7 +69,11 @@ export class HashHistory extends History { path = path.slice(hashIndex + 1) } - return { path, query: parseQuery(query) } + return { + path, + file: this.getFile(path), + query: parseQuery(query) + } } toURL (path, params, currentRoute) { diff --git a/src/core/router/history/html5.js b/src/core/router/history/html5.js index cb3a36831..fc9170353 100644 --- a/src/core/router/history/html5.js +++ b/src/core/router/history/html5.js @@ -1,7 +1,7 @@ import { History } from './base' import { merge, noop } from '../../util/core' import { on } from '../../util/dom' -import { parseQuery, stringifyQuery, cleanPath } from '../util' +import { parseQuery, stringifyQuery, getPath, cleanPath } from '../util' export class HTML5History extends History { constructor (config) { @@ -10,7 +10,7 @@ export class HTML5History extends History { } getCurrentPath () { - const base = this.config.basePath + const base = this.getBasePath() let path = window.location.pathname if (base && path.indexOf(base) === 0) { @@ -37,15 +37,6 @@ export class HTML5History extends History { on('popstate', cb) } - normalize () { - let path = this.getCurrentPath() - - path = path.replace('#', '?id=') - window.history.pushState({ key: path }, '', path) - - return path - } - /** * Parse the url * @param {string} [path=location.href] @@ -60,12 +51,18 @@ export class HTML5History extends History { path = path.slice(0, queryIndex) } - const baseIndex = path.indexOf(location.origin) + const base = getPath(location.origin, this.getBasePath()) + const baseIndex = path.indexOf(base) + if (baseIndex > -1) { - path = path.slice(baseIndex + location.origin.length) + path = path.slice(baseIndex + base.length - 1) } - return { path, query: parseQuery(query) } + return { + path, + file: this.getFile(path), + query: parseQuery(query) + } } toURL (path, params, currentRoute) {