首页 > 其他分享 >markdown语法笔记

markdown语法笔记

时间:2024-04-16 11:55:23浏览次数:28  
标签:行内 markdown 笔记 列表 语法 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.第一级标题

十二、流程图

markdown生成流程图包含两个部分:定义参数和连接参数

\```flow
start=>start: 开始
input=>inputoutput: 输入
operation=>operation: 操作
condition=>condition: 操作出错?
output=>inputoutput: 输出
error=>operation: 请重新输入
end=>end: 结束

start->input
input->operation
operation->condition
condition(no,bottom)->output
condition(yes)->error(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:

十三、时序图

https://blog.csdn.net/weixin_32816563/article/details/112535469

标签:行内,markdown,笔记,列表,语法,Markdown,引用,标题
From: https://www.cnblogs.com/myDong/p/17888628.html

相关文章

  • 初级英语学习笔记01
     1.Thisis 和Isthis 交换使用 当我们指向一些非特定的物体和人时,使用冠词“a”如果是位置,大小,味道,颜色等,我们使用冠词“the”where在哪里who 谁what 什么onthe ISNOT否定NOISNOT isn'tIN ......
  • day11_我的Java学习笔记 (static_静态成员变量+静态成员方法_工具类、代码块_静态代码
    0.面向对象进阶1.static静态关键字1.1static是什么,static修饰成员变量的用法Java成员变量成员方法Python类(对象)属性类(对象)方法static修饰成员变量的应用:在线人数统计1.2static修饰成员变量的内存原理1.3static修饰成员方法的基本......
  • move_base学习笔记
    `move_base`提供了多种API,用于与导航堆栈进行交互。以下是一些主要的API及其作用:1.**ActionAPI**:-**MoveBaseAction**(`move_base_msgs/MoveBaseAction`):这是`move_base`的主要API,用于发送目标位置给机器人,并获取机器人的导航状态。用户可以发送一个包含目标位置和姿态......
  • day10_01_我的Java学习笔记 (JavaSE进阶课程预备)
    JavaSE进阶课程预备1.JavaSE加强课程简介2.IDEA开发模式统一工程,相当于一个小区的院子;模块,是小区的哪一栋;包,是这栋楼的那一单元类,是这个单元的哪一层楼;对象,是这层楼具体的某一户房间。eg:滢水山庄二区--工程9栋--模块4单元--包8楼--类......
  • vue项目中展示markdown文件(markdown-it-vue)
    //安装依赖npmimarkdown-it-vue//引入markdown-ite-vueimportMarkdownItVuefrom"markdown-it-vue";import"markdown-it-vue/dist/markdown-it-vue.css";//注册组件components:{MarkdownItVue},//使用组件<markdown-it-vueclass="......
  • day10_02_我的Java学习笔记 (JavaSE加强课程介绍、先建空工程--再建模块--然后建包--
    JavaSE基础加强课程介绍1.JavaSE加强课程简介2.IDEA开发模式统一工程,相当于一个小区的院子;模块,是小区的哪一栋;包,是这栋楼的那一单元类,是这个单元的哪一层楼;对象,是这层楼具体的某一户房间。eg:溪山美地二区--工程9栋--模块4单元--包8楼--......
  • day08_我的Java学习笔记 (String类、ArrayList集合类)
    常用API(String、ArrayList)什么是APIAPI文档下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html1.String简单介绍【补充】:为什么java数据类型String是大写?1.1String类概述1.2String类创建对象的2种方式1.3String......
  • day09_我的Java学习笔记 (ATM系统_理解并学会使用break、return、continue、Random、S
    ATM系统1.项目介绍与功能演示1.1系统准备、首页设计Account.java每个用户的账户信息都是一个对象,需要提供账户类。01.在Account类中定义系统相关的属性信息(卡号、姓名、密码、余额、取现额度)02.定义Getter和Setter方法03.定义有参构造器04.定义无参构造......
  • zabbix--学习笔记
    zabbix--学习笔记第一天1.为什么使用监控?01-实时状态02-反馈当前系统状态03-系统可靠性04-保障业务稳定性2.如何监控,比如我们需要监控磁盘内存使用率01我们首先要知道手动怎么看磁盘内存指标02监控磁盘指标03获取数值报警[root@centos7mage~]#df-h......
  • C++ 默认参数与引用传递:语法、用法及示例
    C++默认参数默认参数概述在C++中,函数参数可以拥有默认值。这意味着,在调用函数时,如果省略了某个参数,那么将使用为该参数指定的默认值。设置默认参数默认参数值使用等号=符号进行设置,位于参数声明的类型之后。例如:voidmyFunction(stringcountry="Norway");在这个例......