markdown语法笔记

markdown语法笔记

一、标题

Markdown提供了两种方式声明标题:Setext和Atx

1. Setext风格的标题定义方式

在标题文字下方增加3个连续等号 = 和3个连续减号 - ,分别为第一标题第二标题

一级标题
===
二级标题
---

2. Atx风格的标题定义方式

在标题文字前方增加1~6个哈希符号#及空格,其对应Html中的<h1>~<h6>。

# 这是一个一级标题
## 这是一个二级标题
### 这是一个三级标题
#### 这是一个四级标题
##### 这是一个五级标题
###### 这是一个六级标题
这个是正文文字

3. 小结

标题级数不易过多。通常情况下,一、二级标题就能够满足需求,多了反而增加阅读障碍,有的平台就限制标题级数,如知乎就限制标题只有一、二级。Setext风格标题语法相对繁琐,且---易于分割线语法混淆,因此建议使用Atx风格标题语法。

二、 段落

正文是文章的主体。正文通常由段落组成,段落则由缩进、换行和文本组成。一个普通的段落不应该有空格或者制表符作为缩进。

1. 正文

在Markdown文件中,没有任何标记的文字会被解析成正文。

2. 段落

在Markdown文件中,使用至少一个空行来区分段落。不同的段落在转换成HTML后会被包含在不同的
<p>标签中。

3. 不分段换行

不同于分段换行,不分段换行不是用<p>标签描述段落,而是用<br>标签折断文字。如果要让文字另起一行而不分段,需在行尾增加两个空格。

4. 缩进、空白行

Markdown原生语法不支持缩进和空行。

5. 小结

Markdown原生语法不支持缩进,若是需要缩进,则可以通过调整全局CSS样式来实现。

三、粗体与斜体

Markdown实现这一样式的方法是将需要强调的内容,用星号*或者下划线 _包裹住,一个符号的时候代表斜体,如 斜体,两个符号的时候代表粗体,如粗体

**这是粗体**
__这也是粗体__
*这是斜体*
_这也是斜体_

四、文本高亮

Markdown的原生语法并不支持修改前景色和背景色。但现在一些软件类似粗体和斜体,默认为用两个等号=代表高亮,用==包裹强调内容

==这是文本高亮==

五、下划线、分割线与删除线

  • Markdown语法里删除线使用波浪线~来描述。
  • Markdown的原生语法没有定义下划线,因为“下划线”效果容易和“超链接”相混淆。如果需要在文章中添加下划线,需要使用HTML标签。
  • 分隔线是用一条明显的横线,来划分文章的上下两个部分,从而使排版变得美观,保持页面的平衡,引导读者的注意力。
~~这是删除线~~
// 三种分隔线,通过输入三个或更多的减号-、星号*、下划线_的方式创建一条相当于HTML语法中<hr/>一样的分隔线。
// 这三个符号之间可以包含空格,每种类型的分隔线,可以表现为如下形式:* * *,***,*****,- - -,---------。
******
------
______

六、 列表

1. 普通列表

列表是一种将同类内容进行结构化编排输出的显示方式,常用于目录等结构。
Markdown支持有序和无序两种列表,无序列表使用星号"*"、加号"+"、减号"-"表示,有序列表使用数字定义,如: 1. xxx、2.xxx、3.xxx等,还需在文字前加空格,否则不生效。

- 这是无序第一层1
    - 这是无序第二层
        - 这个无序第三层
            - 这个是无序第四层
- 这是无序第一层2
1. 这是有序第一层1
    1. 这是有序第二层1
        1. 这是有序第三层
    3. 这是有序第二层2
1. 这是有序第一层2

2. TODO列表

To-do任务列表是一种很常见的时间管理工具,它适用于工作计划、个人生活以及家庭学习。使用Markdown语法我们也可以实现一个基本的To-Do任务列表。Markdown的To-Do List的内容是由无序列表,复选框,图标几种功能的组合。

- [ ] 未完成
- [x] 已完成

七、 引用

使用Markdown引用可以让这段文字在视觉上与其他内容有所区分,提高阅读体验。

>这是引用文字  
>
>空行引用
>>这是二层块引用
>>>这是三层块引用
>块引用里**重点文字**

八、行内代码和代码块引用

1.行内代码

行内代码用一对反引号符号将需要转换的文字内容包括起来,它让我们方便地在行内编辑带有特殊字符的文字内容。

这个是`行内代码`引用
``有单个反引号`的内容``

2.代码块语法

在Markdown文档中生成代码块,需要在每行的开头输入不少于4个空格符号或者1个tab 符号; 代码块的另一种定义方式是以三个连续的反引号 ``` 作为开始行和结束。

九、超链接与图片链接

Markdown 支持两种超链接的定义方式:行内定义和全局声明。不管哪种方式,其都是由中括号 []来声明。

1. 行内链接

