Skip to content

Commit caf9b83

Browse files
committed
fix(mdc-parser): minor fixes in markdown generation
1 parent 0ee4420 commit caf9b83

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

src/runtime/markdown-parser/remark-mdc/frontmatter.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,13 @@ export function stringifyFrontMatter (data: any, content: string = '') {
1212
safe: true
1313
})
1414

15+
if (!Object.keys(data).length) {
16+
return ''
17+
}
18+
1519
return [
1620
FRONTMATTER_DELIMITER,
17-
yaml.dump(data, { lineWidth: -1 }),
21+
yaml.dump(data, { lineWidth: -1 }).trim(),
1822
FRONTMATTER_DELIMITER,
1923
content
2024
].join('\n')

src/runtime/markdown-parser/remark-mdc/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export default <Plugin<Array<RemarkMDCOptions>, Root, Root>> function ({ compone
4848
return async (tree: ComponentNode, { data }: { data: Record<string, any> }) => {
4949
const jobs: Promise<unknown>[] = []
5050
visit<ComponentNode, string[]>(tree, ['textComponent', 'leafComponent', 'containerComponent'], (node) => {
51-
bindNode(node, data)
51+
bindNode(node)
5252
const { instance: handler, options } = components.find(c => c.name === node.name) || {}
5353
if (handler) {
5454
jobs.push(handler(options)(node, data))

src/runtime/markdown-parser/remark-mdc/to-markdown.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,18 @@ function componentContainerSection (node: NodeComponentContainerSection, _: any,
4646

4747
type NodeTextComponent = Parent & { name: string; rawData: string }
4848
function textComponent (node: NodeTextComponent, _: any, context: any) {
49+
let value
4950
context.indexStack = context.stack
51+
5052
const exit = context.enter(node.type)
51-
let value = ':' + (node.name || '') + label(node, context) + attributes(node, context)
52-
value += '\n' + content(node, context)
53+
54+
if (node.name === 'span') {
55+
// Handle span suger syntax
56+
value = `[${content(node, context)}]${attributes(node, context)}`
57+
} else {
58+
value = ':' + (node.name || '') + label(node, context) + attributes(node, context)
59+
}
60+
5361
exit()
5462
return value
5563
}

0 commit comments

Comments
 (0)