Markdown 是一种轻量级标记语言,它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者 HTML)文档”。被广泛应用于博客,网页与技术文档中

为什么选择 Markdown

  • 它基于纯文本,方便修改和共享;
  • 几乎可以在所有的文本编辑器中编写;
  • 有众多编程语言的实现,以及应用的相关扩展;
  • 在 GitHub 等网站中有很好的应用;
  • 很容易转换为 HTML 文档或其他格式;
  • 适合用来编写文档、记录笔记、撰写文章。

Markdown 语法

段落与换行

  1. 段落的前后必须是空行:空行指的是行内什么都没有,或者只有空白符(空格或制表符).相邻两行文本,如果中间没有空行 会显示在一行中(换行符被转换为空格)

  2. 如果需要在段落内加入换行(<br>):可以在前一行的末尾加入至少两个空格,然后换行写其它的文字

  3. Markdown 中的多数区块都需要在两个空行之间。

标题

一般用对称的 # 包括文本,或者只在左边使用 #。例如下面的语句:

#### 标题4 #########  标题5

标题4

标题5

其中加几个#表示几级标题,在#符号内侧一般会加上空格

引用

1. 引用内容

在段落或其他内容前使用 > 符号,就可以将这段内容标记为 ‘引用’ 的内容:

>引用内容

引用内容

2. 多行引用

多行引用可以在每行前加 >,也可以仅在第一行使用 >,后面相邻的行即使省略 >,也会变成引用内容。
如果引用内容需要换行, 可以在行尾添加两个空格,或者在引用内容中加一个空行,如下所示:

>如果引用内容需要换行,
>可以在行尾添加两个空格
>
>或者在引用内容中加一个空行

列表

无序列表

* 可以使用 `*` 作为标记
+ 也可以使用 `+`
- 或者 `-`

上述语句的渲染结果为:

  • 可以使用 * 作为标记
  • 也可以使用 +
  • 或者 -

有序列表

1. 有序列表以数字和 `.` 开始;
3. 数字的序列并不会影响生成的列表序列;
4. 但仍然推荐按照自然顺序(1.2.3...)编写。

上述语句的渲染结果为:

  1. 有序列表以数字和 . 开始;
  2. 数字的序列并不会影响生成的列表序列;
  3. 但仍然推荐按照自然顺序(1.2.3…)编写。

嵌套(多层)列表

多层列表在符号或者序号前加上tab即可

1. 第一层+ 1-1+ 1-2
2. 无序列表和有序列表可以随意相互嵌套1. 2-12. 2-2
  1. 第一层
  • 1-1
  • 1-2
  1. 无序列表和有序列表可以随意相互嵌套
  2. 2-1
  3. 2-2

代码

代码块

可以使用缩进来插入代码块,但是一般我们使用 ``````来包含多行代码
```
<p>code here</p>
```
上述语句的渲染结果为:

<p>code here</p>

代码高亮

