Markdown 快速入门上(基础语法篇)
Markdown 快速入门上(基础语法篇)
1. 简介
Markdown 是一门轻量级的标记性语言,可以用来修饰纯文本使得文档具有一定的优美格式。
像Microsoft Word 文本编辑器, 你需要点击按钮来格式化文档的内容, 并且修改后的内容是实时反馈的, 但是Markdown 不一样,当你在编辑一个Markdown格式的文档时,你只需要在纯文本中插入Markdown语法,被语法标注的纯文本就能根据你的需求显示不同的效果。
这样你就只需要使用普通的纯文本编辑器,比如Sublime就可以写出比较漂亮的文档出来,而且可以通过安装插件显示出文档的格式效果来。由于Markdown只是一种语言,因此编辑出来的文档具有很好的跨平台性,这就意味着你在Win平台下面编辑的文档不需要做任何修改就可以在Linux或者MAC下直接显示效果。另外还有一些在线的网站,如简书可以直接进行Markdown的编辑和显示。这对程序员写文档来说绝对是一个福音, 我们不仅可以用Markdown来记录自己的知识,还能在必要的时候不需要进行任何额外的修改就能放到一些主流网站上去与其他的人一起分享。
为什么使用Markdown
Markdown 可以用来编辑任何性质和形式的文档。人们可以用来编辑网站档案,笔记,出版书,论文,邮件和技术文档等等。
Markdown 灵活性很强。Markdown格式的文档不限制使用哪一种应用来打开。如果你不满意你现在正在使用的Markdown应用,你可以选择一款你更喜欢的应用,市面上有很多编辑器直接或通过插件就能方便预览文档Markdown格式。这与一般的文字处理应用如Microsoft Word 就有很大的区别, 一般Word 编辑的格式只能通过Word或者同类兼容软件来打开,这样在做文档分享时候有时会遇到很大的麻烦,甚至需要重新编辑,费时费力。
Markdown与平台无关。你可以在任何操作系统中打开Markdown文档。
Markdown无处不在。像Reddit和GitHub网站都是支持Markdown的,并且越来越多的网站会加入到Markdown队列中来,这是一个趋势。
2. 基本语法
Markdown的语法可以分为基本语法 和扩展语法, 市场的Markdown应用都应该支持基本语法。
一、标题
Markdown 在创建标题时需要在文字或者段落的前面加上**#符号,#**的数量取决于当前标题的级别,如下
示例
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题效果
一级标题
二级标题
三级标题
四级标题
五级标题
对于一级标题和二级标题还有一种语法可以来标记,可以在一级标题下面加任意数量的**==, 在二级标题下加任意数量的–**,具体效果如下
- 示例
一级标题
====
二级标题
----
- 效果
一级标题
二级标题
二、段落
创建段落时候 ,可以使用空行来隔离一行或者多行。除非段落是列表, 否则不要使用空格或者TAB来缩进段落。
示例
散文,汉语词汇,拼音是sǎn wén。一指文采焕发;二指犹行文; [1] 三指文体名。随着时代的发展,散文的概念由广义向狭义转变,并受到西方文化的影响。
散文是一种抒发作者真情实感、写作方式灵活的记叙类文学体裁。“散文”一词大概出现在北宋太平兴国(976年12月-984年11月)时期。
《辞海》认为:中国六朝以来,为区别韵文与骈文,把凡不押韵、不重排偶的散体文章(包括经传史书),统称“散文”。后又泛指诗歌以外的所有文学体裁。
三、强调(字体)
Markdown可以将字体格式化为加粗或者斜体。
- 加粗
在文字前后都加上两个星号或者下划线来将其中间的文字加粗, 注意的是星号或者下划线与文字之间不能有空格。
- 示例
散文是一种抒发作者真情实感、写作方式灵活的**记叙类**文学体裁。
散文是一种抒发作者真情实感、写作方式灵活的 _记叙类_ 文学体裁。
- 效果
散文是一种抒发作者真情实感、写作方式灵活的记叙类文学体裁。
散文是一种抒发作者真情实感、写作方式灵活的 记叙类 文学体裁。
需要注意的是有时候下划线无法处理连续文字的中间部分,这个时候就需要使用星号来处理。所以一般的,推荐使用星号来加粗。
Do this | Don’t do this |
---|---|
Love**is**bold | Love__is__bold |
- 斜体
在文字前后都加上单个星号或者下划线来将其中间的文字加粗, 注意的是星号或者下划线与文字之间不能有空格。
- 示例
散文是一种抒发作者真情实感、写作方式灵活的*记叙类*文学体裁。
散文是一种抒发作者真情实感、写作方式灵活的 _记叙类_ 文学体裁。
- 效果
散文是一种抒发作者真情实感、写作方式灵活的记叙类文学体裁。
散文是一种抒发作者真情实感、写作方式灵活的 记叙类 文学体裁。
需要注意的是有时候下划线无法处理连续文字的中间部分,这个时候就需要使用星号来处理。所以一般的,和加粗一样推荐使用星号来加粗。
Do this | Don’t do this |
---|---|
Love*is*bold | Love_is_bold |
- 加粗并倾斜
在文字前后都加上三个连续的星号或者下划线来将其中间的文字加粗并倾斜, 注意的是星号或者下划线与文字之间不能有空格。使用方法和上面两种一致。这里仅以星号为例:
- 示例
散文是一种抒发作者真情实感、写作方式灵活的*记叙类*文学体裁。
- 效果
散文是一种抒发作者真情实感、写作方式灵活的***记叙类***文学体裁。
四、引用块
Markdown在每行使用一个**>来标记引用一行,自然在引用多行时就需要在多行都使用>**来标记,并且可以和其它标记元素嵌套使用。
- 多行引用
示例
> ## 绝句
>两个*黄鹂**鸣翠柳,一行白鹭上青天。
>
>窗含西岭*千秋雪,门泊东吴万里船。效果
## 绝句
两个黄鹂鸣翠柳,一行白鹭上青天。
窗含西岭千秋雪,门泊东吴万里船。
- 嵌套引用
Markdown可以在每行多个**>来嵌套引用,>**的个数表示引用嵌套的层数。
- 示例
>两个黄鹂鸣翠柳,一行白鹭上青天。
>>两个黄鹂鸣翠柳,一行白鹭上青天。
>>>两个黄鹂鸣翠柳,一行白鹭上青天。
>>>>两个黄鹂鸣翠柳,一行白鹭上青天。
>>>>>两个黄鹂鸣翠柳,一行白鹭上青天。
- 效果
两个黄鹂鸣翠柳,一行白鹭上青天。
两个黄鹂鸣翠柳,一行白鹭上青天。
两个黄鹂鸣翠柳,一行白鹭上青天。
两个黄鹂鸣翠柳,一行白鹭上青天。
两个黄鹂鸣翠柳,一行白鹭上青天。
五、列表
Markdown中列表可以分为两种,分别是有序列表和无序列表。列表可以与其他的标记符号进行嵌套使用。
有序列表
在纯文本前面加数字和英文句号表示一个有序列表。注意其中Markdown 语法没有要求数字是连续的,但是列表必须以数字1开头。显示效果会自动从1开始递增。
- 示例
\1. 第一项
\3. 第二项
\5. 第三项
\4. 第四项
- 效果
- 第一项
- 第二项
- 第三项
- 第四项
无序列表
无序列表可以在文本前面通过使用破折号(-),星号(*),或者加号(+)中的任意一种来标记。并且通过缩进来表示嵌套的列表。以下以加号(+)作为例子来演示。
示例
+ 第一项
+ 第二项
+ 嵌套列表第一项
+ 嵌套列表第二项
+ 第三项效果
- 第一项
- 第二项
- 嵌套列表第一项
- 嵌套列表第二项
- 第三项
注意在一个列表中请务必使用同一种标记符号。
有序列表和无序列表嵌套
- 示例
\1. 第一项
\3. 第二项
\5. 第三项
+ 嵌套第一项
+ 嵌套第二项
\4. 第四项
- 效果
- 第一项
- 第二项
- 第三项
- 嵌套第一项
- 嵌套第二项
- 第四项
六、 图片
在Markdown文档中插入图片的基本语法如下:
- 语法: ![tag](link address"title")
- tag: 用来描述图片的关键词
- link address: 图片的绝对地址,可以是本地的也可以是网络的
- title: 当鼠标悬置于图片上时,出现的文字标题内容
- 示例
![cute_cat](https://camo.githubusercontent.com/d518d3929e4054ce2f9183b23e52908da7e5632d/687474703a2f2f692e696d6775722e636f6d2f736732646b75592e706e673f31"cute_cat") - 效果
由于本地图片只能在本地引用,这样在其他平台打开的话,图片就会失效,这个时候有一种方法就是将图片放在永久有效的网络服务器上,称之为图床。这里关于创建图床的方法可以参考: 图床连接简书连接 。
七、 代码
- 代码
一般地需要将文字或者段落表示为代码时,可以使用反引号来标记(`). 当段落中原本就有反引号的情况下需要使用双反应号来标记(``)
- 示例
At the command prompt, type `nano`.
``At the command prompt, type `nano`. ``
- 效果
At the command prompt, type nano
.
At the command prompt, type `nano`.
- 列表中代码块
在Markdown中一般的代码块是通过缩进四个空格或者一个Tab来标记的。但是当这部分代码块是嵌套在列表中时,必须使用八个空格或者两个Tab来标记。
效果
Open the file.
Find the following code block on line 21:
<html><head><title>Test</title></head>
Update the title to match the name of your website.
八、水平分割线
水平分割线可以用三个或者多个星号 (***), 破折号(—), or 下划线(___) 来标记。为了兼容性,推荐在水平分割线前后加上空行。
- 示例
***
—
___
- 效果
九、 超链接
在Markdown文档中插入超链接的基本语法主要有两种,每一种都可以与其它标记符号嵌套使用。
- 带标题的超链接
语法: [title](URL Address)
- title: 在文档中显示的关于超连接诶的提示内容
- URL Address: 超链接地址
示例
前面在图片章节实际上已经插入过超链接,这里再次作为示例来演示。
**[图床连接简书连接](https://www.jianshu.com/p/ea1eb11db63f)**
- 效果
图床连接简书连接
- 直接显示地址的超链接
Markdown中可以直接将URL或者邮箱地址直接放在尖括号中间来标记为插连接,鼠标点击该链接即可跳转到对应网页上去。对于点击邮箱地址,如果你安装了邮箱应用,那就直接跳转到写邮件页面。
- 示例
<https://www.jianshu.com/p/ea1eb11db63f>
- 效果
https://www.jianshu.com/p/ea1eb11db63f
十、 转义字符
由于标记字符都是作为格式化用途并不能被显示,markdown 和大多数其他语言一样使用反斜杠(\) 号来转义,意思就是不要把\ 后面的地府识别为标记字符。
可被转义的标记字符如下表:
标记字符 | 名字 |
---|---|
\ | backslash |
` | backtick (see also escaping backticks in code) |
* | asterisk |
- | underscore |
{ } | curly braces |
[ ] | brackets |
( ) | parentheses |
# | pound sign |
+ | plus sign |
- | minus sign (hyphen) |
. | dot |
! | exclamation mark |
| | pipe (see also escaping pipe in tables) |
Markdown 快速入门上(基础语法篇)相关推荐
- 【C++快速入门】基础语法篇
C++基础语法 C++介绍 cin.cout 函数重载(Overload) 默认参数 extern "C" #pragma once 内联函数(inline function) 内 ...
- 【校招Verilog快速入门】基础语法篇:VL1、四选一多路器
文章目录 一.题目 二.题解 一.题目 描述 制作一个四选一的多路选择器,要求输出定义上为线网类型 状态转换: d0 11 d1 10 d2 01 d3 00 信号示意图: 波形示意图: 输入描述: ...
- Kotlin快速入门:基础语法、类与继承、集合
参考书籍: <AtomicKotlin>,全英文,读起来慢,但是写得很详细,没有任何语言基础的也能看懂 <第一行代码 Android 第三版>,第二章,有java基础的看一看就 ...
- MVEL快速入门—MVEL基础语法讲解(一)
概述 MVEL是从英文翻译而来的,MVFLEX表达式语言是Java平台的动态/静态混合类型的运行时可嵌入表达式语言.该项目最初是作为应用程序框架的实用语言开始的,现在已完全独立开发.MVEL通常用于通 ...
- 【Golang 快速入门】高级语法:反射 + 并发
Golang 快速入门 Golang 进阶 反射 变量内置 Pair 结构 reflect 结构体标签 并发知识 基础知识 早期调度器的处理 GMP 模型 调度器的设计策略 并发编程 goroutin ...
- web快速入门之基础篇-js:3_3、简易购物车
目录 一.前言 二.js代码实例演示 1.简易购物车01_数量变化 (1)实例代码 (2)效果演示 2.简易购物车02_数量价格同步 (1)实例代码 (2)效果演示 一.前言 上一篇介绍了DHTML对 ...
- web快速入门之基础篇-html:2、基本标签之标题标签、段落标签、换行标签
目录 一.前言 二.简单实例介绍 实例代码 运行效果 三.要点说明 1.h1到h6 标题标签 2.p 段落标签 3.br 换行标签[单标记] 一.前言 上一篇文章我整理以前上学的笔记是初见 html ...
- 教你从0到1搭建秒杀系统-Canal快速入门(番外篇)
Canal用途很广,并且上手非常简单,小伙伴们在平时完成公司的需求时,很有可能会用到.本篇介绍一下数据库中间件Canal的使用. 很多时候为了缩短调用延时,我们会对部分接口数据加入了缓存.一旦这些数据 ...
- markdown快速入门之有道云笔记七牛图床与极简图床共舞
markdown快速入门之有道云笔记&七牛图床与极简图床共舞 为了方便编写博客,由于我对markdown的简约写法情有独钟,我一直相信磨刀不误砍柴工的道理,于是花了一个下午研究如何能在以后的编 ...
最新文章
- MySQL约束不起作用怎么解决_MySQL中的CHECK约束不起作用
- 输出商品列表 用户输入序号 显示用户选中的商品
- idea中maven导入jar包
- 【Android 逆向】代码调试器开发 ( ptrace 函数 | 读寄存器 | 写寄存器 )
- 权威公布:彻底搞清楚哪些笔记本和台式机主板能够支持42mm SATA M.2 NGFF(2242)接口的固态硬盘!!!...
- 最优化作业讲解01:标准化线性规划(LP)
- React-引领未来的用户界面开发框架-读书笔记(五)
- 【排序算法】计数排序
- ESLint + lint-staged 禁用老项目中的es6
- 关于微信旧版本扫码登陆,旧版的登陆限制的一些经验
- OpenCV模板匹配(cv2.matchTemplate)
- 利用 JavaScript 快速切换正体中文和简体中文
- pytorch tensor索引、切片、连接——Indexing, Slicing, Joining
- linux分区修复命令,在Linux下成功修复分区表出错
- JVAV - 对接支付宝- 下载对账单接口
- 桌面图标小箭头去除方法
- c语言大一,C语言复习 大一.doc
- [图]部分Surface Book 2升级Windows 10 May 2019出现显卡兼容问题
- [线段树分治][DP] LOJ #534. 「LibreOJ Round #6」花团
- 八皇后问题(回溯法amp;枚举法)
热门文章
- 新人第一次学C++的第七个项目
- 代号为qstar的新引擎诞生了
- S32K144功耗管理与系统模式控制
- 使用apimocker工具辅助测试
- 用Python做迷你世界
- 基于UMAT的低密度泡沫本构实现
- 本构二次开发 c语言,在ansys中使用usermat.F对超弹性本构Neo-Hookean进行二次开发的实例 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...
- Nginx如何支持HTTPS?手把手教贼简单!
- 初学3DMax第一课
- AI人脸识别+体​温检测系统解决方案