Markdown语法参考-基础与高级用法
Markdown 是一种轻量级标记语言,它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者 HTML)文档”。被广泛应用于博客,网页与技术文档中
为什么选择 Markdown
- 它基于纯文本,方便修改和共享;
- 几乎可以在所有的文本编辑器中编写;
- 有众多编程语言的实现,以及应用的相关扩展;
- 在 GitHub 等网站中有很好的应用;
- 很容易转换为 HTML 文档或其他格式;
- 适合用来编写文档、记录笔记、撰写文章。
Markdown 语法
段落与换行
段落的前后必须是空行:空行指的是行内什么都没有,或者只有空白符(空格或制表符).相邻两行文本,如果中间没有空行 会显示在一行中(换行符被转换为空格)
如果需要在段落内加入换行(<br>):可以在前一行的末尾加入至少两个空格,然后换行写其它的文字
Markdown 中的多数区块都需要在两个空行之间。
标题
一般用对称的 # 包括文本,或者只在左边使用 #。例如下面的语句:
#### 标题4 ######### 标题5
标题4
标题5
其中加几个#表示几级标题,在#符号内侧一般会加上空格
引用
1. 引用内容
在段落或其他内容前使用 > 符号,就可以将这段内容标记为 ‘引用’ 的内容:
>引用内容
引用内容
2. 多行引用
多行引用可以在每行前加 >
,也可以仅在第一行使用 >
,后面相邻的行即使省略 >
,也会变成引用内容。
如果引用内容需要换行, 可以在行尾添加两个空格,或者在引用内容中加一个空行,如下所示:
>如果引用内容需要换行,
>可以在行尾添加两个空格
>
>或者在引用内容中加一个空行
列表
无序列表
* 可以使用 `*` 作为标记
+ 也可以使用 `+`
- 或者 `-`
上述语句的渲染结果为:
- 可以使用
*
作为标记
- 也可以使用
+
- 或者
-
有序列表
1. 有序列表以数字和 `.` 开始;
3. 数字的序列并不会影响生成的列表序列;
4. 但仍然推荐按照自然顺序(1.2.3...)编写。
上述语句的渲染结果为:
- 有序列表以数字和
.
开始; - 数字的序列并不会影响生成的列表序列;
- 但仍然推荐按照自然顺序(1.2.3…)编写。
嵌套(多层)列表
多层列表在符号或者序号前加上tab即可
1. 第一层+ 1-1+ 1-2
2. 无序列表和有序列表可以随意相互嵌套1. 2-12. 2-2
- 第一层
- 1-1
- 1-2
- 无序列表和有序列表可以随意相互嵌套
- 2-1
- 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")
强调
- 使用 * * 或 _ _ 包括的文本会被转换为 <em></em> ,通常表现为斜体:
这是用来 *演示* 的 _文本_
这是用来 演示 的 文本
- 使用 ** ** 或 __ __ 包括的文本会被转换为 <strong></strong>,通常表现为加粗:
这是用来 **演示** 的 __文本__
这是用来 演示 的 文本
- 用来包括文本的 * 或 _ 内侧不能有空白,否则 * 和 _ 将不会被转换(不同的实现会有不同的表现):
这是用来 * 演示* 的 _文本 _
这是用来 * 演示* 的 _文本 _
- 如果需要在文本中显示成对的 * 或 _,可以在符号前加入 (转义字符) 即可:
这是用来 \*演示\* 的 \_文本\_
这是用来 *演示* 的 _文本_
- *、**、_ 和 __ 都必须 成对使用 。
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 |
|---------|----------------------------------|
|   | 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语法参考-基础与高级用法相关推荐
- Markdown语法-从基础到进阶
时代在进步,越来越多的人和软件开始使用Markdown进行文字编辑,其编辑方便性让很多人爱不释手.但是,不可避免的问题是,在编辑的时候,经常会需要去google,毕竟,习惯了office的可视化操作符 ...
- 掘金的markdown语法参考
markdown简介 Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的 HTML 页面.--维基百科 markdown优势 纯文本,易于编辑,跨 ...
- Markdown语法学习-基础语法
前言 本人是一名普通二本的在读大一学生,准备在机械.编程.嵌入式开发等这一些方面深耕.现在也在准备经营属于自己的博客.因为是新手小白,没有什么基础,所以在前期会发一些比较基础的内容,在网上都是可以随便 ...
- Markdown语法:基础编写方式
一.为什么使用Markdown? 使用Markdown的契机在于自己建立的blog网站,在发布博文是不可能只是发布一段纯粹的文本吧,没有样式,没有标题,这样子会导致阅读时比较困难,因此使用Markdo ...
- 对于刚开始使用该软件,应该在熟悉基本的markdown语法的基础上,再进行快捷键的使用!...
一级标题 # 空格 编写内容 二级标题 ## 空格 编写内容 有序内容 1.+Tab 无序内容 -+Tab 代码块 print("hello wrold") typora快捷键 c ...
- Typora基础设置、MarkDown语法
Typora基础设置.MarkDown语法 Typora基础设置 通用设置 可以设置启动Typora软件时,打开文件的方式.以下四种可供选择 打开一个新的文件? 重新打开上次使用的目录? 重新打开上次 ...
- markdown基本语法(基础入门)
markdown语法 基础语法 标题 Markdown支持6种级别的标题,对应html标签 h1 ~ h6 # h1 ## h2 ### h3 #### h4 ##### h5 ###### h6 段 ...
- python基础和第三方库 笔记(python基础完结包括高级用法,第三方库持续更新中...)
python基础 注:本笔记面向有一定基础的人 本笔记是本人快速复习python过程中记录的,不适合零基础的人学习python的主工具,可以作为辅工具,本笔记记录了入门阶段常用操作,如有错误的地方,希 ...
- Markdown语法-基础
2019独角兽企业重金招聘Python工程师标准>>> 1. 标题 Markdown支持两种标题标记语法,我个人常用的是 # 井号标记,使用很简单,在文字前添加 1-6个# ,分别代 ...
最新文章
- asp vb 插入,更新,删除数据库操作。
- 新手科普 | 探索机器学习模型,保障账户安全
- js word 预览_微软补丁日:Word/DHCP/LNK远程代码执行漏洞预警
- 【转载】利用scipy.misc等库对jpg以及png等图像数据预处理(用于深度学习喂数据)...
- 赛可达实验室发布2015测评认证标准
- stdio.h与conio.h
- centos下svn和Apache的结合使用
- python登录网页版易信_易信网页版下载|易信网页版登陆客户端官方最新版 2.1.1103.0 - 系统天堂...
- linux内核C -- 第04课:Linux内核第一宏——container_of
- 挑选了适合测试边界的汉字及截图
- 安装linux取消硬盘密码设置,Linux Deepin安装到硬盘图文过程
- 【3dmax千千问】初学3dmax插件神器第21课:3dmax渲染教程|疯狂模渲大师怎么深度讲解VRAY渲染器的用法呢?室内设计师怎么用VRAY渲染3dmax效果图的模型?
- 【项目】#防翟天临老师翻车神器# ——实现文本查重
- unicast、multicast和broadcast
- android 字体倒影,android实现TextView文字倒影效果
- python的拼音_Python返回汉字的汉语拼音(原创) | 学步园
- 通过快递100获取快递单号,结合c-lodop热敏纸打印 – 通过菜鸟ISV/自研ERP使用菜鸟电子面单...
- 电路板级的EMC设计 (2)元件的选择和电路设计技术
- 2022/9/5 嵌套路由(靠路由在vue里渲染套渲染),动态路由匹配以及开启propos配置动态路由
- 奋斗的小青年的逻辑回归整理
热门文章
- 视频教程-热更新框架设计之客户端热更框架(中部)视频课程-Unity3D
- “基因编辑婴儿”背后到底用了什么术?
- python的取整和取余_python取余取整
- 宇宙天团之兔歪夫--碗
- Qt Quick实现局域网聊天V4版本(支持GIF动图表情包、消息聊天、拖动缩放窗口、支持Linux编译)
- Vue生命周期中mounted、created、methods、computed、watched等的区别
- java finalize 作用_java中的finalize方法有什么作用
- 连接语音服务器异常,“吃鸡”语音服务器异常是怎么回事?连麦上分的最大优点是什么?...
- pytorch-实现运动鞋品牌识别
- 世界上最卑劣的国家---新加坡