Markdown 基础语法

Markdown 基础语法

一、概述

大家好,我是Sruta 苏塔。

最近,我要开始写作并更新我的技术博客了,打算是一处写作,多处发表。如果能做到一处写作而多处发表时格式一样、而又不需要每次都重新调整一下格式呢?因为早有耳闻Markdown,于是很自然而然想到它。而且,尽量多地只使用键盘而少使用鼠标,这不是就是大多数程序员追求的一种输入方式吗?!于是搜集资料,学习语法,并整理如下。

用简洁易懂的语言和尽量美观的形式分享我所学的知识,这是我希望能够一直贯穿在我的博文分享之旅中的。Hope everyone enjoy it and can really learn something from it.

何为Markdown

Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者HTML)文档。——from 百度百科

二、基础语法

2.1 标题

标题的语法很直观,以#开头,几个#即表示几级标题。

语法:

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 最小只有六级标题

你可以选择性地「闭合」类 atx 样式的标题,这纯粹只是美观用的,若是觉得这样看起来比较舒适,你就可以在行尾加上 #,而行尾的 # 数量也不用和开头一样(行首的井字符数量决定标题的阶数):

# 一级标题 #
## 二级标题 ##
### 三级标题 ###
#### 四级标题 ####
##### 五级标题 #####
###### 最小只有六级标题 ######

以上两种写法的效果是一样的,如下:

一级标题

二级标题

三级标题

四级标题
五级标题
最小只有六级标题

2.2 斜体,加粗,斜体&加粗,删除线

语法:

*我是斜体*
**我被加粗了**
***我被加粗&斜体了***
~~我被删除了~~

效果:

我是斜体

我被加粗了

我被加粗&斜体了

我被删除了


2.3 引用

在引用的文字开头处加>即可,而且支持多层引用,几个>表示几层引用。

法语:

> 我是被引用的内容,而且是第一层引用。
>> 我是第二层引用。
>>> 我是第三层引用。
>>>> 我是第四层引用。
>>>>> 我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。

效果:

我是被引用的内容,而且是第一层引用。

我是第二层引用。

我是第三层引用。

我是第四层引用。

我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。我是第五层引用。

语法:

> 对于超过一行的引用,你可以在每一行开头处都加上一个`>`号,
> 就像在这里示例的一样。

> 当然也可以使用更简略的写法,即只在段头写一次`>`号即可。当然也可以使用更简略的写法,即只在段头写一次`>`号即可。当然也可以使用更简略的写法,即只在段头写一次`>`号即可。当然也可以使用更简略的写法,即只在段头写一次`>`号即可。当然也可以使用更简略的写法,即只在段头写一次`>`号即可。

效果:

对于超过一行的引用,你可以在每一行开头处都加上一个>号,
就像在这里示例的一样。

当然也可以使用更简略的写法,即只在段头写一次>号即可。当然也可以使用更简略的写法,即只在段头写一次>号即可。当然也可以使用更简略的写法,即只在段头写一次>号即可。当然也可以使用更简略的写法,即只在段头写一次>号即可。当然也可以使用更简略的写法,即只在段头写一次>号即可。


2.4 分割线

三个或者三个以上的 - 或者 * 都可以。

---
----
***
**** 后面不能跟任何内容,否则分割线失效。

效果如下:




**** 后面不能跟任何内容,否则分割线失效。


2.5 列表

无序列表

无序列表用 - + * 任何一种都可以

语法:

- 列表内容
* 列表内容
+ 列表内容

这几中写法,效果都是一样的,如下:

  • 列表内容
  • 列表内容
  • 列表内容
有序列表

数字+英文句点

语法:

1. 我是有序列表
2. 我是有序列表
3. 我是有序列表
4. 我是有序列表
10. 我是有序列表,啥数字其实没关系,但建议还是按顺序从头来。
42323. 我是有序列表,啥数字其实没关系,但建议还是按顺序从头来。
425. 我是有序列表,啥数字其实没关系,但建议还是按顺序从头来。

效果:

  1. 我是有序列表
  2. 我是有序列表
  3. 我是有序列表
  4. 我是有序列表

  1. 我是有序列表,啥数字其实没关系,但建议还是按顺序从头来。
  2. 我是有序列表,啥数字其实没关系,但建议还是按顺序从头来。
  3. 我是有序列表,啥数字其实没关系,但建议还是按顺序从头来。
