用Markdown进行写作

什么是Markdown呢?简单来说,Markdown就是赋予了普通文本文件格式化的功能,同时又保持了文本文件的简洁。Markdown简单易用,既解决了我需要一款轻量级编辑器的需求,又解决了文章排版的问题。可以说是一个完美的解决方案。

Markdown的解决方案很多,在线的话可以使用;Mac OS上的话,Mou几乎是不二之选;Windows上则可以使用MarkdownPad。

虽然已经有很多关于Markdown语法的总结,我还是要写一份自己的版本。因为以后写作不仅是在网站上,还包括Mou等。而各家的Markdown语法大体上一致,但还是有一些小小的区别。因此本文也会随时更新。

闲话不多说,言归正传。通常来说,我编辑一份文档,需要用的格式大致有如下几种:

  • 分级的标题
  • 列表项
    • 有序列表
    • 无序列表
    • 列表的嵌套
  • 用黑体、斜体来表示强调
  • 超链接
  • 插入图片
  • 程序源代码的展示
  • 引用

OK,有了以上的这些格式,那么完全可以写出一份排版非常漂亮的文章了。而这些格式在Markdown中,都可以轻易的实现。下面分别用具体例子的来说明。

分级标题

Markdown中标题一共分为6级

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

显示效果如下:

一级标题

二级标题

三级标题

四级标题

五级标题
六级标题

注:Markdown的语法其实跟HTML是兼容的,所以文字的分段是通过空白行来实现的;所以,仅仅是一个换行符有时并不能实现文字的分段。同时,多个空白行也只会被当做一个来处理。

分级标题还有一个方式,但是只能实现两种级别的标题格式:

一级标题
=======(只需一个=就可以显示出效果,为了美观,可以让=的长度跟标题一样长)
二级标题
-------

显示效果如下:

一级标题

二级标题


列表项

列表项的实现非常简单。无序列表可以使用*、-或+开头,然后空一格开始写列表项的标题即可。如果需要嵌套,使用tab键即可。如下所示:

* 中国
    * 北京
    * 深圳
    * 成都
* 美国
    - 纽约
    - 费城
* 法国
    + 巴黎
    + 马赛 
* 英国

显示效果如下:

  • 中国
    • 北京
    • 深圳
    • 成都
  • 美国
    • 纽约
    • 费城
  • 法国
    • 巴黎
    • 马赛
  • 英国

如果需要有序列表的话,那么使用数字+小数点+空格+列表项即可。如下所示:

1. 冠军
2. 亚军
1. 季军 (注:数字可以不连续,但是显示出来的列表项编号是连续的)
4. 殿军

效果如下:

  1. 冠军
  2. 亚军
  3. 季军
  4. 殿军

不过有序列表好像无法指定起始编号,不过这一点无伤大雅。


强调

在文章中,一般通过文字的黑体、斜体效果来表示强调。实现如下:

**黑体** __黑体__
*斜体*   _斜体_
~~删除~~

显示效果如下:

黑体 黑体

斜体 斜体

删除


超链接

格式:

[蜗牛独独](http://weibo.com/snaillonely)

显示效果:

蜗牛独独 <-- HIT ME

因为Markdown于HTML是兼容的,所以电子邮件可以用这种格式:

[给我写信](mailto:[email protected])

显示效果:

给我写信 <-- HIT ME

它的显示跟一般的url没有区别,不过你可以点击一下试试。


图片

格式:

![Mou](http://25.io/mou/Mou_128.png)

显示效果:

用Markdown进行写作_第1张图片
Mou

图片和超链接的唯一区别就是一开始那个感叹号。


源代码

作为一个程序猿,在写一些技术文档的时候,常常苦于无法排版出一份漂亮的代码。在Markdown下,事情就变得很简单了。在Mou下,仅仅是使用个Tab键,就可以编辑代码;而在下,貌似不支持Tab键,不过可以使用4个空格代替(每次换行都要输入若干个空格,真心不方便)。

格式

    #include 
    using namespace std;
    
    int main()
    {
        cout << "Hello world" << endl;
        
        return 0;
    }

显示效果:

#include 
using namespace std;

int main()
{
    cout << "Hello world" << endl;
    
    return 0;
}

另一个代码格式就更简单了,格式如下:

```
#include 
int main()
{
    printf("Hello world\n");
    
    return 0;
}
```

显示效果:

#include 
int main()
{
    printf("Hello world\n");
    
    return 0;
}

在Mou下,代码的编辑就显得非常方便,换行后还能够保持缩进。

还有一个行内代码的格式,如下:

在Linux命令行下,可以使用`rm -rfv 目录名`来强制删除一个文件夹

显示效果如下:

在Linux命令行下,可以使用rm -rfv 目录名来强制删除一个文件夹


引用

格式:

> 你在桥上看风景 
> 
> 看风景的人在楼上看你

显示效果:

你在桥上看风景

看风景的人在楼上看你

嵌套引用格式:

格式:

> 你在桥上看风景
>
> > 看风景的人在楼上看你
>
> 明月装饰了你的窗子,你装饰别人的梦

显示效果:

你在桥上看风景

看风景的人在楼上看你

明月装饰了你的窗子,你装饰了别人的梦


表格

格式:

First Header | Second Header | Third Header
:------------|:-------------:|------------:
Content   | Content    | Content
Left      | Center     | Right

这个样式还比较美观,如下的格式也能得到同样的显示效果:

First Header | Second Header | Third Header
:-|:-:|-:
Content|Content|Content
Left|Center|Right

显示效果

First Header Second Header Third Header
Content Content Content
Left Center Right

上面的例子不仅显示了表格是如何写成,还展示了怎样设置文字的对齐方式。


杂项

水平线

格式:

--- (三个及以上即可,一定注意与上一行文字保持一个空行)

*** (同上)

显示效果:



脚注

格式:

This is a footnote.[^1]
This is another footnote. [^2]

[^1]: Footnote 1. (注:脚注显示在文章的末尾)
[^2]: Footnote 2.

显示效果:

This is a footnote.[1]

This is another footnote.[2]


锚点

再一次强调,Markdown与HTML是兼容的,所以很多HTML的功能也能够在Markdown中实现,比如锚点:

格式:

[some text](id:anchor) (注: 设置锚点)

[link](#anchor)        (注: 使用锚点)

显示效果:

some text

link

注:此项功能不支持。


最后,编辑好的文档可以通过Mou等Markdown编辑器导出pdf格式的文档保存或者分享给别人。


  1. Footnote 1. ↩

  2. Footnote 2. ↩

你可能感兴趣的:(用Markdown进行写作)