标记语言,HTML的超集
最终的显示样子就是转换成HTML内容
## 正文
Markdown语法主要分为如下几大部分:
### 标题
两种形式:
1)使用`=`和`-`标记一级和二级标题。
> 一级标题
> `=========`
> 二级标题
> `---------`
2)使用`#`,可表示1-6级标题。
> \# 一级标题
> \## 二级标题
> \### 三级标题
> \#### 四级标题
> \##### 五级标题
> \###### 六级标题
***
### 段落
段落的前后要有空行,即一段话敲两次回车再写第二段,会产生一个空白行。
若不想源md文件有空白行,可以使用**两个以上**空格再加上回车。即第一段后面有两个以上空格即第二行就是第二段。
***
### 区块引用
在段落的每行或者只在第一行使用符号`>`,还可使用多个嵌套引用,如:
\> 区块引用
\>> 嵌套引用
**效果**
>区块引用
>>嵌套引用
不建议嵌套引用,当然在语法上是没有错误的。
***
### 代码区块
代码区块的建立是在**每行加上4个空格**或者一个制表符(如同写代码一样)。如
普通段落:
\#include
int main(int argc, char const \*argv[]){
printf("%s\n","这里是markdown" );
return 0;
}
代码区块:
#include
int main(int argc, char const *argv[])
{
/* code */
printf("%s\n","这里是markdown" );
return 0;
}
当然在此博客中有另外一种方式,**注意这里属于markdown的扩展了**。即在代码的第一行和最后一行加上\`\`\`,上下各三个。在第一行三个符号后面还可以写上不同的程序语言,以便解析不同的高亮样式,非常方便。
书写C语言列子
\`\`\`C
\#include
int main(int argc, char const \*argv[]){
/\* 注释的效果也不错 \*/
printf("%s\n","这里是markdown_ext" );
return 0;
}
\`\`\`
**效果**
```C
#include
int main(int argc, char const *argv[]){
/* 注释的效果也不错 */
printf("%s\n","这里是markdown_ext" );
return 0;
}
```
***
### 强调
在强调内容两侧分别加上`*`或者`_`,如:
> \*斜体\*,\_斜体\_
> \*\*粗体\*\*,\_\_粗体\_\_
效果:
> *斜体*,_斜体_
> **粗体**,__粗体__
**注意**:需要和普通段落之间存在空行。同时中文下不建议使用斜体,当然在语法上是没有错误的
***
### 列表
#### 无序列表
使用`*`、`+`、或`-`标记,如:
\- 第一项
\+ 第二项
\* 第三项
**注意**:标记后面最少有一个_空格_或_制表符_。
效果:
>+ 第一项
>+ 第二项
>+ 第三项
#### 有序列表
有序列表的标记方式是将上述的符号换成数字,并辅以`.`,如:
1 . 第一项
2 . 第二项
3 . 第三项
效果:
> 1. 第一项
> 2. 第二项
> 3. 第三项
***
### 分割线
分割线最常使用就是三个或以上`*`,还可以使用`-`和`_`。
本文中每一小节都有分割线,使用三个`*`号。
***
### 链接
链接可以由两种形式生成:**行内式**和**参考式**。
**行内式**:
> \[Markdown使用手册\]\(https:://wexpeng.github.io/Markdown使用手册 "Markdown"\)。
效果:
> [Markdown使用手册](https:://wexpeng.github.io/Markdown使用手册 "Markdown")。
比如:
\[Wexpeng的博客\]\[1\]
\[wexpeng的电子邮箱\]\[2\]
\[1\]:https://wexpeng.githu.io "Blog"
\[2\]:mailto://wexpeng@gmail.com "Email"
效果:
> [Wexpeng的博客][1]
> [Wexpeng电子邮箱][2]
[1]:https://wexpeng.github.io "Markdown"
[2]:mailto://wexpeng@gmail.com "Email"
### 图片
添加图片的形式和链接相似,只需在把链接换成图片链接,再在最前方加一个`!`。、
比如
\!\[这里是在没有获得到图片文件的时候显示的文字\](http://wexpeng.github.io/images/avatar.gif "这里是图片描述,可以留空")
效果
![这里是在没有获得到图片文件的时候显示的文字](http://wexpeng.github.io/images/avatar.gif "这里是图片描述,可以留空")
Markdown是一种纯文本格式,图片的方式来自于引用。注意,地址通常要是互联网上的一个永久地址。
### 符号
#### 转义符(反斜杠)**\\**
要显示那些标签就必须用到转义符号,
相当于**反转义**作用。使符号成为普通符号。
#### 高亮符(点)**\`**
这个符号通常在电脑主键盘数字1的左边,起到标记作用。
效果如下:
在这句话中,`我是高亮的文字`,但是我不是。
以上基本是所有传统markdown的语法。
*****
**注意**:不同的Markdown解释器或工具对相应语法解释效果不尽相同,且多数工具有功能更强大的语法规则,具体可参见工具的使用说明。
****
## 其它
这里有一些非传统的markdown语法,即在一些特定的markdown编辑器才受支持。
关于扩展语法可参见具体工具的使用说明。
### 表格
用`|`表示表格纵向边界,表头和表内容用`-`隔开,并可用`:`进行对齐设置,两边都有`:`则表示居中,若不加`:`则默认左对齐。
|可以找到我的地方|链接|
|:----:|:----|
|QQ空间|https://user.qzone.qq.com/1962311496/infocenter |
|微博|https://weibo.com/bsbm |
|网易云音乐| http://music.163.com/#/user/home?id=79199600 |
|GitHub|https://github.com/wexpeng |
|知乎|https://www.zhihu.com/people/wexoeng/activities |
### LaTeX公式
md在学术界的用途是非常广泛的,各种各样复杂的公式需要记录。此博客并无此需求。同时因为其复杂性与专业性,在此不做讲解(我不会emmmm)
在此做个推荐:[Cmd Markdown 公式指导手册](https://www.zybuluo.com/codeep/note/163962)
### 待办事项
-[ ] 未完成事项
-[x] 已完成事项
- [ ] **详细说明**
- [ ] **`-`**后面需要一个空格仅仅针对此的博客,一般渲染器没有此要求
- [x] 已完成事项在**`[]`**括号内是一个小写的x
- [ ] 在未完成事项中没有x但是需要一个空格
- [x] 详细描述前面也需要一个空格,如果没有正常显示,请注意其前面的描述符是否一共占有6个字符
- [ ] **太平洋旅行准备**
- [ ] 准备邮轮上需要携带的物品
- [ ] 准备钱
- [ ] 勾搭一个外国小姑娘
- [x] 做梦
- [x] 醒醒
### 标签
前面有说markdown是HTML的一个子集,当然HTML中的标签也是能够使用的
比如大标题可以写作`我是大标题
`
为了生成目录的规范,这里不做演示效果。markdown文件还是具备自动生成目录效果的
若想在文章最前面显示目录,使用
`[TOC]`同样非传统md标签,仅在某些md编辑器有效
## 工具推荐
+ **Chrome**下的插件`markdown-here`等非常方便,且跨平台。
+ **在线**的dillinger.io评价也不错
+ **Windowns**下的MarkdownPad也用过,不过免费版的体验不是很好。
+ **Mac**下的Mou是国人贡献的,口碑很好。
+ **Linux**下的ReText不错。
+ **Andorid**下的
+ **IOS**下的
## 后记
Markdown如今很多的公司在使用,同时,各家为markdown增加了很多不同的功能。可同样因此,markdown语法存在一定程度的碎片化。
不成规矩不成方圆,一群科技公司发起的Standard Markdown项目,准备建立Markdown标准,没想到惹怒了健在的创始人[John Gruber](http://blog.codinghorror.com/standard-markdown-is-now-common-markdown/),Gruber认为无论这些人在标准化上面做什么努力,都不可以称其为Markdown。因此他要求标准化团队更换“Standard Markdown”的名字,关闭同名网站并且对他公开道歉。
最后,标准化团队决定新标准取名为CommonMark
*****
我很烦这些没有标准的东西,就像当年野蛮生长的浏览器,在这几年才终于被W3C组织标准化了。标准的好处是显而易见的,中国的古语云:不成规矩,没有方圆。有了尺规,什么图形都能画出来。我不了解这件事背后的故事,但是总是感觉CommonMark不是markdown一样,原作者已有的项目,后来人直接fork改进不就好了吗?为什么要重复造轮子?而且明显没有和已经健在的一位创始人联系,难怪其在twitter上用[@markdown](https://twitter.com/markdown)这个账号去表达自己的强烈不满。
不管是是非非,作为用户,感谢他们。
另外,此文章就是用markdown构建,下载也许对学习有帮助,需要下载的话请通过右下角的聊天窗口联系我。