Markdown之haroopad语法
经常写技术文档,需要将文档像代码一样管理,例如可以提交SVN或者GIT,可以比对历史差异。用WORD之类的工具,文档不是纯文本,没法满足需求。用简单文本没有格式不美观。Latex最强大,但是对于一般文档撰写又太重量,配置一个好的模板太费神,而且标记有些复杂不好记。
如果你也有上述困苦,那么可以尝试一下Markdown! Markdown是一种可以使用普通文本编辑器编写的标记语言,类似HTML,不过比HTML简单很多! 用markdown撰写的文章可以直接转成HTML格式进行显示。 目前主流的博客系统都直接支持markdown,开源代码托管网站GitHub中readme文档撰写默认是markdown格式。 Mardown语法非常简单, 基本十分钟可以全部学会!
为了让markdown支持更丰富的元素,不同组织和个人还开发了许多markdown扩展,例如可以支持表格、编程语言代码块、数学公式等等。
虽然markdown可以用任何文本编辑器进行撰写,但是使用专门的markdown编辑器,可以做到一边编写一边实时显示渲染效果。网上免费的markdown编辑器非常多,这里给大家介绍一款个人觉得最好用的markdown编辑器Haroopad! 它是开源、免费、跨平台的,支持windows,linux和mac系统。Haroopad已经内置了各种markdown扩展,支持100多种编程语言代码的直接显示,例如C/C++, JAVA, C#, Ruby, Python, Erlang, Makefile等等,甚至代码显示的背景框都有很多主题可以选择。另外它支持撰写数学公式,支持一套文本绘图DSL,支持自动生成文档目录等等。Haroopad支持直接将文档发布成PDF格式。最后Haroopad支持用户自定义显示样式。 由于Haroopad是韩国人写的,所以用户手册里面很多都是韩语,所以这里将Haroopad的一些用法给大家介绍一下!
Basic usage
Haroopad使用非常简单,左边是编辑区,右边是预览区。支持实时预览。
![](http://upload-images.jianshu.io/upload_images/2254808-279d604dee8b2448.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Haroopad支持所有的markdown标准语法。Markdown基本语法见http://www.appinn.com/markdown/,基本上十分钟之内可以全部学会。
写好的markdown文稿保存成*.md
文件。md文件是纯文本格式,可以用记事本打开直接阅读修改。在Haroopad下,可以将md文稿发布成带样式的html文件或者pdf文件。
发布成HTML格式: 文件 -> 导出到 -> HTML
发布成PDF格式: 文件 -> 打印 -> 打印到文件
![](http://upload-images.jianshu.io/upload_images/2254808-4e57dbc8eabafe70.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Code Block
对于程序员来说,最需要的就是对于Code Block的强大支持! Haroopad支持100多种编程语言!每种语言的代码会按照语言风格进行编排缩进,以及语法高亮。
Code Block需要以~~~
加上编程语言标识符的单独一行开始,以~~~
单独一行结束。
例如对于一段C++的Code Block。
![](http://upload-images.jianshu.io/upload_images/2254808-8c3bb38f40b3f2df.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
显示结果如下:
![](http://upload-images.jianshu.io/upload_images/2254808-a99754a070c30485.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
代码块的背景框风格在Haroopad中可以配置:
文件 -> 偏好设置 -> Code -> 主题
![]()
Haroopad支持非常多的代码框风格,例如上面C++中的例子中配置的是sublime的风格。
Image
在Haroopad中插入图片非常方便,如下:
![](http://upload-images.jianshu.io/upload_images/2254808-1b48e01d55b7828e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
小括号内分别是图片的url(可以是网络地址)、title以及图片的显示大小(单位px)。
Table
Haroopad中绘制表格的语法如下:
![](http://upload-images.jianshu.io/upload_images/2254808-36fca24d20bc4ac8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
显示效果如下:
![](http://upload-images.jianshu.io/upload_images/2254808-7af2a67f1d8ca4d8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Tasklist
Haroopad扩展支持tasklist,语法如下:
![](http://upload-images.jianshu.io/upload_images/2254808-92c38fc4bf4f8526.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
显示效果如下:
![](http://upload-images.jianshu.io/upload_images/2254808-bfce64d158fb7090.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Math
Haroopad借助Mathjax扩展来支持对数学公式的显示。
为了让haroopad支持数学公式首先需要在配置里面开启数学公式支持:
文件 -> 偏好设置 -> Markdown -> 启用数学表达式
![]()
md文档中数学公式框需要以单独$$
一行开始,并以$$
一行结束,中间是符合Mathjax要求的数学公式:
![](http://upload-images.jianshu.io/upload_images/2254808-65226a097980abe6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
显示效果:
![](http://upload-images.jianshu.io/upload_images/2254808-6f8f9f2620c5770e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Diagram
Haroopad支持mermaid扩展。Mermaid是一套绘图的符号语言扩展,支持绘制各种关系图,序列图。
Haroopad中mermaid绘图以~~~mermaid
单独一行开始,以~~~
单独一行结束。
![](http://upload-images.jianshu.io/upload_images/2254808-06bcdcc2f2bb188f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
显示效果如下:
![](http://upload-images.jianshu.io/upload_images/2254808-681d9e6bc3e313df.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
其中graph TD
指定绘图方向是从上而下,改为graph LR
则是从左至右。
其它例子:
![](http://upload-images.jianshu.io/upload_images/2254808-7035cfca2c9cfbef.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Mermaid扩展还支持其它绘图方式,以及调整绘图样式,具体见mermail介绍https://github.com/knsv/mermaid/wiki
![](http://upload-images.jianshu.io/upload_images/2254808-6918df6afb458caf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](http://upload-images.jianshu.io/upload_images/2254808-556aae43154e7da6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Presentation mode
Haroopad支持直接撰写PPT。在撰写文档的时候以***
做分页,在presentation mode下就会是独立的一页PPT。
要将文档以PPT模式显示,需要开启presentation mode:
视图 -> Presentation Mode
![](http://upload-images.jianshu.io/upload_images/2254808-b97a39abdf09d996.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
具体参见Haroopad关于Presentation Mode的说明: http://pad.haroopress.com/page.html?f=how-to-write-presentation
Other features
Haroopad支持对markdown语法的快捷键和自动补全。需要的话可以在偏好设置里面进行设置。
Haroopad支持自动插入目录。具体在需要插入目录的地方插入空行和
[toc]
就搞定一切了。Haroopad支持丰富的媒体插入。例如音频和视频。
Haroopad支持自定义编辑区和预览发布的样式,具体在
文件 -> 偏好设置 -> 编辑器 ->自定义主题 -> 编辑
文件 -> 偏好设置 -> 预览 ->自定义主题 -> 编辑在弹出的目录里面有css文件,修改该css文件用来改变样式。每次修改css后需要重启haroopad。
Extra
将md文件发布成pdf后,会发现Code Block背景框的风格变化了。该问题的解决需要配置haroopad的预览样式css文件,设置严格按照颜色样式打印就好了。如下:
![](http://upload-images.jianshu.io/upload_images/2254808-4a47c20a828c951c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Summary
由于其简单易用,Markdown在社区已经越来越流行。甚至有些项目将自动化测试用例都用markdown语法来写,可以直接发布给客户当作说明文档,执行的时候靠一段解释代码将其翻译成目标语言执行,真的做到测试即文档。而Haroopad是一款非常强大的markdown编辑器,它内置的很多mardown扩展都是为了方便程序员,避免了大家到处寻找插件自行配制的繁琐。到目前为止haroopad是我找到的最好用的markdown编辑器,这篇文档就是用haroopad撰写。最后在支持如此多的特性后,haroopad依然非常轻量! 希望Haroopad同样适合你!
Markdown之haroopad语法相关推荐
- [转]最好用的离线markdown编辑器Haroopad介绍
最好用的离线markdown编辑器Haroopad介绍 作者 MagicBowen 关注 2016.06.13 20:00 字数 1699 阅读 2431 评论 5 喜欢 16 经常写技术文档,需要将 ...
- haroopad 语法高亮问题
<!DOCTYPE html> Untitled.html haroopad 语法高亮问题 昨天下载了haroopad,总体感觉还是很好的!但是从昨天开始就一直有个问题,就是代码高亮的问题 ...
- Markdown的基本语法
Markdown 是什么? Markdown 是一种轻量级标记语言,创始人为约翰·格鲁伯(John Gruber).它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者 HT ...
- Linux系统里让vim支持markdown格式的语法高亮
Markdown是深受程序员喜爱的一个文件格式. 然而Linux里默认的vim设置,并不支持markdown格式的语法高亮显示. 下面就来介绍如何设置使得markdown格式的文件在vim里也能享有语 ...
- markdown编辑器基础语法总结
这里写自定义目录标题 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一 ...
- Cmd Markdown编辑器简明语法手册
目录 1. 斜体和粗体 2. 分级标题 3. 外链接 4. 无序列表 5. 有序列表 6. 文字引用 7. 行内代码块 8. 代码块 9. 插入图像 Cmd Markdown 高阶语法手册 1. 内容 ...
- a pycharm 标记多个_轻松学透Markdown的终极教程 #3:Markdown标准标记语法(全)
轻松学透Markdown的终极教程 #3: Markdown标准标记语法(全) 掌握并熟记一些常用的Markdown的标记语法,简单.有趣.实用 其实如果大家选择了一款Markdown编辑器上手的话, ...
- Markdown教程常用语法随笔
文章目录 一.概述 1.简介 2.优点 3.不足 二.基础语法 1.标题 1.1 SeText 风格 1.2 Atx 风格 2.段落 2.1 分段 2.2 换行 2.3 缩进 2.4 字体 2.5 分 ...
- MarkDown高阶语法手册
原文链接 1. 内容目录 在段落中填写 [TOC] 以显示全文内容的目录结构. 文章目录 1. 内容目录 2. 标签分类 3. 删除线 4. 注脚 5. LaTeX 公式 6. 加强的代码块 7. 流 ...
最新文章
- 又双叒叕出事?微信 PC 版被曝扫描用户浏览器 cookies
- HDU - 1051 Wooden Sticks
- 查找 framework 文件中是否包含 WKWebView
- 更改已经收货的采购订单价格
- smooth_L1_loss_layer.cpp:28] Check failed: bottom[0]-channels() == bottom[1]-channels() (12 vs. 84
- Print! Print! Print!
- 【C++】For循环同时初始化两个变量
- java mysql 动态sql_Java下拼接运行动态SQL语句
- android下载图片服务,Android中的背景图片下载需要帮助吗?
- hdu 1027 输出第m个全排列(next_permutation)
- java引用复制_Java中引用的浅复制和深复制
- Linux学习——Makefile
- PTA程序设计类实验辅助教学平台-基础编程题--JAVA--7.2 然后是几点
- 电脑常见问题:能打开QQ但不能打开网页(DNS问题)
- 目标检测 | 盘点提升小目标检测的思路
- 校园英语杂志校园英语杂志社校园英语编辑部2022年第15期目录
- Wireshark之流量包分析+日志分析 (护网:蓝队)web安全 取证 分析黑客攻击流程(下篇)
- 快捷指令通知运行html,快捷指令怎样运行这段,一个书签
- Retrofit 使用详解
- 玛里苟斯[清华集训2014 Day1]