array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 Markdown排版介绍 - 爱码网
  1. 切换博客园编辑器为MarkDown:MarkDown Editor
  2. 选择一个在线编辑和预览站点: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

注意:

  • 这是一个为了示意列表刻意全部使用list+item,正常情况下应区分:章节段落列表
  • 不要把章节段落都塞到列表里,语义上他们是有区分的。

如何插入超链接:

MarkDown:

[xinz](http://www.cnblogs.com/xinz)

发布后的渲染效果:

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];
}

注意:

如何插入公式

  1. 博客后台,选项里面打开启用数学公式支持
  2. 博客输入LaTeX数学公式:
行内公式$\sqrt{3x-1}+(1+x)^2$,
行公式:
$$
\sqrt{3x-1}+(1+x)^2
$$
  1. 渲染效果:

    行内公式

    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)

渲染后的效果:
Markdown排版介绍

如何插入表格,使用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里预览):
Markdown排版介绍

相关文章: