feat: add ability to configure markdown options (#127) (#128)

close #127

Co-authored-by: Kia Ishii <kia.king.08@gmail.com>
pull/136/head
Christopher Shank 4 years ago committed by GitHub
parent d5502d1749
commit 463a03a981
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -36,7 +36,7 @@ export async function bundle(
const root = config.root
const userConfig = await resolveUserConfig(root)
const resolver = createResolver(config.themeDir, userConfig)
const markdownToVue = createMarkdownToVueRenderFn(root)
const markdownToVue = createMarkdownToVueRenderFn(root, userConfig.markdown)
let isClientBuild = true
const pageToHashMap = Object.create(null)

@ -5,6 +5,7 @@ import globby from 'globby'
import { createResolver, APP_PATH } from './resolver'
import { Resolver } from 'vite'
import { SiteData, HeadConfig, LocaleConfig } from '../../types/shared'
import { MarkdownOptions } from './markdown/markdown'
export { resolveSiteDataByRoute } from './shared/config'
const debug = require('debug')('vitepress:config')
@ -18,6 +19,7 @@ export interface UserConfig<ThemeConfig = any> {
themeConfig?: ThemeConfig
locales?: Record<string, LocaleConfig>
alias?: Record<string, string>
markdown?: MarkdownOptions
// TODO locales support etc.
}
@ -30,6 +32,7 @@ export interface SiteConfig<ThemeConfig = any> {
tempDir: string
resolver: Resolver
pages: string[]
markdown?: MarkdownOptions
}
const resolve = (root: string, file: string) =>
@ -55,7 +58,8 @@ export async function resolveConfig(
configPath: resolve(root, 'config.js'),
outDir: resolve(root, 'dist'),
tempDir: path.resolve(APP_PATH, 'temp'),
resolver: createResolver(themeDir, userConfig)
resolver: createResolver(themeDir, userConfig),
markdown: userConfig.markdown
}
return config

@ -15,10 +15,11 @@ const debugHmr = require('debug')('vitepress:hmr')
function createVitePressPlugin({
configPath,
markdown,
site: initialSiteData
}: SiteConfig): ServerPlugin {
return ({ app, root, watcher, resolver }) => {
const markdownToVue = createMarkdownToVueRenderFn(root)
const markdownToVue = createMarkdownToVueRenderFn(root, markdown)
// hot reload .md files as .vue files
watcher.on('change', async (file) => {

Loading…
Cancel
Save