Swift Markdown

Swift Markdown 是一个 Swift 包,用于解析、构建、编辑和分析 Markdown 文档。

解析器由 GitHub 风格 Markdown 的 cmark-gfm 实现提供支持,因此它严格遵循规范。 随着社区需求的变化,此库实现的实际方言可能会发生变化。

此包提供的标记树由不可变/持久、线程安全、写时复制的值类型组成,这些类型仅复制已更改的子结构。 此库背后主要策略的其他示例可以在 Swift 的 lib/Syntax 及其 Swift 绑定 SwiftSyntax 中看到。

开始使用 Markup

在您的 Package.swift Swift Package Manager 清单中,将以下依赖项添加到您的 dependencies 参数中

.package(url: "https://github.com/apple/swift-markdown.git", .branch("main")),

将依赖项添加到您在清单中声明的任何目标

.target(name: "MyTarget", dependencies: ["Markdown"]),

要解析文档,请使用 Document(parsing:),提供 StringURL

import Markdown

let source = "This is a markup *document*."
let document = Document(parsing: source)
print(document.debugDescription())
// Document
// └─ Paragraph
//    ├─ Text "This is a markup "
//    ├─ Emphasis
//    │  └─ Text "document"
//    └─ Text "."

请参阅 Swift Markdown文档站点,以获取有关该库的更详细信息。

参与其中

提交错误报告

Swift Markdown 使用 GitHub Issues 跟踪所有错误报告。 您可以使用“Swift-Markdown”组件来处理特定于 Swift Markdown 的问题和功能请求。 当您提交错误报告时,我们要求您遵循 Swift Bug Reporting 指南,并提供尽可能多的详细信息。

提交功能请求

对于功能请求,请随时提交 GitHub issue 或在 Swift 论坛 上发起讨论。

如果您发现可以通过改进 Swift Markdown 来更好地满足您的需求,请不要犹豫提交功能请求。

为 Swift Markdown 做出贡献

请参阅贡献指南以获取更多信息。