• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

EFMarkdown: EFMarkdown 是一个轻量级的 Markdown 库,可以用来将 Markdown 转为 HTML ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

EFMarkdown

开源软件地址:

https://gitee.com/eyrefree/EFMarkdown

开源软件介绍:

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

English Introduction

预览

sample1|sample2|sample3|sample4
:---------------------:|:---------------------:|:---------------------:|:----------------README.md-----:|||

示例

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

或执行以下命令:

git clone [email protected]:EFPrefix/EFMarkdown.git; cd EFMarkdown/Example; pod install; open EFMarkdown.xcworkspace

环境

VersionNeeds
0.xXCode 8.0+
Swift 3.0+
iOS 8.0+
4.xXCode 9.0+
Swift 4.0+
iOS 8.0+

安装

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

pod "EFMarkdown"

使用

1. 将 Markdown 转为 HTML

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

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 字符串的预览,示例代码如下:

let screenSize = UIScreen.main.boundslet markView = EFMarkdownView()markView.frame = CGRect(x: 0, y: 20, width: screenSize.width, height: screenSize.height - 20)markView.onRendered = {    [weak self] (height) in    if let _ = self {        // 可选:实现这个闭包可以感知高度变化        print("onRendered height: \(height ?? 0)")    }}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, [email protected]

协议

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap