Skip to content

Commit 0d8df1e

Browse files
feat: introduce wrapperDiv option (#61)
Co-authored-by: Anthony Fu <[email protected]>
1 parent ae66c64 commit 0d8df1e

File tree

3 files changed

+24
-13
lines changed

3 files changed

+24
-13
lines changed

src/core/markdown.ts

+15-12
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ export function createMarkdown(options: ResolvedOptions) {
102102
const md = await setupPromise
103103

104104
const {
105+
wrapperDiv,
105106
wrapperClasses,
106107
wrapperComponent,
107108
transforms,
@@ -116,18 +117,20 @@ export function createMarkdown(options: ResolvedOptions) {
116117
let html = await md.renderAsync(raw, env)
117118
const { excerpt = '', frontmatter: data = null } = env
118119

119-
const wrapperClassesResolved = toArray(
120-
typeof wrapperClasses === 'function'
121-
? wrapperClasses(id, raw)
122-
: wrapperClasses,
123-
)
124-
.filter(Boolean)
125-
.join(' ')
126-
127-
if (wrapperClassesResolved)
128-
html = `<div class="${wrapperClassesResolved}">${html}</div>`
129-
else
130-
html = `<div>${html}</div>`
120+
if (wrapperDiv) {
121+
const wrapperClassesResolved = toArray(
122+
typeof wrapperClasses === 'function'
123+
? wrapperClasses(id, raw)
124+
: wrapperClasses,
125+
)
126+
.filter(Boolean)
127+
.join(' ')
128+
129+
if (wrapperClassesResolved)
130+
html = `<div class="${wrapperClassesResolved}">${html}</div>`
131+
else
132+
html = `<div>${html}</div>`
133+
}
131134

132135
const wrapperComponentName = typeof wrapperComponent === 'function'
133136
? wrapperComponent(id, raw)

src/core/options.ts

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export function resolveOptions(userOptions: Options): ResolvedOptions {
1717
markdownItOptions: {},
1818
markdownItUses: [],
1919
markdownItSetup: () => {},
20+
wrapperDiv: true,
2021
wrapperComponent: null,
2122
transforms: {},
2223
vueVersion: userOptions.vueVersion || getVueVersion(),

src/types.ts

+8-1
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,13 @@ export interface Options {
169169
*/
170170
markdownItSetup?: (MarkdownIt: MarkdownItAsync) => void | Promise<void>
171171

172+
/**
173+
* Wrap the html in a div
174+
*
175+
* @default true
176+
*/
177+
wrapperDiv?: boolean
178+
172179
/**
173180
* Class names for wrapper div
174181
*
@@ -199,7 +206,7 @@ export interface Options {
199206
exclude?: FilterPattern
200207
}
201208

202-
export interface ResolvedOptions extends Required<Options> {}
209+
export interface ResolvedOptions extends Required<Options> { }
203210

204211
export interface MarkdownEnv extends MarkdownItEnv {
205212
id: string

0 commit comments

Comments
 (0)