让你“疯狂”的标记语言

436 阅读3分钟

为什么需要学习Markdown标记语言?
答:Markdown是一种从文本向HTML转化的工具,只要我们按照MarkDown的语法书写文本,Markdown编辑器就会将其转换成HTML语言,从而使得文本结构看起来非常的清晰,并且Markdown提供了非常简单的语法,通过简单的符号就可以实现文本的结构化。

Markdown中可以内联HTML代码,并且不需要任何符号去标记这段代码是HTML的,只有在使用块级别的HTML元素周围需要使用空格或者tab字符与Markdown语法分隔开,比如:<div>、<table>、<pre>、<p>等。同时不可以在HTML代码块中使用Markdown语法,一般情况下我们是不需要在Markdown中嵌套HTML语法的。

第一部分 语 法

Header

Markdown中Header支持两种风格

  • Setext风格

    • 使用连续的=号表示一级标题
    • 使用连续的-号表示二级标题
  • atx风格

    • 使用几个#就表示几级标题 但是只有1-6等级

块引用

使用>符号实现块引用,其效果如下:

这是一个块引用

如果需要引用很长的东西,Markdown语法允许你只在每一段的开头加上>符号即可,但是分段是一行只有一个>符号实现分段,并且块引用可以嵌套,块引用里还可以包含其他Markdown的元素,比如代码块、标题、列表等

列表

  • 有序列表:有数字标识的,使用1. 、2. 来实现
  • 无序列表: 没有数字标识,可以通过*、+、-三种符号实现

在列表中加入引用块,需要缩进一个tab或4个空格,在列表中加入代码块,需要缩进两个tab或者8个空格

水平线

实现方式有多种
---------
***
_____

三个或者更多的*(星号)、-(连接线)、_(下划线)

连接

markdown支持两种风格的连接:

  • inline:[连接名](连接的地址 标题)
  • reference:类似于参考文献,分两步定义的
    • [连接名][连接标识]
    • [连接标识]: url 标题

上面的标题是可选的,如果写了标题必须使用单引号或者双引号或者()包起来,在reference中url还可以使用<>括起来,并且连接标识是大小写不敏感的

强调

  • 使用单 * 或者 _ 包围需要被强调的文本,被强调文本呈现斜体
  • 使用双 * 或者 _ 包围被强调的文本,被强调文本呈现加粗

代码

使用反引号 ( ` ) 来包围你的代码,如果你包围的代码中含有反引号,那么你可以使用两个反引号包围代码,单个反引号只能在一行内标识代码。 但是一般的markdown编辑器,会提供使用三个反引号去包围代码段,并且在三个反引号后写上这段代码是什么类型的语言,比如java,就 ```java 在回车就会出现一个代码框,里面识别java基本语法

图像

类似于连接也是有两种风格

  • inline:![图像说明](url或者path 可选的title)
  • reference:
    • 第一步是 [图像说明][标识]
    • 第二步是 [标识]: url或者路径 可选的title

可选的title需要使用单引号或者双引号包起来

自动连接

使用<>包围一个url或者邮箱地址,markdown帮助创建自动连接:比如juejin.cn/ markdown会帮你生成 juejin.cn/

注意:url必须是完整的,需要带上http,不然不会自动连接

转义字符(\)

转义字符可以帮助我们生成字符文本,而非markdown语法。比如:你在Markdown编辑器中想写一个< 字符串,由于Markdown会将其解析成 < ,此时你就可以写成 &lt; ,Markdown编辑器就会强制原文(<)输出,而不将其转换成转义后的字符

说明:以上只是markdown的原始用法,现在很多的markdown编辑器在此基础上加了一些常用的语法:比如插入公式使用$包围 以上部分内容翻译自MarkDown作者的博客:daringfireball.net/projects/ma…

第二部分 Markdown编辑器 Typora

官网:typora.io/

Typora是一款非常简洁、支持实时预览的Markdown编辑器,使用起来非常的便捷,更重要的是这款软件是免费的。

typora演示.gif 由于Markdown是将文本转换成HTML,所以可以使用CSS来美化我们的文本,在Typora中我们可以通过CSS来自定义我们自己的样式。Typora -> 偏好设置 -> 外观 -> 打开主题文件夹,我们只需要按照里面主题的规则来放置我们自己的样式即可,然后选择自定义的样式就可以实现在Typora中按照自定义的样式来编辑文档。