列表嵌套

上一级和下一级之间敲三个空格即可。

语法:

- 我是第一级列表
   - 我是第二级列表
      - 我是第三级列表
      - 我是第三级列表
   - 我是第二级列表
   - 我是第二级列表
- 我是第一级列表
1. 我是第一级有序列表
   1. 我是第二级有序列表
   2. 第是第二级有序列表
      1. 我是第三级有序列表
      2. 我是第三级有序列表
      3. 我是第三级有序列表
2. 我又回到了第一级有序列表

效果:

  • 我是第一级列表
    • 我是第二级列表
      • 我是第三级列表
      • 我是第三级列表
    • 我是第二级列表
    • 我是第二级列表
  • 我是第一级列表

  1. 我是第一级有序列表
    1. 我是第二级有序列表
    2. 第是第二级有序列表
      1. 我是第三级有序列表
      2. 我是第三级有序列表
      3. 我是第三级有序列表
  2. 我又回到了第一级有序列表

2.6 超链接

语法:

[超链接名](超链接地址 "超链接title")
title可加可不加,title是当鼠标移动到链接上方时悬停提示的文字。

示例:

[我的主页 Sruta](http://www.sruta.cn/)

[简书](http://jianshu.com)

[百度](http://baidu.com)

效果:

我的主页 Sruta

简书

百度


2.7 图片

图片的添加方式和链接很像,只需要在超链接格式最前面加一个!即可。
语法:

![图片alt](图片地址 ''图片title'')

图片alt就是显示在图片下面的文字,相当于对图片内容的解释。
图片title是图片的标题,当鼠标移到图片上时显示的内容。title可加可不加

示例:

![百度一下](https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png "百度一下")

效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UrCZCLTq-1656301951202)(https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png “百度一下”)]


2.8 表格

语法:

表头|表头|表头
---|:--:|---:
内容|内容|内容
内容|内容|内容

第二行分割表头和内容。
- 有一个就行,为了对齐,多加了几个
文字默认居左
-两边加:表示文字居中
-右边加:表示文字居右
注:原生的语法两边都要用 | 包起来。此处省略

示例:

序号(左对齐)|姓名(居中)|年龄(右对齐)
-|:-:|-:|
1|Sruta|18
2|Zhipeng|81
3|鹏哥|3

效果:

序号(左对齐)姓名(居中)年龄(右对齐)
1Sruta18
2Zhipeng81
3鹏哥3

2.9 代码


单行代码

单行代码:代码之间分别用一个反引号包起来。

语法示例:

`Markdown` 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 `XHTML`(或者`HTML`)文档。

效果:

Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者HTML)文档。

代码块

代码之间分别用三个反引号包起来,且两边的反引号单独占一行。

语法示例一:

(```)
import pandas as pd

df = pd.DataFrame(
    {
        "Name": [
            "Braund, Mr. Owen Harris",
            "Allen, Mr. William Henry",
            "Bonnell, Miss. Elizabeth",
        ],
        "Age": [22, 35, 58],
        "Sex": ["male", "male", "female"],
    }
)
(```)

注意:
上面用括号括起来是为了演示时防止转译,实际使用时将()去掉

效果一:

import pandas as pd

df = pd.DataFrame(
    {
        "Name": [
            "Braund, Mr. Owen Harris",
            "Allen, Mr. William Henry",
            "Bonnell, Miss. Elizabeth",
        ],
        "Age": [22, 35, 58],
        "Sex": ["male", "male", "female"],
    }
)

语法示例二:

(```)python
def fib(n):
   a, b = 1, 1
   print(a, b, end=' ')
   while b < n:
      a, b = b, a+b
      print(b, end=' ')
   print()
(```)

注意:
上面用括号括起来是为了演示时防止转译,实际使用时将()去掉

效果二:

def fib(n):
    a, b = 1, 1
    print(a, b, end=' ')
    while b < n:
        a, b = b, a+b
        print(b, end=' ')
    print()

由第二个例子可见,在第一行(```)后加上语言类型,代码块还能高亮显示。


结束语

以上的语法基本能满足我们日常常用场景了,当然Markdown的功能还不止于此,比如它还支持纯手写画流程图,支持数学公式等。考虑到我目前的场景暂时用不到这些,便不再细述。日后如果有需要,会出专题再聊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值