在上面的代码块语法基础上,在第一组 ```之后添加代码的语言,如 ‘javascript’ 或 ‘js’,即可将代码标记为 JavaScript,同时可以将对应代码高亮

```js
window.addEventListener(‘load’, function() {
console.log(‘window loaded’);
});
```

window.addEventListener('load', function() {console.log('window loaded');
});

Markdown支持的语言与相应关键字有:

名称 关键字 调用的js 说明
AppleScript applescript shBrushAppleScript.js
ActionScript 3.0 actionscript3 , as3 shBrushAS3.js
Shell bash , shell shBrushBash.js
ColdFusion coldfusion , cf shBrushColdFusion.js
C cpp , c shBrushCpp.js
C# c# , c-sharp , csharp shBrushCSharp.js
CSS css shBrushCss.js
Delphi delphi , pascal , pas shBrushDelphi.js
diff&patch diff patch shBrushDiff.js 用代码版本库时,遇到代码冲突,其语法就是这个.
Erlang erl , erlang shBrushErlang.js
Groovy groovy shBrushGroovy.js
Java java shBrushJava.js
JavaFX jfx , javafx shBrushJavaFX.js
JavaScript js , jscript , javascript shBrushJScript.js
Perl perl , pl , Perl shBrushPerl.js
PHP php shBrushPhp.js
text text , plain shBrushPlain.js 就是普通文本.
Python py , python shBrushPython.js
Ruby ruby , rails , ror , rb shBrushRuby.js
SASS&SCSS sass , scss shBrushSass.js
Scala scala shBrushScala.js
SQL sql shBrushSql.js
Visual Basic vb , vbnet shBrushVb.js
XML xml , xhtml , xslt , html shBrushXml.js
Objective C objc , obj-c shBrushObjectiveC.js
F# f# f-sharp , fsharp shBrushFSharp.js
R r , s , splus shBrushR.js
matlab matlab shBrushMatlab.js
swift swift shBrushSwift.js
GO go , golang shBrushGo.js

上述表格应该包括所有的常使用的代码语言,但肯定不包括所有的语言,如有缺失欢迎指出

分隔线

可以在一行中使用三个或更多的 *、- 或 _ 来添加分隔线:

***
------
___

超链接

格式为[link text](URL ‘title text’)

[Google](http://www.google.com/)

上述语句的渲染结果为:
Google

同时也可以创建指向本地文件的链接:

[icon.png](./images/icon.png)

图像

插入图片的语法和插入超链接的语法基本一致,只是在最前面多一个 !.

![GitHub](https://avatars2.githubusercontent.com/u/3265208?v=3&s=100 "GitHub,Social Coding")

强调

  1. 使用 * * 或 _ _ 包括的文本会被转换为 <em></em> ,通常表现为斜体:
这是用来 *演示* 的 _文本_

这是用来 演示文本

  1. 使用 ** ** 或 __ __ 包括的文本会被转换为 <strong></strong>,通常表现为加粗:
这是用来 **演示** 的 __文本__

这是用来 演示文本

  1. 用来包括文本的 * 或 _ 内侧不能有空白,否则 * 和 _ 将不会被转换(不同的实现会有不同的表现):
这是用来 * 演示* 的 _文本 _

这是用来 * 演示* 的 _文本 _

  1. 如果需要在文本中显示成对的 * 或 _,可以在符号前加入 (转义字符) 即可:
这是用来 \*演示\* 的 \_文本\_

这是用来 *演示* 的 _文本_

  1. *、**、_ 和 __ 都必须 成对使用 。

Markdown字符转义

反斜线(\)用于插入在 Markdown 语法中有特殊作用的字符。

这是用来 *演示* 的 _文本_这是用来 \*演示\* 的 \_文本\_

第一句结果出来的结果为:
这是用来 演示文本
而第二句的结果为:
这是用来 *演示* 的 _文本_

这些需要转义的字符包括:

\
`
*
_
{}
[]
()
#
+
-
.
!

删除线

这就是 ~~删除线~~

这就是 删除线

表格

单元格和表头

使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行:

name | age
---- | ---
LearnShare | 12
Mike |  32
name age
LearnShare 12
Mike 32

为了美观,可以使用空格对齐不同行的单元格,并在左右两侧都使用 | 来标记单元格边界:

|    name    | age |
| ---------- | --- |
| LearnShare |  12 |
| Mike       |  32 |
name age
LearnShare 12
Mike 32

为了使 Markdown 更清晰,| 和 - 两侧需要至少有一个空格(最左侧和最右侧的 | 外就不需要了)。

对齐

在表头下方的分隔线标记中加入 :,即可标记下方单元格内容的对齐方式:

  • :— 代表左对齐
  • :–: 代表居中对齐
  • —: 代表右对齐
| left | center | right |
| :--- | :----: | ----: |
| aaaa | bbbbbb | ccccc |
| a    | b      | c     |
left center right
aaaa bbbbbb ccccc
a b c

如果不使用对齐标记,单元格中的内容默认左对齐;表头单元格中的内容会一直居中对齐(不同的实现可能会有不同表现)。

在表格单元格里换行

借助于 HTML 里的
实现。

示例代码:

| Header1 | Header2                          |
|---------|----------------------------------|
| item 1  | 1. one<br />2. two<br />3. three |

示例效果:

Header1 Header2
item 1 1. one
2. two
3. three

在表格单元格里加入空格

直接在 Markdown 里用空格和 Tab 键缩进在渲染后会被忽略掉,需要借助 HTML 转义字符在行首添加空格来实现,  代表半角空格,  代表全角空格

| Header1 | Header2                          |
|---------|----------------------------------|
| &ensp;   | one
Header1 Header2
one

同理,这个方法可以在任何需要添加空格和缩进的地方使用

任务清单

- [ ] Eat
- [x] Code- [x] HTML- [x] CSS- [x] JavaScript
- [ ] Sleep
  • Eat
  • Code
    • HTML
    • CSS
    • JavaScript
  • Sleep

添加emoji

更多可用 Emoji 代码参见 https://www.webpagefx.com/tools/emoji-cheat-sheet/

我和我的小伙伴们都笑了。:smile:

我和我的小伙伴们都笑了。

