登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

EFMarkdown - 一个轻量级的 Markdown 库

[复制链接]
来自: RoastDesk 分类: iOS精品源码 上传时间: 2017-8-27 11:24:10
Tag:

项目介绍:

作为一个开发人员,日常经常会需要编写各种各样的文档/材料之类的,个人非常喜欢用 Markdown 来完成这些工作,Markdown 的优点就不再赘述了,大家应该都有过了解,不过目前 iOS 原生并没有提供任何对 Markdown 的支持。所以最近基于 cmark-gfm 把 Markdown 转 HTML 的功能封装了一遍,并且在原有基础上添加了对列表 table 的支持,同时利用 WKWebView 做了一个可直接展示 Markdown 的 View,方便以后使用,现已开源到 GitHub 基于 WTFPL 协议进行分发,需要的同学可以自取。

项目地址:https://github.com/EyreFree/EFMarkdown


EFMarkdown - 一个轻量级的 Markdown 库,可以用来将 Markdown 转为 HTML,也可以用来直接展示 Markdown 对其进行预览。

English Introduction

预览

sample1sample2sample3sample4

示例

  1. 利用 git clone 命令下载本仓库;

  2. 利用 cd 命令切换到 Example 目录下,执行 pod install 命令;

  3. 随后打开 EFMarkdown.xcworkspace 编译即可。

或执行以下命令:

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 字符串地转换,示例代码如下:

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.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 协议进行分发和使用,更多信息参见协议文件。

相关源码推荐:

我来说两句
*滑动验证:
所有评论(5)
BlueManlove 2017-8-28 14:46:57
code4app好的代码demo真的很多,谢谢啦~
回复
kengsir 2017-8-28 14:47:44
mark,收藏了
回复
phoiu 2017-8-28 14:50:16
感谢分享,code4app有你更精彩
回复
hellokenken 2017-8-28 14:50:57
写的真的很不错
回复
littleRed 2017-8-28 14:51:20
写的真的很不错
回复
AlonMessi 2017-8-28 14:51:34
感谢分享,code4app有你更精彩
回复
code4app热心网友 2017-8-29 07:36:28
虽不明,但觉厉!
回复
code4app热心网友 2017-8-30 06:39:47
楼主用心了,内容非常精彩。
回复
code4app热心网友 2017-9-4 10:07:43
正需要啊,感谢楼主无私分享!
回复
提取码:  下载次数:3 状态:已购或VIP 售价:0(原价:10)金钱 下载权限:初级码农 
310 0 3
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542

如何获得代码达人称号?

代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表