最近学习了Markdown, 感觉写文档很方便啊。现在有很多博客都支持用markdown编辑器了,很方便。接下来就说一下自己的学习心得。
先来个目录炫一下:
如果想码markdown的话其实只需要“记事本”这种简单的编辑器即可,但是如果想实时预览效果,就需要工具。markdown 有在线编辑器和本地编辑器,在线编辑器功能比较强大,本地的一般功能比较简单,生成的文件.md
或者导出成.html
.pdf
等其他格式文件。工具有很多,我只列出我觉得有用的:
StackEdit
看了很多的经验说 StackEdit 是最好的markdown编辑器,没有之一。它的功能很强大,支持最基础的语法和代码、数学公式、流程图等强大的功能。这些功能一般都只有在线有。chrome浏览器有StackEdit 应用。
CSDN的博客就是用StackEdit修改而来,想要试验效果的可以直接用CSDN博客的Markdown编辑器,功能很全面,在编辑博客时候上面有个选项是markdown编辑器。
马克飞象
很多人喜欢马克飞象,是款简洁高效的编辑器,提供桌面客户端以及离线Chrome App,支持移动端 Web;
由于本人用windows,仅说我用的windows上用的。
MarkdownPad
界面比较简单,被很多人称赞为windows 平台最好用的markdown编辑器 。我一开始学markdown的时候用的这款,pro版要付费。里面有些语法和其他的不是很一致,而且功能太少,我不是很喜欢,后面就弃用了。
Atom
github出的编辑器;功能十分强大,支持各种编程语言;安装后会在添加右键菜单,图标丑;全平台,程序猿专用 。我现在用的就是这款,比较喜欢。
Markdown的主要作用是方便。后期流程图啊之类的应用太复杂了,感觉失去了markdown的初衷,本人尝试过用markdown画流程图,折腾了很久,代码需要全对才能正常预览,更改起来很不方便,还是借助专业画流程图软件更快。如果不学那些复杂的,其他的简单的很好记的,练上一篇文档就能记住了。
在文字前面加上 #
号,几级标题加几个。总共六级标题,建议在井号后加一个空格,这是最标准的 Markdown 语法。本文的大字部分就属于不同级别的标题的显示效果。
# 一级标题
## 二级标题
### 三级标题
列表的显示只需要在文字前加上-
、+
或*
即可变为无序列表,有序列表则直接在文字前加1.
2.
3.
。符号要和文字之间加上一个字符的** 空格。连续用1.
会自动编号。
>代码:
- 无序列表
* 无序列表
+ 无序列表
1. 有序列表
显示:
如果要引用,只需要在文本前加入 >
这种尖括号(大于号)即可。如
代码:
>引用的显示效果是这样
引用的显示效果是这样
插入链接与插入图片的语法很像,区别在一个 !号
图片为:![图题](链接)
链接为:[文字](链接)
代码:
如[CSDN主页](http://www.csdn.net/)的链接。
![我的头像](http://avatar.csdn.net/1/4/1/1_wuyoy520.jpg)
显示:
粗体:用**
或__
包住你要写的内容。
斜体:用*
或_
包住你要写的内容。
下划线:用_
包住你要写的内容。
删除线:用~~
包住你要写的内容。
代码:
**这是粗体**,__这也是粗体__,
*这是斜体*,_这也是斜体_,
这是删除线
显示:
这是粗体,这也是粗体,
这是斜体,这也是斜体,
这是删除线
行间代码用`符号括起来即可。代码块就用连续三个同样的符号```括起来,并可标记语言种类。此字符在键盘上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]
显示:
缩进代表代码段或代表不同层级关系,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} $$
显示:
由代码块实现的,块的语言种类为sequence代表序列图,flow代表流程图
可以渲染序列图:
代码:
```sequence
张三->李四: 嘿,小四儿, 写博客了没?
Note right of 李四: 李四愣了一下,说:
李四-->张三: 忙得吐血,哪有时间写。
```
显示:
或者流程图:
代码:
```flow
st=>start: 开始
e=>end: 结束
op=>operation: 我的操作
cond=>condition: 确认?
st->op->cond
cond(yes)->e
cond(no)->op
```
显示: