一、fenced code block — 围栏式代码块


Fenced code block中文名字叫做围栏式代码块

围栏式代码块的用法:
1. 切换为英文输入法,输入  
2. 按Enter换行,进行输入,围栏式代码块中的代码、文字不会自动换行,你需要在需要换行的地方输入换行符  
3. 围栏式代码块中在我的尝试中只能插入入列表,其他的都无法插入。  
3. 围栏式代码就像二向箔一样,你input什么,它就output什么。



二、 quote — 引用


quote就是我们常说的引用,比如说我们写论文要标识出某句话是引用太宗说的话,毕竟相对比较权威。

实践是检验真理的唯一标准。

A. 引用的用法如下:
    1. 空行
    2. 切换到英文输入模式,>+空格+引用的内容
        > 实践是检验真理的唯一标准。
    3. 引用是可以内嵌的(以两行为基本单位找规律)
        > 某知友曾经说过
        >
        > > 太宗曾经说过
        > >
        > > > 太祖说
        > > >
        > > > > meidi都是纸老虎
        > > >
        > > > 太宗不服,太祖问,为何
        > >
        > > 太宗曰:meidi掌握核心科技
        >
        > 吓得我都出bug了
B. 引用的增强模式
    1. 插入标题
        > ## header
    2. 插入列表
        > * hello

某知友曾经说过

太宗曾经说过

太祖说

meidi都是纸老虎

太宗不服,太祖问,为何

太宗曰:meidi掌握核心科技

吓得我都出bug了



三、list — 列表


markdown中的list分为有序列表order list,和无序列表unordered list.

order list:的用法是:数字+小数点+空格 (eg:1. hello),写完之后回车就可以。
unordered list:的用法是:-+小数点+空格 (eg:- hello),-也可以用*和+来代替

不管是ul还是ol都是可嵌套使用的:写好第一行之后,回车到第二行,然后按下Tab键
来向后退(4-white-space)接着选择你需要的ul或ol形式,然后进行书写,书写完之后
Enter到下一行,按住Shift+Enter来回到原来的李的下一行。
在书写时,如果你发现系统给你创建的序号不正确,需要你自己动手修改回你要的样式。

1. Hello
    2. 修改这个标号2,为1或是ul的标号
    *. World
4. 修改这个标号4,改为2
Enter键在有序列表中换行的时候,标号都是在上一行的标号上增加1。

除此之外kramdown还提供了一种类似于键值对的列表形式

1. 首先先输入一个KeyWord,按Enter
2. 切换为英文输入法,输入冒号+空格+value即可
3. 这种列表的变式是不可以嵌套的
eg:
    冯唐  
    : 春水初生  
    : 春林渐盛  
    : 春风十里不如你  
KeyWord–冯唐
春水初生
春林渐盛
春风十里不如你

四、Horizon — 段落分割线


Horizon有以下几种方式,但是效果是一样的。

3个或三个以下符号,符号之间有没有空格都不影响最后显示
1. ---    (中文输入法)
2. ***    (无所谓输入法)
3. ___    (英文输入法)
4. 记住这些符号的上一行是空行!!!

        中文输入法之短斜杠

        ---
        无所谓输入法之乘号

        ***
        英文输入法之下划线

        ___

start
中文输入法之短斜杠


无所谓输入法之乘号


英文输入法之下划线


end

五、header — 标题


在kramdown中的Header是已经定制好的,但是你可以根据自己的需要去修改为自己需要的样式。Jekyll中的所有样式均在_sass文件下。

有几个#就表示几级标题

    1. # 一级标题

    2. ## 二级标题

    3. ### 三级标题

    4. #### 四级标题

    5. ##### 五级标题

    6. ###### 六级标题

一级标题

二级标题

三级标题

四级标题

五级标题
六级标题


六、 Emphasis — 强调


由于对于在文本中我们也许需要对某些字数的字块,进行强调突出显示,来引起读者的注意。强调有以下三种方法。

1. 斜体:
    a. 方式一:一对星即 *information*
    b. 方式二:一对下划线即 _information_  
2. 加粗
    a. 方式一:一对双星即 **information**
    b. 方式二:一对双下划线即 __information__
3. 加粗加斜体
    a. 方式一:一对三星即 ***information***
    b. 方式二:一对三下划线即 ___information___
4. 不论是加粗还是斜体可以用于字母,单词,词组。
eg:
    斜体: *一对单星*
    斜体: _一对下划线_
    粗体: **一对双星**
    粗体: __一对下划线__
    斜粗: ***一对双星***
    斜粗: ___一对下划线___

斜体: 一对单星
斜体: 一对下划线
粗体: 一对双星
粗体: 一对下划线
斜粗: 一对双星
斜粗: 一对下划线


七、链接与图片


markdown中提供了两种链接的形式

1. [百度](http://www.baidu.com)可以为你提供各种不同的帮助(没有特别的要注意的)
格式:网址说明[要显示的名字](链接的网址)这里可以继续添加说明

2. 这是[百度的链接][baidu]可以为你提供各种不同的帮助

[baidu site]:http://www.baidu.com
格式:网站说明[要显示的网站的名称][月老的红线]继续添加网站说明
空行!!!!!!一定要有否则不显示
[月老的红线]:网址链接

3. 个人推荐第一种,第二种太麻烦了。
  1. 百度可以为你提供各种不同的帮助
  2. 这是百度的链接可以为你提供各种不同的帮助



markdown同时也提供了插入图片链接的功能,我个人使用的是图片的外链进行插入图片。并不会使用插入本地的图片的链接的方式。

1. 对于图片外链的来源,我采用的是七牛云存储来存储图片并且生成外链。有兴趣的可以自己去看看,几乎不需要费用。
2. An image: ![gras](http://7xsi2r.com2.z0.glb.clouddn.com/guoxh20160309232347.jpg)
  格式: 英文感叹号[图片要显示的名称](图片的链接的地址)
3. 对于图片的处理,Jekyll上又很的插件可以供使用,不过我还没有进行使用,等有时间在尝试吧。

这是我放在七牛云上的一张图片,要学着敬畏未知,却不惧怕!gras



八、markdown还有


markdown中还有table值得去学,不过我是极少用到,因此就没去学过了
markdown中还有和HTML相结合的内容,随你的意
更多有关于kramdown中对于markdown的使用请看kramdown的官网的介绍。 由于在markdown是一种实现了GFM的语言格式,因此不同的markdown的解析器就可能有不同的实现方式。这就好比是养猪,虽然养出来的都是猪, 但是大家用的饲料,饲养方式都不同。因此猪肉味或多或少有些不同。顺带普及下,GFM是一种定义格式,也可以说是一种接口,一种协议而已。 全称是Github Favore Markup





随记、使用中遇见的问题

1. Difference between hard wrapper and soft wrapper?


with soft wrapping the actual text is still on the same line but looks like it’s divided into several lines.

理解:如果是要换行的话,那么hard wrapper必须要在要换行的地方插入换行符(常见的Enter键),而如果是soft wrapper的话,可以自适应的换行,而不需要强制插入换行符(举个例子,mobi格式的电子书,如果你改变页边距的话,那么文字就会自动换行,这种方法在网页中同样常见)。不过我使用的atom编辑器中并没有这个问题,如果你遇到了这个问题,那么按照以下操作即可。

1. open atom -> File -> Setting -> selected soft wrapper
2. install markdown plugin ---atomicChar



2. 为什么有一些样式无法生效

尝试下面的方法
a. 对于#、>、:、数字、*、+、—等记得一定要在他们后面加空格
b. 对于# 、代码块、的```、分段符 — 的上一行一定要是空行
c. atom中默认会删除掉行末的空格,因此会对书写md文件产生不便
d. 如果你用的是atom编辑器,atom默认设置会删除末尾的空格,因此你需要File -> config找到removeTrailingWhitespac并把它的值由true改为false即可。顺带说下,我还修改了atom-beautify插件中有trim_trailing_whitespace的文件里都添加了一句不知是否有用的代码,如下,添加后也没有发现什么错误。
  [*.md]
  trim_trailing_whitespace = false
e. markdown中回车键的是无法实现换行的,要换行要使用<br>关键字