A. 故事背景
最近打算把小组内部共享空间从有到云笔记换为为知笔记,又决定开始在CSDN写博客。好巧,两者都支持Markdown语法。
B. 基本 Markdown 语法
参考CSDN Markdown的帮助文档,在此列出 CSDN 与为知笔记支持的 Markdown 语法的交集。这样,就可以把为知笔记里面的文章直接发到CSDN博客了。
标题
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
字体
**这个是粗体**
*这个是斜体*
***这个是粗体加斜体***
这个是粗体
这个是斜体
这个是粗体加斜体
无序列表
- book
- fruit
- orange
- yellow (每4个空格为一个层级,所以这行前面至少要5个空格)
- book
- fruit
- orange
- yellow
- orange
有序列表
1. 起床
2. 洗漱
21. 刷牙
22. 洗脸
- 起床
- 洗漱
- 刷牙
- 洗脸
区块引用
>那就明天早上写吧
>>下午有个会,明天中午前发给你可以吗?
>>不然就只能加班了。(这行前面0-2个 > 号都能正确工作)
>>>今天下班前把区块引用的说明文档写好发给我。
那就明天早上写吧
下午有个会,明天中午前发给你可以吗?
实在不行就只能加班了。今天下班前把区块引用的说明文档写好发给我。
链接
[CSDN](http://csdn.net/ "打开CSDN网站")
<http://csdn.net/>
网络图片
![一张图片](http://img3.douban.com/mpic/s1108264.jpg)
分割线
---
删除线
~~Mistaken text.~~
Mistaken text.
代码块
用TAB键(或4个空格)起始的段落,会被认为是代码块。
<php>
echo "用TAB键(或4个空格)起始的段落,会被认为是代码块。";
</php>
行内引用代码块
调用`List.add(obj)`将对象放入有序列表。
调用List.add(obj)
将对象放入有序列表。
代码块与语法高亮
```java
for(int i = 0; i < 10; i++) { }
```
for(int i = 0; i < 10; i++) { }
表格
| 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 |
C.常用技巧
转义
使用 Markdown 语法的博文最终还是要转化为 html 以在浏览器中显示,所以html转义问题无法回避。
例如,xml节点 <fn:time />
就不能在 CSDN 博客中正常显示,必须使用行内引用代码块的方式显示,或者自己将特殊符号转义:<fn:time />
使用html标签
既然是html,那就意味着可以使用html标签来增强排版,例如文字颜色:
<font color="red">红色表示很重要</font>
红色表示很重要
反斜杠
Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号,例如:
2014\. 这样就不是有序列表了
2014. 这样就不是有序列表了
D. 数学公式及其导致的问题
CSDN 与为知笔记都使用 MathJax 扩展了 Markdown 语法显示数学公式。
行内公式:$\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$
行内公式: Γ(n)=(n−1)!∀n∈N
块级公式(另起新行):$$ x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$
块级公式(另起新行):
我并不关心数学公式怎么写,但是 $ 符号现在很容易出问题,例如CSDN博客中的Markdown语法帮助中表格的原例:
| 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 |
这张表格在为知笔记中无法正确显示,因为第三行与第四行的 $ 组成了数学公式。
目前找到的方案:
可以使用反斜杠转义,但是反斜杠会显示出来,疑似为知笔记的bug。CSDN依然正确。
| 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 |