mirror of https://github.com/IoTcat/docsify.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
1.5 KiB
70 lines
1.5 KiB
import {merge, hyphenate, isPrimitive, hasOwn} from './util/core' |
|
|
|
export default function () { |
|
const config = merge( |
|
{ |
|
el: '#app', |
|
repo: '', |
|
maxLevel: 6, |
|
subMaxLevel: 0, |
|
loadSidebar: null, |
|
loadNavbar: null, |
|
homepage: 'README.md', |
|
coverpage: '', |
|
basePath: '', |
|
auto2top: false, |
|
name: '', |
|
themeColor: '', |
|
nameLink: window.location.pathname, |
|
autoHeader: false, |
|
executeScript: null, |
|
noEmoji: false, |
|
ga: '', |
|
ext: '.md', |
|
mergeNavbar: false, |
|
formatUpdated: '', |
|
externalLinkTarget: '_blank', |
|
routerMode: 'hash', |
|
noCompileLinks: [] |
|
}, |
|
window.$docsify |
|
) |
|
|
|
const script = |
|
document.currentScript || |
|
[].slice |
|
.call(document.getElementsByTagName('script')) |
|
.filter(n => /docsify\./.test(n.src))[0] |
|
|
|
if (script) { |
|
for (const prop in config) { |
|
if (hasOwn.call(config, prop)) { |
|
const val = script.getAttribute('data-' + hyphenate(prop)) |
|
|
|
if (isPrimitive(val)) { |
|
config[prop] = val === '' ? true : val |
|
} |
|
} |
|
} |
|
|
|
if (config.loadSidebar === true) { |
|
config.loadSidebar = '_sidebar' + config.ext |
|
} |
|
if (config.loadNavbar === true) { |
|
config.loadNavbar = '_navbar' + config.ext |
|
} |
|
if (config.coverpage === true) { |
|
config.coverpage = '_coverpage' + config.ext |
|
} |
|
if (config.repo === true) { |
|
config.repo = '' |
|
} |
|
if (config.name === true) { |
|
config.name = '' |
|
} |
|
} |
|
|
|
window.$docsify = config |
|
|
|
return config |
|
}
|
|
|