Documentation
¶
Overview ¶
codeblock.go 自定义代码块渲染: 构建期语法高亮 (chroma) + 语言标识. 输出结构:
<pre class="chroma code-block" data-language="go"><code>...</code></pre>
高亮配色由主题 assets 中的 chroma CSS (github 主题) 提供. 未知语言 / 无语言代码块降级为转义纯文本, 仍保留 code-block 样式.
Package parser 负责解析 Markdown 文档与 YAML Front Matter. Markdown 解析使用成熟的 goldmark 库, 不自行实现.
Index ¶
- Variables
- func Parse(content []byte, sourceRel string, opts ...Option) (*model.Document, error)
- func RenderMarkdown(body []byte, srcRel string, resolve func(srcRel, dest string) string, ...) (string, error)
- func SplitFrontMatter(content []byte) (model.Metadata, []byte, error)
- func SplitFrontMatterFile(path string) (model.Metadata, []byte, error)
- type Option
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNoCloseMarker = i18n.Errorf(i18n.ParserErrNoClose)
ErrNoCloseMarker 表示 Front Matter 缺少结束标记.
Functions ¶
func Parse ¶
Parse 解析一篇 Markdown 文档, 返回 Document 模型. sourceRel 是相对 Space 根目录的路径, 例如 docs/测试文档.md. 该函数不负责路由解析, 只提取 Front Matter 字段.
func RenderMarkdown ¶
func RenderMarkdown(body []byte, srcRel string, resolve func(srcRel, dest string) string, opts ...Option) (string, error)
RenderMarkdown 将一段 Markdown 正文渲染为 HTML 字符串. 供主题或未来扩展直接使用.
func SplitFrontMatter ¶
SplitFrontMatter 将原始文件内容拆分为 metadata 与正文. 文件必须以 --- 开头才视为包含 Front Matter. 返回的 body 不包含 Front Matter 部分.
Types ¶
Click to show internal directories.
Click to hide internal directories.