封装了一个 Markdown 库 - EFMarkdown,求资瓷...QWQ

开源项目EyreFree • 于 2017-08-25 16:37:37 +0800 • 341 阅读

CI Status Version License Platform

一个轻量级的 Markdown 库,可以用来将 Markdown 转为 HTML,也可以用来直接展示 Markdown 对其进行预览,基于 EFCMark,受 markdownMarkoff 启发。

English Introduction

预览

sample1 sample2 sample3 sample4

示例

  1. 利用 git clone 命令下载本仓库;
  2. 利用 cd 命令切换到 Example 目录下,执行 pod install 命令;
  3. 随后打开 EFMarkdown.xcworkspace 编译即可。

或执行以下命令:

bash git clone git@github.com:EyreFree/EFMarkdown.git; cd EFMarkdown/Example; pod install; open EFMarkdown.xcworkspace

环境

  • XCode 8.0+
  • Swift 3.0+

安装

EFMarkdown 可以通过 CocoaPods 进行获取。只需要在你的 Podfile 中添加如下代码就能实现引入:

pod "EFMarkdown"

使用

1. 将 Markdown 转为 HTML

你可以利用 EFMarkdown 轻松实现 Markdown 字符串到 HTML 字符串地转换,示例代码如下:

swift let markdown = "# Hello" var html = "" do { html = try EFMarkdown().markdownToHTML(markdown, options: EFMarkdownOptions.safe) print(html) // 这里会输出 "<h1>Hello</h1>\n" } catch let error as NSError { print ("Error: \(error.domain)") }

2. 对 Markdown 进行预览

你可以利用 EFMarkdownView 实现对 Markdown 字符串的预览,示例代码如下:

swift let screenSize = UIScreen.main.bounds let markView = EFMarkdownView() markView.frame = CGRect(x: 0, y: 20, width: screenSize.width, height: screenSize.height - 20) self.view.addSubview(markView) markView.load(markdown: testMarkdownFileContent(), options: [.default]) { [weak self] (_, _) in if let _ = self { // 可选:你可以通过在此处传入一个百分比来改变字体大小 markView.setFontSize(percent: 128) printLog("load finish!") } }

3. 选项

你可以通过传入不同的选项来控制底层 cmark 对 Markdown 字符串的处理,默认传入的值为 safe

可选的值有以下这些:

  • default
  • sourcePos
  • hardBreaks
  • safe
  • noBreaks
  • validateUTF8
  • smart
  • githubPreLang
  • liberalHtmlTag

更多关于这些选项的信息,可以参考 cmark

作者

EyreFree, eyrefree@eyrefree.org

协议

EFMarkdown 基于 WTFPL 协议进行分发和使用,更多信息参见协议文件。

回复: 0
暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,见 Emoji cheat sheet
  • @name 会链接到用户页面,并会通知他
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
Ctrl+Enter