如果需要创建行内链接的创建方式,用一对紧跟中括号[]的小括号()描述目标链接,小括号内不仅可以包含链接的地址,也可以用引号 ""设定链接的标题。图片相应在前面加个感叹号!。

这是[百度](http://www.baidu.com)的网址
这是百度logo:
![logo](https://ss1.baidu.com/9vo3dSag_xI4khGko9WTAnF6hhy/zhidao/wh%3D450%2C600/sign=bb15fde7e2fe9925cb596154019872e9/6159252dd42a2834b5a7d32959b5c9ea15cebf8b.jpg)

2. 全局声明

  • 全局声明超链接:文中标注:[标题][];文末标注:[标题]:超链接
  • 全局声明图片链接:文中标注:![标题][];文末标注:[标题]:图片链接
这是[百度][]的网址
这是百度logo:
![logo][]

[百度]:http://www.baidu.com
[logo]:https://ss1.baidu.com/9vo3dSag_xI4khGko9WTAnF6hhy/zhidao/wh%3D450%2C600/sign=bb15fde7e2fe9925cb596154019872e9/6159252dd42a2834b5a7d32959b5c9ea15cebf8b.jpg

锚点

只有标题支持锚点, 跳转目录方括号后保持空格

// 在需要跳转的标题后面加" {#1}"(注意标题和{之间有一个空格)
// 在调用处用引用语法调用[标题锚点](#1)

九、表格

1. 语法

: 代表对齐方式 ,: 与 | 之间不要有空格,否则对齐会有些不兼容

两种实现方式:

// 常规写法
|    a    |       b       |      c     |
|:-------:|:------------- | ----------:|
|   居中  |     左对齐    |   右对齐   |
|=========|===============|============|
// 简约写法
a  | b | c 
:-:|:- |-:  
居中    |     左对齐      |   右对齐  
============|=================|=============

特殊表格

一般对合并单元格,以及其他特殊格式表格,markdown 是无能为力的
所以常规的做法是使用HTML标签,但是这样的编写效率极低。
但是有了这款工具的话,所有问题都迎刃而解。
在线生成HTML代码 Tables Generator

十、脚注(尾注)

脚注和尾注都是对文章的补充说明。
脚注通常与被注释内容出现在同一页,并位于该页面的最下方,一般用来解释专有名词、数据来源等。
尾注通常出现在文章的最后一页,写在文章全部正文之后,一般用来列明引用的文章列表等。

这个是个脚注案例[^引用1]。
[^引用1]:这个是脚注内容。

十一、目录

目录通常起到提纲(文章结构最直观表现形式)和索引的作用。

  • 在 Markdown 中,自动生成目录非常简单,只需要在恰当的位置添加[TOC]符号,凡是以#定义的标题都会被编排到目录中。
  • 手动添加目录的方法就是将列表和页内超链接相结合。
// 使用[TOC]会自动生成目录
[TOC]
// 用超链接方式手动生成目录
- [1.第一级标题](#1.第一级标题)
  - [1.1第二级标题](##1.1第二级标题)
  - [1.2第二级标题](##1.2第二级标题)
- [2.第一级标题](#2.第一级标题)
# 1.第一级标题
## 1.1第二级标题
## 1.2第二级标题
# 2.第一级标题

十二、流程图

特别注意:需要用typora软件并在设置中开启图表功能,选择语音为"flow"
markdown生成流程图包含两个部分:定义参数和连接参数

	 ```flow
//定义参数
start=>start: 开始
input=>inputoutput: 输入
operation=>operation: 操作
condition=>condition: 操作出错?
output=>inputoutput: 输出
subroutine=>subroutine: 请重新输入
end=>end: 结束

//连接参数
start->input
input->operation
operation->condition
condition(no,bottom)->output
condition(yes)->subroutine(top)->input
output->end
	```

定义元素的语法格式为

tag=>type: content:>url
type start end operation subroutine condition inputoutput
类型 开始 结束 操作 子分支 条件 输入输出
例子 st=>start: Start e=>end: End op1=>operation:op sub=>subroutine: cond=>condition: yes or no ? io=>inputoutput:

备注:
condition类型,有yes和no两个分支,如示例中的cond(yes)和cond(no)
每个元素可以设置分支走向,默认向下(bottom)。另外:向左(left);向右(right);向上(top)

十三、时序图

	```sequence
起床->吃饭: 稀饭油条
吃饭->上班: 不要迟到了
上班->午餐: 吃撑了
上班->下班:
Note right of下班: 下班了
下班->回家:    
Note right of 回家: 到家了    
回家-->>起床:    
Note left of 起床: 新的一天
	```

时序图主要靠箭头和线条连接,具体符号和含义如下:

符号 含义
- 实线
> 实心箭头
-- 虚线
>> 空心箭头
posted @ 2024-04-16 11:50  脉动丶  阅读(247)  评论(0)    收藏  举报