markdown 入门

最近学习了Markdown, 感觉写文档很方便啊。现在有很多博客都支持用markdown编辑器了,很方便。接下来就说一下自己的学习心得。

先来个目录炫一下:

    • 首先你需要个工具
      • 在线编辑器
      • 浏览器插件扩展
      • 本地软件
    • 必学且易学的语法
      • 标题
      • 列表
      • 引用
      • 图片与链接
      • 粗体斜体删除线
      • 代码框
      • 目录
      • 回车和缩进
      • 分割线
    • 虐心可以不学的
      • 脚注
      • 表格
      • 数学公式
      • UML 图


首先你需要个工具

如果想码markdown的话其实只需要“记事本”这种简单的编辑器即可,但是如果想实时预览效果,就需要工具。markdown 有在线编辑器和本地编辑器,在线编辑器功能比较强大,本地的一般功能比较简单,生成的文件.md 或者导出成.html .pdf 等其他格式文件。工具有很多,我只列出我觉得有用的:


在线编辑器:

  • StackEdit

    看了很多的经验说 StackEdit 是最好的markdown编辑器,没有之一。它的功能很强大,支持最基础的语法和代码、数学公式、流程图等强大的功能。这些功能一般都只有在线有。chrome浏览器有StackEdit 应用。

    CSDN的博客就是用StackEdit修改而来,想要试验效果的可以直接用CSDN博客的Markdown编辑器,功能很全面,在编辑博客时候上面有个选项是markdown编辑器。

  • 马克飞象

    很多人喜欢马克飞象,是款简洁高效的编辑器,提供桌面客户端以及离线Chrome App,支持移动端 Web;


浏览器插件扩展:

  • markdown here
    Google Chrome, 火狐Firefox, Safari, Opera 和 Thunderbird 都有这个插件,非常好用。在浏览器编辑文字,如邮件,博客,帖子等,写好markdown格式的内容,选中后点击插件图标,即可将内容转换面html代码,变成markdown预览的样子。

本地软件:

由于本人用windows,仅说我用的windows上用的。

  • MarkdownPad

    界面比较简单,被很多人称赞为windows 平台最好用的markdown编辑器 。我一开始学markdown的时候用的这款,pro版要付费。里面有些语法和其他的不是很一致,而且功能太少,我不是很喜欢,后面就弃用了。

  • Atom

    github出的编辑器;功能十分强大,支持各种编程语言;安装后会在添加右键菜单,图标丑;全平台,程序猿专用 。我现在用的就是这款,比较喜欢。



必学且易学的语法:

Markdown的主要作用是方便。后期流程图啊之类的应用太复杂了,感觉失去了markdown的初衷,本人尝试过用markdown画流程图,折腾了很久,代码需要全对才能正常预览,更改起来很不方便,还是借助专业画流程图软件更快。如果不学那些复杂的,其他的简单的很好记的,练上一篇文档就能记住了。


标题:

在文字前面加上 # 号,几级标题加几个。总共六级标题,建议在井号后加一个空格,这是最标准的 Markdown 语法。本文的大字部分就属于不同级别的标题的显示效果。

# 一级标题
## 二级标题
### 三级标题


列表:

列表的显示只需要在文字前加上-+*即可变为无序列表,有序列表则直接在文字前加1. 2. 3. 。符号要和文字之间加上一个字符的** 空格。连续用1. 会自动编号。

>代码: 
- 无序列表
* 无序列表
+ 无序列表
1. 有序列表

显示:

  • 无序列表
  • 无序列表
  • 无序列表
    1. 有序列表
    2. 有序列表

引用:

如果要引用,只需要在文本前加入 > 这种尖括号(大于号)即可。如

代码:

>引用的显示效果是这样

引用的显示效果是这样


图片与链接:

插入链接与插入图片的语法很像,区别在一个 !号

图片为:![图题](链接)

链接为:[文字](链接)

