Markdown使用手册

标记语言,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
#include <stdio.h>
int main(int argc, char const *argv[]){
/* 注释的效果也不错 */
printf("%s\n","这里是markdown_ext" );
return 0;
}


强调

在强调内容两侧分别加上*或者_,如:

*斜体*,_斜体_
**粗体**,__粗体__

效果:

斜体,_斜体_
粗体粗体

注意:需要和普通段落之间存在空行。同时中文下不建议使用斜体,当然在语法上是没有错误的


列表

无序列表

使用*+、或-标记,如:
- 第一项
+ 第二项
* 第三项

注意:标记后面最少有一个_空格_或制表符

效果:

  • 第一项
  • 第二项
  • 第三项

有序列表

有序列表的标记方式是将上述的符号换成数字,并辅以.,如:

1 . 第一项
2 . 第二项
3 . 第三项

效果:

  1. 第一项
  2. 第二项
  3. 第三项

分割线

分割线最常使用就是三个或以上*,还可以使用-_。效果相同。

本文中每一小节都有分割线,使用三个*号。


链接

链接可以由两种形式生成:行内式参考式
行内式

[Markdown使用手册](./Markdown使用手册 “Markdown”)。

效果:

Markdown使用手册

比如:
[Wexpeng的博客][1]
[wexpeng的电子邮箱][2]
[1]:https://wexpeng.github.io “Blog”
[2]:mailto://wexpeng@gmail.com “Email”

效果:

Wexpeng的博客
Wexpeng电子邮箱

图片

添加图片的形式和链接相似,只需在把链接换成图片链接,再在最前方加一个。、

比如
![这里是在没有获得到图片文件的时候显示的文字](../images/img.png “这里是图片描述,可以留空”)

效果
这里是在没有获得到图片文件的时候显示的文字

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 公式指导手册

待办事项

-[ ] 未完成事项
-[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

ReText

Android

没有Android手机,未曾使用过

IOS

MWeb,可以保存到iCloud、Dropbox,收费.免费版可保存在沙盒中

我们可以问一个问题,其发明者用什么来写Markdown。其实markdown发明的目的是为了简单,而追求工具已经脱离了简单的范畴了。不过简单不代表好用嘛,重点还是要达到我们的目的,这个需要进行很多的尝试,每个人的喜好是不同的。

我用的就两个 SublimeTextCmd Markdown
前者只是单纯的编辑器,并无渲染效果,后者必须联网。

后记

Markdown如今很多的公司在使用,同时,各家为markdown增加了很多不同的功能。可同样因此,markdown语法存在一定程度的碎片化。

不成规矩不成方圆,一群科技公司发起的Standard Markdown项目,准备建立Markdown标准,没想到惹怒了健在的创始人John Gruber,Gruber认为无论这些人在标准化上面做什么努力,都不可以称其为Markdown。因此他要求标准化团队更换“Standard Markdown”的名字,关闭同名网站并且对他公开道歉。

最后,标准化团队决定新标准取名为CommonMark


我很烦这些没有标准的东西,就像当年野蛮生长的浏览器,在这几年才终于被W3C组织标准化了。标准的好处是显而易见的,中国的古语云:不成规矩,没有方圆。有了尺规,什么图形都能画出来。我不了解这件事背后的故事,但是总是感觉CommonMark不是markdown一样,原作者已有的项目,后来人直接fork改进不就好了吗?为什么要重复造轮子?而且明显没有和已经健在的一位创始人联系,难怪其在twitter上用@markdown这个账号去表达自己的强烈不满。

不管是是非非,作为用户,感谢他们。

另外,此文章就是用markdown构建,下载也许对学习有帮助,下载请右击另存为,之后修改后缀名为.md