Markdown使用

Markdown 和 Haroopad 介绍文档


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同样适合你!