import type { MarkdownIt } from "../types.ts"
export default function markers(engine: MarkdownIt): void {
engine.inline.ruler.after("escape", "markers", (state, silent) => {
if (state.src[state.pos] !== "=")
return false
const match = /^=(?:([a-z])=|=)([^=\s](?:[^=\n]*[^=\s])?)=(=)?/.exec(state.src.slice(state.pos, state.posMax))
if (!match)
return false
if (!silent) {
const token = state.push("mark_open", "mark", 1)
if (match[1])
token.attrSet(match[1], "")
state.push("text", "", 0).content = match[2]
state.push("mark_close", "mark", -1)
}
state.pos += match[0].length
return true
})
}
|