Swift Markdown Kit · DOCS
主题与语法
主题与语法
主题
命名预设加逐 token 覆盖。theme 控制深浅色模式,markdownTheme 控制预设与
token,两者都在运行时生效。
let theme = MarkdownTheme.github
.linkColor(light: .systemIndigo, dark: .systemTeal)
.codeCornerRadius(8)
.headingSize(level: 1, em: 2.2)
let options = MarkdownRenderOptions(
theme: .auto, // light / dark / auto
markdownTheme: theme // 预设 + token 覆盖
)
MarkdownRenderView(markdown: "# Hello", options: options)
改基线外观(默认 CSS)需要重新构建渲染器并重新打包 framework;运行时的预设 选择与逐 token 覆盖不需要。
自定义行内语法
声明式注册行内扩展,不需要任何代码跨越 bridge。每个匹配渲染为完全转义的
.md-ext-{name} span,点击以事件回传。
let options = MarkdownRenderOptions(
extensions: [
.mention(), // @handle
.ticker(), // $AAPL(仅大写,"$5" 不受影响)
.wikilink(), // [[Page]]
.prefix(name: "issue", trigger: "#", body: .upperDigit, action: "issue"),
.delimiter(name: "spoiler", open: "||", close: "||", action: "spoiler")
]
)
两种模式:prefix(触发字符加受限的正文字符类)与 delimiter(开闭定界符)。
捕获值由核心统一 HTML 转义与标识符清洗。样式走同一套主题 token —— 每个扩展暴露
--md-ext-{name}-color、-bg、-radius、-padding、-weight 和 -decoration。