Markdown学习笔记

Author Avatar
在路上 1月 10, 2012

Markdown学习笔记

Markdown是什么?

Markdown 可以将纯文本转换为HTML格式,就像我在另一篇文章提到的工具AsciiDoc一样,我们可以用简单的语法标记去创作。

Markdown 本身有两层含义:

>1. Markdown是一种标记语法,就像HTML一样,只不过书写时没有HTML那么麻烦。 >2. Markdown 本身是用Perl编写的一个脚本工具,可以将Markdown文本转换为HTML或XHTML。

Markdown是开源的,遵循BSD-style open source license

工具介绍:

  • 在线尝试 Markdown

  • MaDe编辑器 ,Chrome浏览器的插件,可以编写Markdown, MaDe是一个可视化编辑器,所见即所得,MaDe会自动帮我们把Markdown格式转换为HTML文档。

如何编译Markdown文档:

Markdown.pl脚本加上--html4tags选项即可输出HTML:

% perl Markdown.pl --html4tags foo.text

利用Markdown撰写博客:

下载Wordpress Markdown插件, 将Markdown.php拷贝到WordPress plugins目录下后激活该插件即可。 本篇博客就是用Markdown撰写的, PHP Markdown是Markdown to HTML的PHP实现。

Markdown都给我们提供了哪些标记或者说语法?

段落

只要用一个或多个空行将段落隔开即可;

标题

标题有两种风格:

1
2
3
4
5
6
7
8
9
10
#### Setext风格
这是一个一级标题
=====================
这是一个二级标题
---------------------
#### atx风格
### 这是一个三级标题
N个#号就表示N级标题,如 一级标题还可以这样写:
# 这是一个一级标题

引用

顶行写,使用>符号即表示该行文本为引用文本,如:

1
2
> 这是一行引用文本
> 这是另一行引用文本

强调

使用 星号* 或 下划线_, 一个或_ 将被转换为HTML em, 两个*或__ 将被转为 strong

1
2
*我* 被强调了
__我__被强调了

列表

无序列表

可以使用 星号* 、加号+ 、减号-来标记列表

1
2
3
4
5
6
7
8
9
10
11
12
13
* One
* Two
* Three
+ jQuery
+ Dojo
+ Prototype
- C/C++
- Python
- Lisp
- Ruby
- PHP

有序列表

只需要 使用 序号加上 点. 后跟列表项即可。

1
2
3
4
1. HTML5
2. CSS
3. Javascript

给列表项加上文本

1
2
3
4
5
6
7
- MaDe
Made 是一个离线的浏览器插件应用,可以实时将Markdown文本转换为HTML。
- Vim
只要在列表项之间加上空行即可。

链接

inline风格:

使用方括号将要显示的链接文本括起来,后跟小括号,将链接地址放在小括号里面即可,链接地址不用加引号。

1
2
这是一个[链接](http://sunchunman.sinaapp.com)。

reference风格

我们可以使用名字作为id来定义链接。

1
2
3
这是我的[微薄][1]。
[1]: http://weibo.com/zhangsan "zhangsan的微薄"

1 就是 链接的id,id也可以是字符串,如果id是字符串时,不区分大小写。 "孙春满的微薄" 是链接的title,可以省略。

图片

inline风格

1
![alt text](/pah/to/img.jpg "title")

"title" 是 图片的title。

reference 风格

1
2
3
![alt text][id]
[id]: /path/to/img.jpg "title"

我们可以发现,插入图片和链接语法非常相像。

代码

code span

如果遇到特殊符号,如实体, < 和 > ,我们可以用反引号`将

我强烈建议不要使用``标签。

code block

代码块的插入更简单,只需要顶行书写四个空格或一个tab,然后后跟代码即可。

1
2
3
4
5
6
7
8
[c]
#include <stdio.h>
int main()
{
printf("Hello Markdown");
return 0;
}
[/c]

附录

  • http://www.docbook.org/
  • http://daringfireball.net/projects/markdown/
  • http://github.github.com/github-flavored-markdown/
  • http://docutils.sourceforge.net/rst.html
  • http://redcloth.org/textile
  • http://rdoc.sourceforge.net/doc/
  • http://perldoc.perl.org/perlpod.html
  • http://orgmode.org/org.html
  • http://www.mediawiki.org/wiki/Help:Formatting
  • http://www.wikicreole.org/
  • http://www.methods.co.nz/asciidoc
  • https://github.com/mojombo/god/commit/cea00609ca8441c82bc9760ae5eea7d7509d85b3
  • https://github.com/mojombo/god/issues/1
  • WorldHello

参考:

本篇博客原来采用 Markdown 撰写, 使用WordPress PHP Markdown插件展示,现在使用hexo

2017-08-27发现,有些用法和现在通常用的不太一致。 如code block

2017-08-27 整理