惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V2EX - 技术
V2EX - 技术
L
LangChain Blog
IT之家
IT之家
S
SegmentFault 最新的问题
博客园 - 三生石上(FineUI控件)
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
The Blog of Author Tim Ferriss
Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
U
Unit 42
B
Blog RSS Feed
GbyAI
GbyAI
Microsoft Security Blog
Microsoft Security Blog
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
T
Threatpost
C
CERT Recently Published Vulnerability Notes
Cisco Talos Blog
Cisco Talos Blog
The Register - Security
The Register - Security
Vercel News
Vercel News
S
Schneier on Security
Spread Privacy
Spread Privacy
C
Cyber Attacks, Cyber Crime and Cyber Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
博客园 - 叶小钗
雷峰网
雷峰网
博客园_首页
人人都是产品经理
人人都是产品经理
P
Palo Alto Networks Blog
The Hacker News
The Hacker News
T
Tor Project blog
L
Lohrmann on Cybersecurity
Know Your Adversary
Know Your Adversary
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Cybersecurity and Infrastructure Security Agency CISA
P
Privacy International News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tenable Blog
V
Vulnerabilities – Threatpost
大猫的无限游戏
大猫的无限游戏
博客园 - 【当耐特】
V
V2EX
Security Latest
Security Latest
A
About on SuperTechFans
Cloudbric
Cloudbric
S
Security Affairs
MongoDB | Blog
MongoDB | Blog
Y
Y Combinator Blog
Martin Fowler
Martin Fowler
TaoSecurity Blog
TaoSecurity Blog

iCode

春节到了,送一波 Moon FM 兑换码 - V2EX 马上 2020 了,送一波 zClock 兑换码. - V2EX 为了收集和整理编程的常用单词,我写了个背单词应用 - V2EX 推荐一个使用的工具集合 MDTools - V2EX MAC 应用延时录屏 timelapseZ 送 20 个注册码 - V2EX Code Review 代码审阅初窥门径 - V2EX 2017 Apple 设计大奖得主 Lake 涂色兑换码 - V2EX 「艾宾浩斯计划表」¥6 免费放送 50 枚促销代码 - V2EX 视觉图表 for iOS ¥68 分享 50 个促销代码 - V2EX 送 Instastack, OneRadio ,HaloRadio for Windows 等兑换码。 - V2EX 花钱请 ios 码农将几个开源功能组合实现。 - V2EX 问一道 code 题 - V2EX 刚把邮件发送换成 mailgun 了,想测一下激活码邮件的发送情况,发一大波 HaloRadio , PhotoStack(Instastack) ,ONERadio 免费兑换码啦 - V2EX 二维码扫描器 For Mac - V2EX 在这里再发 50 个兑换码吧 - V2EX 发码了 PhotoStack (Instastack) for Instagram 和 HaloRadio 各 10 个 - V2EX 发一些 MWeb for iOS ( Markdown 编辑器)内购兑换码,共 20 枚,分三次发(主要是分享到 ProductHunt 后没什么人投票,来求一下票票) - V2EX 发 10 个 Instastack for Instagram 兑换码。 - V2EX Halo for Radio 上 Windows Store 啦。发 Promotional code. - V2EX 赠送些 VeXplore 兑换码以及开源计划 - V2EX 上次没抢到的同学,新的一波 Instastack 兑换码来了 - V2EX QPai :一个扫描、展示并记录二维码、条形码及其所表示内容的小工具,附 20 枚兑换码 - V2EX 奉上 Instastack for Instagram Mac App Store 兑换码 若干个 - V2EX 第一个 Mac App,关于货币汇率,请大家多提意见,谢谢(附送几个兑换码,先到先得) - V2EX iOS 创意应用“分形的奥秘:朱利亚集合” Beta 公开测试邀请 - V2EX 发一批 ONERadio 兑换码 - V2EX 做了个囚徒健身的 APP,来发下促销码, - V2EX 放十个码, iOS 通知中心直接翻译剪切版文本 - V2EX iOS 付费软件 分发兑换码求各位拍砖! - V2EX 有谁知道 iTunes Window 插件是什么鬼吗,刚好有这个需求。 - V2EX 使用机器学习算法如何预测某女孩成为女朋友的概率? - V2EX MWeb 新版发布,发 10 个兑换码。MWeb 是 OS X 下的 Markdown 编辑器和全静态网站、博客生成工具 - V2EX MWeb 新版通过审核了,所以我又来发 Promo Code 了 -- MWeb 是一个 Markdown 编辑器和生成全静态博客的 Mac APP - V2EX 自己移植的 iPerf iOS 版本已在 AppStore 上架,发放 10 枚兑换码 - V2EX 花几个月做了一个 Markdown 编辑器和生成全静态博客的 Mac APP,发些 Promo Code - V2EX Go 轻松学 兑换码 倾情分享 请标注使用了的。 - V2EX 记录事件次数的 App countability 兑换码 - V2EX 新游戏上线,赠送兑换码 - V2EX 分享「国际音标」的 Promo Code - V2EX 赠送 10 枚 Notie 邀请码 - V2EX 储蓄计划追踪App DropCoin发码 - V2EX 赠送一些 Paster for Mac 邀请码 - V2EX 原创APP分享 送上15个邀请码 - V2EX 分享LunarCal的Promo Code - V2EX 预产期日历 - V2EX Google Objective-C Style Guide - V2EX MarkNote 1.0.0 - V2EX
封装了一个 Markdown 库 - EFMarkdown,求资瓷...QWQ - V2EX
EyreFree · 2017-08-25 · via iCode

CI Status Version License Platform

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

English Introduction

预览

示例

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

或执行以下命令:

git clone [email protected]: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, [email protected]

协议

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