Markdown排版介绍
如何切换编辑器
- 切换博客园编辑器为MarkDown:MarkDown Editor
- 选择一个在线编辑和预览站点:StackEdit
如何排版章节
MarkDown:
大标题
==========
小标题
----------
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
例如三级
和四级
发布后的效果:
三级标题
四级标题
如何插入列表:
MarkDown:
- 个人编程,写一个命令行程序
- 注册Github账号,建立项目仓库
- 添加ReadMe.md并编辑,描述项目的简要介绍、功能、用例、下载、文档等
- 建立doc目录存放文档
- 建立scripts目录存放各种脚本
- 建立config目录存放可公开配置信息
- 建立src目录存放源码
- 建立test目录存放测试脚本极其数据
- 建立PSP表格,预估下述几个过程的耗时估计
- 分析程序的需求,并提交文档到github
- 基本需求
- 扩展需求
- 高级需求
- 功能设计,并提交文档到github
...
注意在-
之后需要有一个空格,发布效果见:
- 个人编程,写一个命令行程序
- 注册Github账号,建立项目仓库
- 添加ReadMe.md并编辑,描述项目的简要介绍、功能、用例、下载、文档等
- 建立doc目录存放文档
- 建立scripts目录存放各种脚本
- 建立config目录存放可公开配置信息
- 建立src目录存放源码
- 建立test目录存放测试脚本极其数据
- 建立PSP表格,预估下述几个过程的耗时估计
- 分析程序的需求,并提交文档到github
- 基本需求
- 扩展需求
- 高级需求
- 功能设计,并提交文档到github
- 注册Github账号,建立项目仓库
注意:
- 这是一个为了示意列表刻意全部使用list+item,正常情况下应区分:
章节
、段落
、列表
- 不要把
章节
和段落
都塞到列表里,语义上他们是有区分的。
如何插入超链接:
MarkDown:
[xinz](http://www.cnblogs.com/xinz)
发布后的渲染效果:
进一步,我们可以把自己的博客连接做一个目录菜单,例如下面的软件工程(FZU2015)赛季得分榜)目录
<hr/>
SE_FZU目录:[1](http://www.cnblogs.com/math/p/4820808.html) [2](http://www.cnblogs.com/math/p/4827832.html) [3](http://www.cnblogs.com/math/p/4833301.html) [4](http://www.cnblogs.com/math/p/4852995.html) [5](http://www.cnblogs.com/math/p/4870584.html) [6](http://www.cnblogs.com/math/p/4890133.html) [7](http://www.cnblogs.com/math/p/4916062.html) [8](http://www.cnblogs.com/math/p/4919227.html) [9](http://www.cnblogs.com/math/p/4935697.html) [**10**](http://www.cnblogs.com/math/p/4976461.html) [11](http://www.cnblogs.com/math/p/5066939.html) [12](http://www.cnblogs.com/math/p/5100034.html) [13](http://www.cnblogs.com/math/p/5104644.html)
<hr/>
发布后的渲染效果:
SE_FZU目录: 1 2 3 4 5 6 7 8 9 10 11 12 13
当然,如果你觉的这样太密集,并且每次更新都要取把系列文章里的所有目录都更新一遍太辛苦,那么你可以采用双向链表
模式。即,在每篇文章的开头设置上一篇
和下一篇
的链接,参考:软工+C(9): 助教指南
如何引用别人的文字
MarkDown:
>功利主义是一种在西方影响巨大的伦理学说,其原则是“最大多数人的最大幸福”,以行为的实际功效或利益为判断行为正当与否的标准。本书系统地阐述了这一学说,分绪论、何谓功利主义、论功利主义最后制裁力、功利主义可以得到什么样的证明、论公道与功利主义之关系。
-- 引用自《[功利主义](https://book.douban.com/subject/3072490/)》
发布后的渲染效果:
功利主义是一种在西方影响巨大的伦理学说,其原则是“最大多数人的最大幸福”,以行为的实际功效或利益为判断行为正当与否的标准。本书系统地阐述了这一学说,分绪论、何谓功利主义、论功利主义最后制裁力、功利主义可以得到什么样的证明、论公道与功利主义之关系。
-- 引用自《功利主义》
注意:
- 请区分
引用
和正文段落
,不要用引用的方式排版正常的文章段落
如何在行内修饰文字:删除、加粗、斜体、颜色
MarkDown:
[专业主义](https://book.douban.com/subject/1790456/)
- 描述:这本书着重阐释了真正的专家必须具备的四种能力:**先见能力**、**构思能力**、**讨论的能力**、**适应矛盾**的能力,以丰富的案例和深刻的洞见警示人们*重新思考专业*的内涵与效用,培养并吸纳专业人才。
- 状态:~~已读完。~~
- 备注: <span style="color:red">分析、设计、实现、改进</span>.
发布后渲染的效果:
- 描述:这本书着重阐释了真正的专家必须具备的四种能力:先见能力、构思能力、讨论的能力、适应矛盾的能力,以丰富的案例和深刻的洞见警示人们重新思考专业的内涵与效用,培养并吸纳专业人才。
- 状态:已读完。
- 备注: 分析、设计、实现、改进.
注意:
- 如果你可以配置CSS,则应该用带
语义
的id、class,而不要直接用style属性
如何插入代码:
代码前后各加键盘的Tab键上面的那个按钮的符号三次:
例如,下面是MarkDown,ref:lua/lstring.c:
```
/*
** Create or reuse a zero-terminated string, first checking in the
** cache (using the string address as a key). The cache can contain
** only zero-terminated strings, so it is safe to use 'strcmp' to
** check hits.
*/
TString *luaS_new (lua_State *L, const char *str) {
unsigned int i = point2uint(str) % STRCACHE_N; /* hash */
int j;
TString **p = G(L)->strcache[i];
for (j = 0; j < STRCACHE_M; j++) {
if (strcmp(str, getstr(p[j])) == 0) /* hit? */
return p[j]; /* that is it */
}
/* normal route */
for (j = STRCACHE_M - 1; j > 0; j--)
p[j] = p[j - 1]; /* move out last element */
/* new element is first in the list */
p[0] = luaS_newlstr(L, str, strlen(str));
return p[0];
}
```
发布后的效果:
/*
** Create or reuse a zero-terminated string, first checking in the
** cache (using the string address as a key). The cache can contain
** only zero-terminated strings, so it is safe to use 'strcmp' to
** check hits.
*/
TString *luaS_new (lua_State *L, const char *str) {
unsigned int i = point2uint(str) % STRCACHE_N; /* hash */
int j;
TString **p = G(L)->strcache[i];
for (j = 0; j < STRCACHE_M; j++) {
if (strcmp(str, getstr(p[j])) == 0) /* hit? */
return p[j]; /* that is it */
}
/* normal route */
for (j = STRCACHE_M - 1; j > 0; j--)
p[j] = p[j - 1]; /* move out last element */
/* new element is first in the list */
p[0] = luaS_newlstr(L, str, strlen(str));
return p[0];
}
注意:
- 请不要用
代码段
排版文章的正文段落
,代码段是为了排版诸如:公式
、代码
等。 - 非MarkDown模式插入代码请参考: http://www.cnblogs.com/greyzeng/p/4370439.html
如何插入公式
- 博客后台,选项里面打开
启用数学公式支持
- 博客输入LaTeX数学公式:
行内公式$\sqrt{3x-1}+(1+x)^2$,
行公式:
$$
\sqrt{3x-1}+(1+x)^2
$$
-
渲染效果:
行内公式
3x−1−−−−−√+(1+x)23x−1+(1+x)2
,
行公式:
3x−1−−−−−√+(1+x)23x−1+(1+x)2
如何插入图片
博客后后台MarkDown编辑器上只有一个按钮,就是用来上传图片并自动插入MarkDown标记的,超级好用
MarkDown:
![](https://img3.doubanio.com/lpic/s4669554.jpg)
渲染后的效果:
如何插入表格,使用exceltk转excel为MarkDown
开放源码:https://github.com/fanfeilong/exceltk
二进制下载(Debug版):http://files.cnblogs.com/files/math/exceltk0.0.8.7z
详细用例:http://www.cnblogs.com/math/p/exceltk.html
表格排版的时候,表头前面最好空一行,否则渲染的时候可能会被当作文本。
如何添加段落
并没有特别MarkDown符号标记一段文本是段落
,然而,许多人在学习了MarkDown之后,会误用列表
、引用
、代码段
去排版段落,所以这里特别提一下。在MarkDown里面,没有任何修饰的文本就是段落,例如在标题下接着的文本:
#### MarkDown有什么好处?
MarkDown的好处是纯文本排版,文本本身就有很强的结构化效果,即使只是在Notepad里写MarkDown,不用任何渲染,你也能看出层次结构来。比如,在QQ、微信里,你发个MarkDown的文本,别人准能看的出其中的结构层次来,这就是文本结构本身的效果。当然,如果你需要高级一点的渲染效果,随便找个支持MarkDown渲染的站点渲染下,再导出成HTML或者PDF都是很好的。博客类,像博客园都已经支持MarkDown渲染了。而临时渲染工具,像这个站点:[stackeditor](http://stackedit.io/editor)就可以直接贴上你在本地Notepad里编辑好的文本,右侧就可以看到渲染效果,你可以选择导出成纯文本、HTML、或者PDF。这个站点导出PDF是要注册帐号的,但也有办法绕过去,比如你导出带样式的HTML,然后用Chrome浏览器打开,右键打印,保存PDF,就能做到一样的效果。
渲染效果:
MarkDown有什么好处?
MarkDown的好处是纯文本排版,文本本身就有很强的结构化效果,即使只是在Notepad里写MarkDown,不用任何渲染,你也能看出层次结构来。比如,在QQ、微信里,你发个MarkDown的文本,别人准能看的出其中的结构层次来,这就是文本结构本身的效果。当然,如果你需要高级一点的渲染效果,随便找个支持MarkDown渲染的站点渲染下,再导出成HTML或者PDF都是很好的。博客类,像博客园都已经支持MarkDown渲染了。而临时渲染工具,像这个站点:stackeditor 就可以直接贴上你在本地Notepad里编辑好的文本,右侧就可以看到渲染效果,你可以选择导出成纯文本、HTML、或者PDF。这个站点导出PDF是要注册帐号的,但也有办法绕过去,比如你导出带样式的HTML,然后用Chrome浏览器打开,右键打印,保存PDF,就能做到一样的效果。
如何画流程图?
可以使用mermaid语法:
```mermaid
sequenceDiagram
participant Client
participant CacheMiner
participant Meta
participant Source
Client->>Source: xxxx
Source->>Client: yyy
alt xxx
Client->>Source: zzz
else
Client->>Source: www
end
```
渲染效果(可以在Visual Studio Code里预览):