Swift Markdown

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

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

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

开始使用 Markup

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

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

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

.target(
    name: "MyTarget", 
    dependencies: [
        .product(name: "Markdown", package: "swift-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 做贡献

有关更多信息,请参阅贡献指南

提交错误报告

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

提交功能请求

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

如果您看到可以改进 Swift Markdown 以更好地满足您需求的方法,请不要犹豫提交功能请求。