代码:
如[CSDN主页](http://www.csdn.net/)的链接。
![我的头像](http://avatar.csdn.net/1/4/1/1_wuyoy520.jpg)

显示:

如CSDN主页的链接。
markdown 入门_第1张图片


粗体、斜体、删除线:

粗体:用**__包住你要写的内容。
斜体:用*_包住你要写的内容。
下划线:用_包住你要写的内容。
删除线:用~~ 包住你要写的内容。

代码:
**这是粗体**,__这也是粗体__,
*这是斜体*,_这也是斜体_,
这是删除线

显示:
这是粗体这也是粗体
这是斜体这也是斜体
这是删除线


代码框:

行间代码用`符号括起来即可。代码块就用连续三个同样的符号```括起来,并可标记语言种类。此字符在键盘上1键左边。代码块中会根据不同程序语言法则高亮。
1.行间:`和`
2.代码块:``` 和``` 单独行包围代码块,
3.代码行:连续4个空格或者一个Tab也是代码行标志。
第一行后面可添加语言种类。如``` python

CSDN示例显示效果:

@requires_authorization
def somefunc(param1='', param2=0):
    '''A docstring'''
    if param1 > param2: # interesting
        print 'Greater'
    return (param2 - param1 + 1) or None
class SomeClass:
    pass
>>> message = '''interpreter
... prompt'''

目录:

显示:
[TOC]来生成目录。

代码:

[TOC]

显示:

    • 首先你需要个工具
      • 在线编辑器
      • 浏览器插件扩展
      • 本地软件
    • 必学且易学的语法
      • 标题
      • 列表
      • 引用
      • 图片与链接
      • 粗体斜体删除线
      • 代码框
      • 目录
      • 回车和缩进
      • 分割线
    • 虐心可以不学的
      • 脚注
      • 表格
      • 数学公式
      • UML 图


回车和缩进:

缩进代表代码段或代表不同层级关系,markdown代码中的一个回车是没有显示效果的,要连续两个回车。最好在段与段之间留空行习惯,。


分割线:

用连续3个或3个以上的-单独作一行,即可变身分割线。
代码:---

显示:


虐心可以不学的

虽然那些复杂的功能不是很必要,但是还是很炫的。下面贴上CSDN自带的例子感受一下。


脚注:

代码:

生成一个脚注[^footnote].
  [^footnote]: 这里是 **脚注***内容*.

效果:

生成一个脚注1.


表格:

表格比较麻烦,但是感觉挺有用的。有些地方支持更简单的语法,大家可以自己查一下。

代码:

| Tables        | Are           | Cool  |
| ------------- |:-------------:| -----:|
| col 3 is      | right-aligned | $1600 |
| col 2 is      | centered      |   $12 |
| zebra stripes | are neat      |    $1 |

显示:

Tables Are Cool
col 3 is right-aligned $1600
col 2 is centered $12
zebra stripes are neat $1

数学公式:

代码:

- 行内公式,数学公式为:$\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$。
- 块级公式:
$$ x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$

显示:

  • 行内公式,数学公式为: Γ(n)=(n1)!nN
  • 块级公式:
    x=b±b24ac2a

UML 图:

由代码块实现的,块的语言种类为sequence代表序列图,flow代表流程图

可以渲染序列图:

代码:

```sequence
张三->李四: 嘿,小四儿, 写博客了没?
Note right of 李四: 李四愣了一下,说:
李四-->张三: 忙得吐血,哪有时间写。
 ```

显示:

Created with Raphaël 2.1.0 张三 张三 李四 李四 嘿,小四儿, 写博客了没? 李四愣了一下,说: 忙得吐血,哪有时间写。

或者流程图:

代码:

```flow
st=>start: 开始
e=>end: 结束
op=>operation: 我的操作
cond=>condition: 确认?

st->op->cond
cond(yes)->e
cond(no)->op
 ```

显示:

Created with Raphaël 2.1.0 开始 我的操作 确认? 结束 yes no

  1. 这里是 脚注内容. ↩

你可能感兴趣的:(MarkDown)