Markdown语法与常用工具

Markdown 是一种用来写作的轻量级标记语言,正被越来越多的写作爱好者、撰稿者广泛使用,markdown语法十分简单只有少量的几个标记符号,相对于复杂的HTML标记语言来说,Markdown就十分轻量级,学习成本比较低。

语法

标题

通过[#...#] title来表示一个标题,例如:

1
2
3
4
5
# 一级标题 相对于H1
## 二级标题 相当于H2
### 三级标题 相当于H3
...... 共有6级标题可以使用

块注释(Blockquote)

通过> content来表示一个块注释,块注释可以嵌套,通过多个>连写表示,如:

1
2
3
4
5
> PHP是世界上最好的语言。
> 没有之一!
>> Java表示不服!
>>> 我只知道C!
>>>> 汇编笑看一切!(..)

上面代码经过渲染看起来会是这样

PHP是世界上最好的语言。
没有之一!

Java表示不服!

我只知道C!

汇编笑看一切!(..)

无/有序列表

无序列表通过* content+ content- content来表示一行无序列表,有序列表通过数字加点号来表示,一个文档中最好只使用一种格式(注意* - +后面要跟一个空格),例如:

1
2
3
4
5
6
7
- C++
- Python
- Java
1. Node.js
2. Golang
3. Rust

上面的代码渲染后看起来会是这个样子

  • C++
  • Python
  • Java
  1. Node.js
  2. Golang
  3. Rust

链接

有两种链接方式分别为内联和引用方式

  • 内联: [link describe](link address)
  • 引用: [link describe][link number]

例如:

1
2
3
4
5
6
I get a help with [this](https://zjwdmlmx.github.io) page
The search engine like [Google][1] [Yahoo][2]
[1]: https://google.com/
[2]: https://search.yahoo.com/

上面的代码看起来会是这个样子

I get a help with this page

The search engine like Google and Yahoo

图片

图片和连接非常类似,也分为两种:内联和引用方式

  • 内联:![alt text](/path/to/image.jpg “Title”)
  • 引用:![alt text][id]

例如:

1
2
3
4
5
My logo is : ![my logo](/images/psb.png "logo")
My logo is : ![my logo][1]
[1]: /images/psb.png "logo"

上面的代码看起来会是这个样子:

My logo is : my logo

My logo is : my logo

代码

代码就是由<code> 或者<pre><code>共同包裹的区块,在markdown中有几种实现方式

  • 由`包裹的文字
  • 由4各空格或一个tab,后面跟code内容
  • 由```包裹的文字,注意需要```单独占一行,而且可以通过在第一个```后面添加编程语言类型说明(这个Markdown官方文档么有说明,属于扩展的,有可能不支持)

例如:

1
2
3
4
5
6
7
8
9
10
11
`int Value = 32u;`
```C
int main() {
}
` ``
int main() {
auto s = 1;
}

上面的代码看起来会是这个样子:

int Value = 32u;

1
2
3
int main() {
}
int main() {
    auto s = 1;
}

字体样式

  • 下划线,markdown没有下划线原生支持,需要通过html实现<u>underline</u>
  • 斜体需要在文字前后添加*或者_
  • 粗体需要在文字前后添加**或者__
  • 粗斜体需要在文字前后添加***或者___

例如:

1
2
3
4
5
6
7
8
*Markdown*
**Markdown**
***Markdown***
_Markdown_
__Markdown__
___Markdown___
<u>Markdown</u>

Markdown
Markdown
Markdown
Markdown
Markdown
Markdown

Markdown

特殊符号

通过\特殊符号添加或者直接包好在code中,如:\< `< `

上面这些是基本常用的还有没介绍到的可以看Markdown官方文档
http://daringfireball.net/projects/markdown/syntax

工具

Pandoc

笔者个人是喜欢使用Pandoc的,当然对于初级使用者,还是应该使用一些Markdown的编辑器,Pandoc具体安装方法见Pandoc官方网站http://www.pandoc.org,Pandoc可以在Mac OS X、Linux、Windows、BSD上运行,Pandoc不仅可以处理Markdown文档,多种格式的文档Pandoc都能支持。
示例:

1
2
3
4
5
6
7
8
# for pdf output
pandoc -f markdown -t latex -o abc.pdf abc.md
# for pdf output with special css
pandoc -c mystyle.css -f markdown -t latex -o abc.pdf abc.md
# or for MS docx output
pandoc -c github.css -f markdown -t docx -o abc.docx abc.md
# to epub output
pandoc -c abc.css -f markdown -t epub -o abc.epub abc.md

至于Markdown主题读者可以自己写css也可以去github上搜索

MacDown

图形化得编辑器,一直在使用MacDown觉得还不错,免费开源,运行在Mac OS X上

其他

其他的笔者也没有尝试过,可以看看这个网站http://sspai.com/27792[可能会失效哦!]