标记语言,HTML的超集html就是网页文件,意味着,md文件可以兼容网页格式
其实最终的显示样子就是转换成HTML内容,源文件比word文件小,比网页文件易读,同时又可以包含丰富的格式信息,逐渐成为趋势
正文
本文作为常用手册,主要用于熟悉语法和使用高级语法的参考。
标题
两种形式:
1)使用=
和-
标记一级和二级标题。
一级标题
=========
二级标题---------
2)使用#
,可表示1-6级标题。
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
正确使用标题的好处可以在文档中直接生成目录。如果文档需要目录直接在需要目录的地方输入[TOC]
即可,此功能office Word也有,但是需要使用格式工具把所有标题设置好,而md文档,即使用#号归类。非常简洁和方便。
引用
在段落的每行或者只在第一行使用符号>
,还可使用多个嵌套引用,如:
> 区块引用
>> 嵌套引用
效果
区块引用
嵌套引用
不建议嵌套引用,当然在语法上是没有错误的。
代码展示
代码区块的建立是在每行加上4个空格或者一个制表符(如同写代码一样)。如
普通段落:
#include <stdio.h>
int main(int argc, char const *argv[]){
printf(“%s\n”,”这里是markdown” );
return 0;
}
代码区块:
#include <stdio.h>
int main(int argc, char const *argv[])
{
/* code */
printf("%s\n","这里是markdown" );
return 0;
}
当然在此博客中有另外一种方式,注意这里属于markdown的扩展了。即在代码的第一行和最后一行加上```,上下各三个。在第一行三个符号后面还可以写上不同的程序语言,以便解析不同的高亮样式,非常方便。
书写C语言列子
```C
#include <stdio.h>
int main(int argc, char const *argv[]){
/* 注释的效果也不错 */
printf(“%s\n”,”这里是markdown_ext” );
return 0;
}
```
效果1
2
3
4
5
6
int main(int argc, char const *argv[]){
/* 注释的效果也不错 */
printf("%s\n","这里是markdown_ext" );
return 0;
}
强调
在强调内容两侧分别加上*
或者_
,如:
*斜体*,_斜体_
**粗体**,__粗体__
效果:
斜体,_斜体_
粗体,粗体
注意:需要和普通段落之间存在空行。同时中文下不建议使用斜体,当然在语法上是没有错误的
列表
无序列表
使用*
、+
、或-
标记,如:
- 第一项
+ 第二项
* 第三项
注意:标记后面最少有一个_空格_或制表符。
效果:
- 第一项
- 第二项
- 第三项
有序列表
有序列表的标记方式是将上述的符号换成数字,并辅以.
,如:
1 . 第一项
2 . 第二项
3 . 第三项
效果:
- 第一项
- 第二项
- 第三项
分割线
分割线最常使用就是三个或以上*
,还可以使用-
和_
。效果相同。
本文中每一小节都有分割线,使用三个*
号。
链接
链接可以由两种形式生成:行内式和参考式。
行内式:
[Markdown使用手册](./Markdown使用手册 “Markdown”)。
效果:
比如:
[Wexpeng的博客][1]
[wexpeng的电子邮箱][2]
[1]:https://wexpeng.github.io “Blog”
[2]:mailto://wexpeng@gmail.com “Email”
效果:
图片
添加图片的形式和链接相似,只需在把链接换成图片链接,再在最前方加一个!
。、
比如

效果
Markdown是一种纯文本格式,图片的方式来自于引用。注意,地址通常要是互联网上的一个永久地址。
符号
转义符(反斜杠)\
要显示那些标签就必须用到转义符号,
相当于反转义作用。使符号成为普通符号。
高亮符(点)`
这个符号通常在电脑主键盘数字1的左边,起到标记作用。
效果如下:
在这句话中,我是高亮的文字
,但是我不是。
以上基本是所有传统markdown的语法。
注意:不同的Markdown解释器或工具对相应语法解释效果不尽相同,且多数工具有功能更强大的语法规则,具体可参见工具的使用说明。
其它
这里有一些非传统的markdown语法,即在一些特定的markdown编辑器才受支持。
关于扩展语法可参见具体工具的使用说明。
表格
用|
表示表格纵向边界,表头和表内容用-
隔开,并可用:
进行对齐设置,两边都有:
则表示居中,若不加:
则默认左对齐。
LaTeX公式
md在学术界的用途是非常广泛的,各种各样复杂的公式需要记录。此博客并无此需求。同时因为其复杂性与专业性,在此不做讲解(我不会emmmm)
(更新:这里需要大篇幅来讲解,大约)
在此做个推荐:Cmd Markdown 公式指导手册
待办事项
-[ ] 未完成事项
-[x] 已完成事项
- 详细说明
-
-
后面需要一个空格仅仅针对此的博客,一般渲染器没有此要求 - 已完成事项在
[]
括号内是一个小写的x - 在未完成事项中没有x但是需要一个空格
- 详细描述前面也需要一个空格,如果没有正常显示,请注意其前面的描述符是否一共占有6个字符
-
- 太平洋旅行准备
- 准备邮轮上需要携带的物品
- 准备钱
- 勾搭一个外国小姑娘
- 做梦
- 醒醒
HTML标签
前面有说HTML是Markdown的一个子集,理所当然HTML中的标签也是能够直接使用的
比如
- 大标题 -
<h1>我是大标题</h1>
- 居中 -
<center>我是居中的块</center>
- 靠右 -
我是靠右的块
为了生成目录的规范,这里不做演示效果。markdown文件还是具备自动生成目录效果的
若想在文章最前面显示目录,使用[TOC]
同样非传统md标签,仅在某些md编辑器有效
工具推荐
Chrome
浏览器版本最大的好处是跨平台markdown-here
等非常方便。缺点是国内无法访问。
在线
Cmd Markdown和马克飞象,后者可以绑定印象笔记,不过收费。
Windows
MarkdownPad,不过免费版的体验不是很好。
macOs
Mou 是中国人开发的。 在AppStore有很多,但是好用的很贵。
Linux
Android
没有Android手机,未曾使用过
IOS
MWeb,可以保存到iCloud、Dropbox,收费.免费版可保存在沙盒中
我们可以问一个问题,其发明者用什么来写Markdown。其实markdown发明的目的是为了简单,而追求工具已经脱离了简单的范畴了。不过简单不代表好用嘛,重点还是要达到我们的目的,这个需要进行很多的尝试,每个人的喜好是不同的。
我用的就两个 SublimeText和Cmd Markdown
前者只是单纯的编辑器,并无渲染效果,后者必须联网。
后记
Markdown如今很多的公司在使用,同时,各家为markdown增加了很多不同的功能。可同样因此,markdown语法存在一定程度的碎片化。
不成规矩不成方圆,一群科技公司发起的Standard Markdown项目,准备建立Markdown标准,没想到惹怒了健在的创始人John Gruber,Gruber认为无论这些人在标准化上面做什么努力,都不可以称其为Markdown。因此他要求标准化团队更换“Standard Markdown”的名字,关闭同名网站并且对他公开道歉。
最后,标准化团队决定新标准取名为CommonMark
我很烦这些没有标准的东西,就像当年野蛮生长的浏览器,在这几年才终于被W3C组织标准化了。标准的好处是显而易见的,中国的古语云:不成规矩,没有方圆。有了尺规,什么图形都能画出来。我不了解这件事背后的故事,但是总是感觉CommonMark不是markdown一样,原作者已有的项目,后来人直接fork改进不就好了吗?为什么要重复造轮子?而且明显没有和已经健在的一位创始人联系,难怪其在twitter上用@markdown这个账号去表达自己的强烈不满。
不管是是非非,作为用户,感谢他们。
另外,此文章就是用markdown构建,下载也许对学习有帮助,下载请右击另存为,之后修改后缀名为.md