Skip to content

Commit 8d0fa0b

Browse files
committed
Format docs
1 parent 8aa14c4 commit 8d0fa0b

File tree

3 files changed

+348
-147
lines changed

3 files changed

+348
-147
lines changed

docs/.vitepress/availableSinceMarkdownPlugin.ts

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ function parseAvailableSinceParams(info: string): AvailableSinceParams {
1414
const params: AvailableSinceParams = {}
1515

1616
// Parse out key=value pairs first
17-
const keyValueMatches = [...allParams.matchAll(/([a-z]+)(?:=("[^"]*"|[^\s"]+))?/g)]
17+
const keyValueMatches = [
18+
...allParams.matchAll(/([a-z]+)(?:=("[^"]*"|[^\s"]+))?/g),
19+
]
1820
for (const [, key, value] of keyValueMatches) {
1921
let cleanValue = value ? value.replace(/^"|"$/g, '') : true
2022

@@ -27,34 +29,47 @@ function parseAvailableSinceParams(info: string): AvailableSinceParams {
2729
}
2830

2931
export function availableSinceMarkdownPlugin(md: MarkdownIt) {
30-
md.block.ruler.before('paragraph', 'available_since_oneliner', (state, start, end, silent) => {
31-
const line = state.getLines(start, start + 1, 0, false).trim()
32+
md.block.ruler.before(
33+
'paragraph',
34+
'available_since_oneliner',
35+
(state, start, end, silent) => {
36+
const line = state.getLines(start, start + 1, 0, false).trim()
3237

33-
const match = line.match(/^@available_since\s+(.+)$/)
34-
if (!match) return false
38+
const match = line.match(/^@available_since\s+(.+)$/)
39+
if (!match) return false
3540

36-
if (silent) return true
41+
if (silent) return true
3742

38-
const params = parseAvailableSinceParams(`available_since ${match[1]}`)
39-
const token = state.push('available_since_oneliner', '', 0)
43+
const params = parseAvailableSinceParams(`available_since ${match[1]}`)
44+
const token = state.push('available_since_oneliner', '', 0)
4045

41-
token.content = renderAvailableSince(params, md)
42-
token.map = [start, start + 1]
46+
token.content = renderAvailableSince(params, md)
47+
token.map = [start, start + 1]
4348

44-
state.line = start + 1
45-
return true
46-
})
49+
state.line = start + 1
50+
return true
51+
},
52+
)
4753

4854
// Render the one-liner available_since token
4955
md.renderer.rules.available_since_oneliner = (tokens, idx) => {
5056
return tokens[idx].content + '\n'
5157
}
5258
}
5359

54-
function renderAvailableSince(params: AvailableSinceParams, md: MarkdownIt): string {
55-
const railsAttr = params.rails ? `rails="${md.utils.escapeHtml(params.rails)}"` : ''
56-
const coreAttr = params.core ? `core="${md.utils.escapeHtml(params.core)}"` : ''
57-
const descriptionAttr = params.description ? `description="${md.utils.escapeHtml(params.description)}"` : ''
60+
function renderAvailableSince(
61+
params: AvailableSinceParams,
62+
md: MarkdownIt,
63+
): string {
64+
const railsAttr = params.rails
65+
? `rails="${md.utils.escapeHtml(params.rails)}"`
66+
: ''
67+
const coreAttr = params.core
68+
? `core="${md.utils.escapeHtml(params.core)}"`
69+
: ''
70+
const descriptionAttr = params.description
71+
? `description="${md.utils.escapeHtml(params.description)}"`
72+
: ''
5873

5974
return `<AvailableSince ${railsAttr} ${coreAttr} ${descriptionAttr} />`
6075
}

0 commit comments

Comments
 (0)