标记 2.2

标记 2.2

Guille Gonzalez 维护。




标记 2.2

Markup

CocoaPods Carthage Compatible Platforms

Markup 通过熟悉的标记语法生成富文本字符串

  • 要强调单词或句子,您可以将文本包裹在 *星号* 中以创建加粗文本,或者用 _下划线_ 来创建斜体文本。
  • 要显示文本中的更正,可以将文本包裹在 ~波浪线~ 中来删除文本。
  • 您可以将格式选项组合在一起。

例如,以下文本

The *quick*, ~red~ brown fox jumps over a _*lazy dog*_.

将被格式化为

The quick, red brown fox jumps over a lazy dog.

只是作为一个想法,以下是一个展示标记文本和生成结果字符串的示例应用程序的截图

Screenshot

示例

渲染富文本字符串

您可以使用 MarkupRenderer 从提供的标记文本生成富文本字符串

import Markup

let renderer = MarkupRenderer(baseFont: .systemFont(ofSize: 16))
let attributedText = renderer.render(text: "The *quick*, ~red~ brown fox jumps over a _*lazy dog*_.")

访问标记语法树

使用 MarkupParser 为标记文本生成抽象语法树

let nodes = MarkupParser.parse(text: "The *quick*, ~red~ brown fox jumps over a _*lazy dog*_")
dump(nodes)

// Outputs:
[
  .text("The "),
  .strong([
    .text("quick")
  ]),
  .text(", "),
  .delete([
    .text("red")
  ]),
  .text(" brown fox jumps over a "),
  .emphasis([
    .strong([
       .text("lazy dog")
    ])
  ])
]

性能

解析和渲染都将花费线性时间。

这篇文章解释了 Markup 如何内部工作的,如果您对这个实现感到好奇。

安装

使用 CocoaPods

pod Markup 添加到您的 Podfile

使用 Carthage

git "gonzalezreal/Markup" 添加到您的 Cartfile

使用Swift包管理器

将以下代码添加到您的Package.swift文件中:

Swift兼容性

  • 版本2.1支持Swift 4.2
  • 版本2.0支持Swift 4

帮助 & 反馈