Markdown 和 Haroopad 介绍文档
要想写一遍自己的博客,一个好的工具往往会带来很多的便利
这里我推荐本人使用的一款工具Markdown编辑器Haroopad
Markdown简介
是一种轻量级标记语言,创始人为约翰·格鲁伯(John Gruber)。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档”。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。 —— 维基百科
可以理解是通过类似html的语法渲染文本的工具。
正如您在阅读的这份文档,它使用简单的符号标识不同的标题,将某些文字标记为粗体或者斜体,跨平台,代码高亮,Vim 键绑定,多列模式,行号,折叠, Github Flavored Markdown 等功能~下面列举了几个高级功能,更多语法可以查看官网或者中文文档。
标题
可以在标题内容前输入特定数量的井号(‘#’)来实现对应级别的HTML样式的标题(HTML提供六级标题)
特殊格式的字体
在需要改变的文字片段前后 使用一对符号可以改变文字为特殊格式:
- 粗体 使用
**文字**
或者__文字__
效果:这里请大家尤其注意! - 斜体 使用
*文字*
或者_文字_
效果:会不调用父类的 析构函数 呢? - 高亮 使用
==文字==
效果:==这里是高亮的重点==,但这里不是。 - 下划线 使用
++文字++
效果:如果此时的++判断结果为真++…… - 删除线 使用
~~文字~~
效果:1.2的版本已经修复这个Bug? - 上角标 使用
^文字^
效果:单位圆的方程式是x^2^+y^2^=1。 - 下角标 使用
~文字~
效果:最常见的氧化反应是C+O~2~=CO~2~
代码块
引用代码块的时候,先空一行,按tab接着就可以编写您需要的代码了
function a(){
return("这是引用代码,亦即使代码块在浏览器显示的时候,区别对待");
}
LaTeX 公式
为了让haroopad支持数学公式首先需要在配置里面开启数学公式支持
点击文件->偏好设置->markdown->将数学表达式全部勾选
可以创建行内公式,例如
$$
\sqrt{3x-1}+{1+x}^2
$$
或者块级公式:
$$
x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a}
$$
表格
Haroopad中绘制表格的语法如下:
效果如下:
姓名 | 性别 | 年龄 |
---|---|---|
张三 | 男 | 20 |
李四 | 女 | 20 |
流程图
Haroopad支持 mermaid 扩展。Mermaid是一套绘图的符号语言扩展,支持绘制各种关系图,序列图
- Haroopad中mermaid绘图以 ~~~mermaid 单独一行开始,以 ~~~ 单独一行结束。
- 其中graph TD指定绘图方向是从上而下
- 改为graph LR则是从左至右
绘制流程图的语法如下:
效果如下:
Mermaid扩展还支持其它绘图方式,以及调整绘图样式,具体见绘图介绍
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 graph TD;
subgraph 子图;
a1[矩形];
a2>旗帜形];
a3(圆角方形);
end;
subgraph 第二个子图;
b1((圆形));
b2{斜方形};
end;
a1-->|实线箭头|a2;
a2-->a1;
a2-.->|虚线箭头|a3;
a3-.->a2;
a3==>|加粗箭头|a1;
a1==>a3;
b1---b2;
b2---|实线无箭头|b1;
a1-->b1;
时序图
~~~mermaid sequenceDiagram Alice->>Bob: Hello Bob, how are you? alt is sick Bob->>Alice: Not so good :( else is well Bob->>Alice: Feeling fresh like a daisy end opt Extra response Bob->>Alice: Thanks for asking end ~~~
复选框(任务清单)
使用 - [ ]
和 - [x]
语法可以创建复选框,实现 todo-list 等功能。
Haroopad扩展支持tasklist,语法如下:
- [x] a
- [ ] b
- [ ] c
- [ ] d
**目前支持尚不完全,在编辑器勾选复选框是无效、不能同步的
###兼容HTML
- 一些 HTML 区块元素――比如
<div>、<table>、<pre>、<p>
等标签,需在标签前后加上空行,且标签本身不能缩进
在HTML里面的Markdown是不被解析的
- 在Markdown里面可以是直接
空格+enter键
换行,也可以是使用<br/>
标签进行换行
使用标签换行的方法是在需要换行的地方键入两个空格,回车之后加上
<br/>
标签即可
语法示例:
效果显示:我要
在第二个字换行
- 区块引用,直接在文本前面增加
>
符号即可(使用不同数量的>
符号可以进行引用的嵌套,并且还支持Markdown语法) - 段落和换行
你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。
链接(行内式和参考式)
行内式语法加效果
This is [an example](http://example.com/ "Title") inline link.
This is an example inline link.
参考式语法加效果This is [an example] [id] reference-style link.
This is [an example][id] reference-style link.强调(在需要强调的文字两边加上
*
或者_
字符)- 反引号
`
起到保护不被解析的作用 图片(行内式和参考式)
![Alt text](/path/to/img.jpg)
![Alt text](/path/to/img.jpg "Optional title")
[id]: url/to/image "Optional title attribute"
自动链接
Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用尖括号包起来, Markdown 就会自动把它转成链接。一般网址的链接文字就和链接地址一样总结
由于其简单易用,Markdown在社区已经越来越流行。甚至有些项目将自动化测试用例都用markdown语法来写,可以直接发布给客户当作说明文档,执行的时候靠一段解释代码将其翻译成目标语言执行,真的做到测试即文档。而Haroopad是一款非常强大的markdown编辑器,它内置的很多mardown扩展都是为了方便程序员,避免了大家到处寻找插件自行配制的繁琐。到目前为止haroopad是我找到的最好用的markdown编辑器,这篇文档就是用haroopad撰写。最后在支持如此多的特性后,haroopad依然非常轻量! 希望Haroopad同样适合你!