iOS Markdown 处理和展示

原创 2017年08月26日 09:45:40

封装了一个 Markdown 库 - EFMarkdown,需要的同学可以自取,好用的话望给个 Star,地址为: https://github.com/EyreFree/EFMarkdown

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

English Introduction

预览

sample1 sample2 sample3 sample4

示例

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

相关文章推荐

iOS 版 MWeb 简介— Markdown 编辑利器

原文地址:http://zh.mweb.im/introducing-mweb-for-ios.html MWeb 首先是一个 Markdown 编辑器,所使用的 Markdown 语法为 G...

Markdown语法效果展示

Markdown语法(大标题) 注意啦 “[TOC]”标记会展示全局目录,这是非常有用的,赶紧用上吧; 这里面包含了很多标记写法; 收藏下,写熟练了,就不用参考了; 掌握标题,图片展示,文本超链接,图...

MarkDown图片大小处理

文章链接: http://blog.csdn.net/yhl_leo/article/details/50099843  MarkDown里显示图片的方式可以引入HTML方法: ...
  • yeizisn
  • yeizisn
  • 2016年11月01日 10:03
  • 225

iOS 关于展示PDF文件处理

展示PDF文件有两方式 1.用WebView展示   这种方法没什么好说的,除了样式不好看,就是简单 NSString *path = [[NSBundle mainBundle] pathForRe...

iOS开发-应用角标展示逻辑处理

关于应用角标的设置,大家一定都不陌生,角标,就是系统用来提醒用户来打开app的一种提示。操作方式也很简单,只要对application对象的applicationIconBadgeNumber属性进行...

markdown的使用技巧

  • 2017年11月19日 21:39
  • 2KB
  • 下载

ArcGIS Runtime SDK for iOS(一) – 实现地图的不同点的callout展示

主要通过对ArcGIS Runtime SDK的学习,了解AGSGraphic与AGSFeature的区别,并在地图中画线并渲染。...

自动生成markdown文档侧边栏目录

  • 2017年11月07日 17:01
  • 412KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS Markdown 处理和展示
举报原因:
原因补充:

(最多只允许输入30个字)