Markdown语法参考-基础与高级用法相关推荐

  1. Markdown语法-从基础到进阶

    时代在进步,越来越多的人和软件开始使用Markdown进行文字编辑,其编辑方便性让很多人爱不释手.但是,不可避免的问题是,在编辑的时候,经常会需要去google,毕竟,习惯了office的可视化操作符 ...

  2. 掘金的markdown语法参考

    markdown简介 Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的 HTML 页面.--维基百科 markdown优势 纯文本,易于编辑,跨 ...

  3. Markdown语法学习-基础语法

    前言 本人是一名普通二本的在读大一学生,准备在机械.编程.嵌入式开发等这一些方面深耕.现在也在准备经营属于自己的博客.因为是新手小白,没有什么基础,所以在前期会发一些比较基础的内容,在网上都是可以随便 ...

  4. Markdown语法:基础编写方式

    一.为什么使用Markdown? 使用Markdown的契机在于自己建立的blog网站,在发布博文是不可能只是发布一段纯粹的文本吧,没有样式,没有标题,这样子会导致阅读时比较困难,因此使用Markdo ...

  5. 对于刚开始使用该软件,应该在熟悉基本的markdown语法的基础上,再进行快捷键的使用!...

    一级标题 # 空格 编写内容 二级标题 ## 空格 编写内容 有序内容 1.+Tab 无序内容 -+Tab 代码块 print("hello wrold") typora快捷键 c ...

  6. Typora基础设置、MarkDown语法

    Typora基础设置.MarkDown语法 Typora基础设置 通用设置 可以设置启动Typora软件时,打开文件的方式.以下四种可供选择 打开一个新的文件? 重新打开上次使用的目录? 重新打开上次 ...

  7. markdown基本语法(基础入门)

    markdown语法 基础语法 标题 Markdown支持6种级别的标题,对应html标签 h1 ~ h6 # h1 ## h2 ### h3 #### h4 ##### h5 ###### h6 段 ...

  8. python基础和第三方库 笔记(python基础完结包括高级用法,第三方库持续更新中...)

    python基础 注:本笔记面向有一定基础的人 本笔记是本人快速复习python过程中记录的,不适合零基础的人学习python的主工具,可以作为辅工具,本笔记记录了入门阶段常用操作,如有错误的地方,希 ...

  9. Markdown语法-基础

    2019独角兽企业重金招聘Python工程师标准>>> 1. 标题 Markdown支持两种标题标记语法,我个人常用的是 # 井号标记,使用很简单,在文字前添加 1-6个# ,分别代 ...

最新文章

  1. asp vb 插入,更新,删除数据库操作。
  2. 新手科普 | 探索机器学习模型,保障账户安全
  3. js word 预览_微软补丁日:Word/DHCP/LNK远程代码执行漏洞预警
  4. 【转载】利用scipy.misc等库对jpg以及png等图像数据预处理(用于深度学习喂数据)...
  5. 赛可达实验室发布2015测评认证标准
  6. stdio.h与conio.h
  7. centos下svn和Apache的结合使用
  8. python登录网页版易信_易信网页版下载|易信网页版登陆客户端官方最新版 2.1.1103.0 - 系统天堂...
  9. linux内核C -- 第04课:Linux内核第一宏——container_of
  10. 挑选了适合测试边界的汉字及截图
  11. 安装linux取消硬盘密码设置,Linux Deepin安装到硬盘图文过程
  12. 【3dmax千千问】初学3dmax插件神器第21课:3dmax渲染教程|疯狂模渲大师怎么深度讲解VRAY渲染器的用法呢?室内设计师怎么用VRAY渲染3dmax效果图的模型?
  13. 【项目】#防翟天临老师翻车神器# ——实现文本查重
  14. unicast、multicast和broadcast
  15. android 字体倒影,android实现TextView文字倒影效果
  16. python的拼音_Python返回汉字的汉语拼音(原创) | 学步园
  17. 通过快递100获取快递单号,结合c-lodop热敏纸打印 – 通过菜鸟ISV/自研ERP使用菜鸟电子面单...
  18. 电路板级的EMC设计 (2)元件的选择和电路设计技术
  19. 2022/9/5 嵌套路由(靠路由在vue里渲染套渲染),动态路由匹配以及开启propos配置动态路由
  20. 奋斗的小青年的逻辑回归整理

热门文章

  1. 视频教程-热更新框架设计之客户端热更框架(中部)视频课程-Unity3D
  2. “基因编辑婴儿”背后到底用了什么术?
  3. python的取整和取余_python取余取整
  4. 宇宙天团之兔歪夫--碗
  5. Qt Quick实现局域网聊天V4版本(支持GIF动图表情包、消息聊天、拖动缩放窗口、支持Linux编译)
  6. Vue生命周期中mounted、created、methods、computed、watched等的区别
  7. java finalize 作用_java中的finalize方法有什么作用
  8. 连接语音服务器异常,“吃鸡”语音服务器异常是怎么回事?连麦上分的最大优点是什么?...
  9. pytorch-实现运动鞋品牌识别
  10. 世界上最卑劣的国家---新加坡