feat(user-markdown-options): allow markdown configuration in user config

pull/128/head
chrisshank 5 years ago
parent e682675f96
commit 2761b7e34b

@ -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.
}

@ -5,7 +5,12 @@ import {
ServerConfig,
ServerPlugin
} from 'vite'
import { resolveConfig, SiteConfig, resolveSiteData } from './config'
import {
resolveConfig,
SiteConfig,
resolveSiteData,
resolveUserConfig
} from './config'
import { createMarkdownToVueRenderFn } from './markdownToVue'
import { APP_PATH, SITE_DATA_REQUEST_PATH } from './resolver'
import { existsSync } from 'fs'
@ -17,8 +22,9 @@ function createVitePressPlugin({
configPath,
site: initialSiteData
}: SiteConfig): ServerPlugin {
return ({ app, root, watcher, resolver }) => {
const markdownToVue = createMarkdownToVueRenderFn(root)
return async ({ app, root, watcher, resolver }) => {
const userConfig = await resolveUserConfig(root)
const markdownToVue = createMarkdownToVueRenderFn(root, userConfig.markdown)
// hot reload .md files as .vue files
watcher.on('change', async (file) => {

Loading…
Cancel
Save