学习 GitHub 风格的 Markdown 语法和格式化 - 带有示例

Markdown 是一种轻量级、开源、易读易写的文本格式化方法,你可以在任何 IDE 或编辑器中将其作为纯文本使用。

在 GitHub 上写作时,你可以使用 Markdown 语法和 HTML 元素来扩展 Markdown 的功能。你可以在 GitHub 的各个地方使用 Markdown 语法,比如 README 文件、wiki、评论、拉取请求以及创建问题时。

对于每个软件开发者来说,学习 Markdown 是你职业生涯道路上的一个关键步骤。

为了增强 Markdown 的基本功能,GitHub 添加了一些自定义功能,并创建了 GitHub 风格的 Markdown。通过这个,你可以通过提及用户、问题和 PR 引用以及添加表情符号来轻松与其他用户在拉取请求和问题中进行交流。

本文将教你 GitHub 风格的 Markdown 的基础知识,以便你能够在你的项目中开始使用它。

(本文视频讲解:java567.com)

GitHub 风格的 Markdown 语法

GitHub 风格的 Markdown 语法分为两个部分。

  1. 基本格式化语法
  2. 高级格式化语法

我们将在下面详细讨论每一个。

基本格式语法

基本格式语法适用于所有人。它包含了诸如标题、代码、图片、引用、链接等基本要素,这些是你在撰写文档时需要了解的内容。

  1. 标题
  2. 段落
  3. 注释
  4. 文本样式
  5. 引用
  6. 代码
  7. 链接
  8. 图片
  9. 列表
  10. 提及个人和团队
  11. 引用问题和拉取请求
  12. 使用表情符号
  13. 脚注
  14. 警告

请注意,代码示例大多来自于 GitHub 的文档。

标题

你可以使用 # 符号来创建标题。一个 # 创建一个 H1 标题,两个创建一个 H2 标题,依此类推,就像这样:

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

在 Markdown 中创建标题。

段落

要创建段落,你可以使用空行来分隔一行或多行文本或段落。

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam est odio, commodo id diam sed, pulvinar sagittis tortor. Nam vestibulum purus eros. Sed congue, mi id pretium auctor, nibh augue iaculis arcu, eu tristique quam dolor at erat.Quisque vel odio condimentum, mollis sem vitae, porta diam. Praesent ligula elit, condimentum eget ex sed, commodo sollicitudin sapien.Proin volutpat faucibus nulla. Nullam eros sem, ultricies gravida nunc nec, dapibus posuere nisl. Nunc lacinia elementum turpis in pharetra. Aenean eu neque eros.

在 Markdown 中创建段落。

注释

注释几乎在每种编程语言中都可用。它们帮助开发者写下注释并向他们的代码添加额外信息,帮助其他开发者理解正在发生的事情以及代码如何运行。

要在 Markdown 中添加注释和额外信息,请使用以下语法:<!--- 包裹文本 --->

以下是一个示例:

<!-- 这段内容不会出现在渲染后的 Markdown 中 -->

在 Markdown 中创建注释。

文本样式

你可以对文本应用基本样式,比如粗体、斜体、删除线、下标或上标,以提高可读性并更清晰地传达你的意思。

  1. 对于 粗体,你可以使用以下语法:**你的文本**
  2. 对于 斜体,你可以使用以下语法:*你的文本* 或 _你的文本_
  3. 对于 删除线,你可以使用以下语法:~~你的文本~~
  4. 对于 下标,你可以使用以下语法:下标<sub>文本</sub>在此。
  5. 对于 上标,你可以使用以下语法:上标<sup>文本</sup>在此。
## 粗体**你的文本**## 斜体*你的文本*
_你的文本_## 删除线~~你的文本~~## 下标下标<sub>文本</sub>在此。## 上标上标<sup>文本</sup>在此。

引用

块引用或引用是格式化为让读者知道你在引用某人的句子或段落。要在 Markdown 中创建块引用,可以使用 > 符号。

> 这是引用的文本

在 Markdown 中创建块引用或引用。

代码

Markdown 文件支持两种类型的代码示例:内联代码块

  1. 要在 Markdown 文件中添加代码块,请使用以下语法:你的代码
  2. 要将内联代码添加到 Markdown 文件中,请使用以下语法:你的代码
## 代码块

// ES5 语法
var multiply = function(x, y) {
return x * y;
};

// ES6 箭头函数
var multiply = (x, y) => { return x * y; };

// 或者更简单地
var multiply = (x, y) => x * y;


## 内联代码 JavaScript 提供三种不同的值比较操作:使用 `===` 进行严格相等比较,使用 `==` 进行宽松相等比较,以及使用 `Object.is()` 方法。

要在代码块中支持代码高亮,你可以在三个反引号之后添加一个可选的语言标识符(就像下面的示例中的 JavaScript 一样):

## 代码块```javascript// ES5 语法
var multiply = function(x, y) {return x * y;
};// ES6 箭头函数
var multiply = (x, y) => { return x * y; };// 或者更简单地
var multiply = (x, y) => x * y;   

创建一个带有语法高亮示例的代码块。

链接

Markdown 文件将链接分为两类:内联相对

内联链接

要在 Markdown 文件中创建内联链接,请将链接文本放在方括号 [ ] 中,紧接着在括号 ( ) 中放置 URL。

This site was built using GitHub Pages.
相对链接

相对链接与内联链接类似,但在 [] 部分有所不同:[] 部分包含存储库中文件的路径。

你可以使用相对链接来链接两个文件:例如,将 CONTRIBUTING 文件链接到 README 文件中。

[贡献指南](docs/CONTRIBUTING.md)

/ 开头的相对链接将相对于存储库根目录。你可以使用所有相对链接操作符,比如 ./../

[贡献指南](../docs/CONTRIBUTING.md)

图片

要在 Markdown 文件中添加图片,首先在 [] 中放置 alt 文本,然后在括号 () 中放置图片链接。

看起来像这样:


列表

列表有助于按顺序记录重要信息,这对读者非常重要,使人们易于理解和查找信息。

Markdown 文件支持三种类型的列表:

  1. 有序列表
  2. 无序列表
  3. 任务列表
有序列表

第一种类型是有序列表。要创建有序列表,请以数字加句点开头。

1. one
2. two
3. three
4. four

创建一个有序列表

无序列表

第二种类型是无序列表。要创建无序列表,请使用 -+*(取决于你的喜好 - 它们都会呈现为无序列表):

* 第一项
* 第二项
* 第三项
* 第四项- 第一项
- 第二项
- 第三项
- 第四项+ 第一项
+ 第二项
+ 第三项
+ 第四项

创建一个无序列表

任务列表

第三种类型是任务列表。要创建任务列表,列表项以连字符开头,后跟一个空格,然后是方括号 []。你可以在方括号 [x] 中使用 x 来标记任务为已完成。

- [x] #739
- [ ] https://github.com/octo-org/octo-repo/issues/740
- [ ] 当所有任务完成时,为体验添加喜悦 :tada:

在 markdown 中添加任务列表

提及个人和团队

在 markdown 中提及用户和团队

要在 GitHub markdown 文件中提及个人或团队,请键入 @,然后写入用户名或团队用户名。

## 个人或个体用户名@officialrajdeepsingh,请查看以下更改。## 团队或公司
博客主题部分由 @frontendweb 维护

在 markdown 中提及其他用户和团队

引用问题和拉取请求

问题和拉取请求

要在 GitHub markdown 文件中提及问题和拉取请求,请键入 #,然后键入问题或拉取请求的编号或标题。然后按 tab 键或 enter 键以完成高亮显示的结果。

删除默认 _target blank 中的徽标 #93

在 markdown 中提及拉取请求

使用表情符号

在 markdown 中添加表情符号。

要在你的写作中添加表情符号,请在两个冒号之间键入表情符号的代码。如果只键入 :,GitHub 上将显示建议的表情符号列表。

找到你想要的表情符号后,按 Tab 键或 Enter 键选择高亮显示的结果。

不要忘记给我们的仓库点颗星! :star:

在 markdown 中添加表情符号

脚注

要添加脚注引用,请在方括号 [^1] 内添加一个尖号和一个标识符,使用以下语法:

这是一个简单的脚注,[^1] 这是一个更长的脚注.[^bignote][^1]: 这是第一个脚注。[^bignote]: 这是一个包含多个段落和代码的脚注。

在 markdown 中创建一个脚注

警告

警告是基于块引用语法的 Markdown 扩展,你可以使用它来强调重要信息。

GitHub 风格的 Markdown 支持五种类型的警告:[!NOTE][!TIP][!IMPORTANT][!WARNING][!CAUTION]。你可以使用其中任何一个:

> [!NOTE]
> 有用的信息,用户在浏览内容时应该知道。> [!TIP]
> 提供更好或更容易做事的有益建议。> [!IMPORTANT]
> 用户为了实现目标所需的关键信息。> [!WARNING]
> 紧急信息,需要用户立即注意以避免问题。> [!CAUTION]
> 关于某些操作的风险或负面结果的建议。

在 markdown 语法中,GitHub 风格的 Markdown 支持的警告列表。

警告语法在浏览器中如下所示:

在 markdown 中添加警告示例。

高级格式化语法

这个高级格式化语法部分包含了一些高级用法,比如添加图表和表格、折叠节、数学表达式等。

  1. 创建表格
  2. 创建折叠节
  3. 创建图表
  4. 数学表达式

创建表格

要在 Markdown 中创建表格,你可以使用管道 | 和连字符 -。连字符用于创建列标题,而管道用于分隔列。

| 第一标题 | 第二标题 |
| --------- | --------- |
| 内容单元 | 内容单元 |
| 内容单元 | 内容单元 |

在 markdown 中创建表格

表格在浏览器中的样子如下:

Markdown 中的表格示例。

创建折叠节

要在 markdown 文件中创建一个折叠节,你可以使用 <details> 标签。这个标签是一个 HTML 元素,你可以很容易地使用它来扩展 GitHub 风格的 Markdown 的功能。下面是它的工作原理:

<details><summary>点击这里。 </summary>### 在这里添加消息你可以在折叠节中添加文本。 你也可以添加图片或代码块。```rubyputs "Hello World"```</details>

在 markdown 中创建一个折叠节

在浏览器中,折叠语法看起来像这样:

Markdown 中的折叠示例。

创建图表

要向 Markdown 文件中添加图表,使用三个反引号并将它们包裹在四个反引号内。然后,告诉使用了哪个标识符(Mermaid、GeoJSON、TopoJSON、ASCII STL)来创建图表。

GitHub 支持使用四种语法来创建图表:mermaid、geoJSON、topoJSON 和 ASCII STL。

  1. Mermaid
  2. GeoJSON 和 TopoJSON
  3. ASCII STL
Mermaid

Mermaid 是一个受 Markdown 启发的工具,可以将文本渲染成图表。你可以使用 Mermaid 创建流程图、序列图、饼图等。

GitHub 风格的 Markdown 扩展了使用 Mermaid 的功能。

你可以在 Markdown 中创建流程图、序列图、饼图等。GitHub 会处理剩下的部分。那么你如何在屏幕上渲染图表呢?

```mermaid
graph LR;A --  和 --> B -- 到 --> C
```

创建 Mermaid 示例

在浏览器中,mermaid 语法看起来像这样。

Markdown 中的 Mermaid 示例。

GeoJSON 和 TopoJSON

你可以使用 GeoJSON 或 TopoJSON 在 GitHub 仓库的 README 文件或 GitHub Wiki 中添加交互式地图。

你可以使用代码块语法添加交互式地图。

  1. GeoJSON 可以通过指定坐标来创建地图。要添加交互式地图,请使用以下语法:geojson 你的代码
  2. TopoJSON 可以通过指定坐标和形状来创建地图。要添加交互式地图,请使用以下语法:topojson 你的代码

使用 GeoJSON 的示例:

```geojson
{"type": "FeatureCollection","features": [{"type": "Feature","id": 1,"properties": {"ID": 0},"geometry": {"type": "Polygon","coordinates": [[[-90,35],[-90,30],[-85,30],[-85,35],[-90,35]]]}}]
}
```

在 markdown 中创建 geojson

TopJSON 的示例:

```topojson
{"type": "Topology","transform": {"scale": [0.0005000500050005, 0.00010001000100010001],"translate": [100, 0]},"objects": {"example": {"type": "GeometryCollection","geometries": [{"type": "Point","properties": {"prop0": "value0"},"coordinates": [4000, 5000]},{"type": "LineString","properties": {"prop0": "value0", "prop1": 0},"arcs": [0]},{"type": "Polygon","properties": {"prop0": "value0","prop1": {"this": "that"}},"arcs": [[1]]}]}},"arcs": [[[4000, 0], [1999, 9999], [2000, -9999], [2000, 9999]],[[0, 0], [0, 9999], [2000, 0], [0, -9999], [-2000, 0]]]
}
```

在 markdown 中创建一个 TopJson

ASCII STL

GitHub Flavored Markdown 支持 STL 语法。STL 语法允许你在 markdown 中添加交互式 3D 模型。你可以使用以下语法:stl 你的代码.

```stl
solid cube_cornerfacet normal 0.0 -1.0 0.0outer loopvertex 0.0 0.0 0.0vertex 1.0 0.0 0.0vertex 0.0 0.0 1.0endloopendfacetfacet normal 0.0 0.0 -1.0outer loopvertex 0.0 0.0 0.0vertex 0.0 1.0 0.0vertex 1.0 0.0 0.0endloopendfacetfacet normal -1.0 0.0 0.0outer loopvertex 0.0 0.0 0.0vertex 0.0 0.0 1.0vertex 0.0 1.0 0.0endloopendfacetfacet normal 0.577 0.577 0.577outer loopvertex 1.0 0.0 0.0vertex 0.0 1.0 0.0vertex 0.0 0.0 1.0endloopendfacet
endsolid
```

在 markdown 中创建一个 ASCII STL

在浏览器中,STL 语法看起来像这样:

Markdown 中的 STL 示例。

数学表达式

你可以向 GitHub markdown 文件中添加数学表达式,比如方程、术语、公式等。GitHub 使用 LaTeX 格式嵌入在 Markdown 中。有两种方法可以添加这些表达式:

  1. 写内联数学表达式
  2. 将数学表达式写成代码块
写内联数学表达式

内联数学表达式以 $ 开头,以 $ 结尾。

内联数学表达式示例:$\sqrt{3x-1}+(1+x)^2$

内联数学表达式示例

在浏览器中,内联数学语法看起来像这样:

内联数学表达式示例

将数学表达式写成代码块

要将数学表达式的代码块添加到 Markdown 文件中,请使用 ````math` 代码块,并用 `````反引号将其包裹起来,以将表达式显示为块。

要将数学表达式的代码块添加到 Markdown 文件中,请使用 ````math 代码块,并用三个反引号将其包裹起来,以将表达式显示为块。

```math
\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)
```

代码块数学表达式示例

在浏览器中,数学代码块语法看起来像这样:

代码块数学表达式示例

结论

Markdown 语法在 GitHub 和其他所有中心 Git 服务器(如 GitLab、Gitea 等)中都可以很好地工作。

不同的工具对它们的 markdown 命名方式不同。例如,GitHub 以自己的方式扩展了 markdown 的功能,并构建了 GitHub Flavored Markdown。GitLab 也扩展了 markdown 的功能,并构建和创建了 GitLab-flavored markdown。

Markdown 语法在每个 Git 服务中大多是相同的。但是警告、图表和其他一些功能只在 GitHub Flavored Markdown 中有效。

(本文视频讲解:java567.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/813395.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python赋能AI数据分析开启人工智能新时代

文章目录 一、Python是办公自动化的重要工具二、Python是提升职场竞争力的利器三、Python是企业数字化的重要平台四、Python是AI发展的重要通道之一《编程菜鸟学Python数据分析》编辑推荐内容简介作者简介目录前言为什么要写这本书读者对象如何阅读本书 随着我国企业数字化和信…

运动听歌哪款耳机靠谱?精选五款热门开放式耳机

随着人们对运动健康的重视&#xff0c;越来越多的运动爱好者开始关注如何在运动中享受音乐。开放式蓝牙耳机凭借其独特的设计&#xff0c;成为了户外运动的理想选择。它不仅让你在运动时能够清晰听到周围环境的声音&#xff0c;保持警觉&#xff0c;还能让你在需要时与他人轻松…

python项目练习——22、人脸识别软件

功能分析: 人脸检测: 识别图像或视频中的人脸,并标记出人脸的位置和边界框。 人脸识别: 识别人脸的身份或特征,通常使用已知的人脸数据库进行训练,然后在新的图像或视频中识别出人脸并匹配到相应的身份。 表情识别: 识别人脸的表情,如高兴、悲伤、愤怒等,并给出相应…

skynet中newservice和uniqueservice的区别

先上uniqueservice代码 function skynet.uniqueservice(global, ...)if global true thenreturn assert(skynet.call(".service", "lua", "GLAUNCH", ...))elsereturn assert(skynet.call(".service", "lua", "LAUNCH…

Beamer使用

Step00 准备工作 申请Overleaf的账号&#xff0c;登录&#xff0c;新建一个空白项目。 点击左上角Menu&#xff0c;在菜单中找到complier&#xff0c;选中XeLatex。 Step01 一个Beamer框架 在main.tax中,添加下面的内容: % 导入必要的LaTeX包 \documentclass{beamer} % 使…

CentOS 7开机启动过程,引导和服务,密码的修改

开机启动过程&#xff1a; 引导过程&#xff1a;1.开机自检(BIOS)->2.MBR引导->GRUB菜单->加载内核kernel->systemd进程初始化 程序&#xff1a;执行特定任务的一串代码&#xff0c;静态&#xff0c;存在硬盘中。 进程&#xff1a;运行中的程序叫进程&#xff0…

Django之rest_framework(一)

一、请求和响应对象介绍 REST framework引入了2个新的对象:Request和Response 1.1、Request rest_framework.request.Request 该对象扩展了常规的HttpRequest ,增加了对REST框架灵活的请求解析和请求认证的支持 官网:Requests - Django REST framework 主要属性: data 这…

Oracle 数据库全表扫描的4种优化方法(DB)

全表扫描的工作是扫描高水位一下所有的数据块。 这里就有一个问题&#xff0c;什么是高水位线。高水位的标志存在表头。 该数据块以后都是崭新未格式化的数据块&#xff0c;高水位的目的有二。它是全表扫描的 终点&#xff0c;并行插入的起点&#xff01; 优化全表扫描的办法有…

类和对象(拷贝构造函数)

目录 拷贝构造函数 特征 结论&#xff1a; 拷贝构造函数 拷贝构造函数&#xff1a;只有单个形参&#xff0c;该形参是对本类类型对象的引用(一般常用const修饰)&#xff0c;在用已存 在的类类型对象创建新对象时由编译器自动调用。 特征 拷贝构造函数也是特殊的成员函数&…

AD7685BRMZRL7 16位 2.3V 低功耗模数转换器芯片 ADI

AD7685BRMZRL7是一款由ADI&#xff08;亚德诺&#xff09;公司生产的模数转换器&#xff08;ADC&#xff09;芯片。该芯片的主要功能是将模拟信号转换为数字信号&#xff0c;以便在数字系统中处理. AD7685BRMZRL7 规格信息&#xff1a; 制造商:Analog Devices Inc. 产品种类:模…

【SpringBoot】获取参数

获取参数 传递单个参数传递多个参数传递对象后端参数重命名传递数组传递 json 数据获取 URL 中参数上传文件获取 cookie 和 session获取cookie获取session 传递单个参数 RequestMapping("/user") RestController public class UserController {// 传递单个参数Reque…

实现自动打包py及替换pyinstaller --add-data参数的方法

2024年了&#xff0c;PyInstaller已经来到了6.5.0版本&#xff0c;可我还是不会用它那个--add-data的方法&#xff0c;度了几圈试了试&#xff0c;始终不&#xff08;行&#xff09;如&#xff08;不&#xff09;意&#xff08;通&#xff09;&#xff0c;就是没能把附加文件&a…

ActiveMQ 03 整合SpringBoot

Active MQ 03 整合SpringBoot 配置文件 POM <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation&qu…

红色文化展馆3D线上互动展览推动党建创新发展

实现现代化是世界各国人民的共同追求。在追求现代化的艰苦卓绝奋斗中&#xff0c;我们党领导人民不仅创造了世所罕见的经济快速发展和社会长期稳定两大奇迹&#xff0c;而且成功走出了中国式现代化道路&#xff0c;创造了人类文明新形态。对党建学习也应该与时俱进&#xff0c;…

c语言多功能计算软件170

定制魏&#xff1a;QTWZPW&#xff0c;获取更多源码等 目录 题目 要求 主要代码片段 题目 设计一个计算器软件&#xff0c;具备如下功能提示界面。 要求 设计出界面&#xff0c;注意界面名称最后为自己的姓名&#xff1b;&#xff08;20分&#xff09;能够实现加、减、乘、…

Vector部分底层源码解析

JDK版本为1.8.0_271&#xff0c;Vector底层也是使用object数组&#xff0c;但使用synchronized 关键字来确保线程安全&#xff0c;但效率比ArrayList低&#xff0c;比较少见。这里以插入删除元素为例&#xff1a; //属性 protected Object[] elementData; protected int eleme…

Linux之bpfjit(2)使用分析和mini-tcpdump实现

Linux之bpfjit(2)使用分析和mini-tcpdump实现 Author: Once Day Date: 2024年4月13日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文章可以参考专栏&#xff1a;…

idea 使用springboot helper 创建springboot项目

Spring Boot Helper 是一个在 IntelliJ IDEA 中用于快速创建 Spring Boot 项目的插件。通过这个插件&#xff0c;开发者可以简化 Spring Boot 项目的创建过程&#xff0c;并快速生成所需的依赖和配置文件。以下是使用 Spring Boot Helper 插件创建 Spring Boot 项目的详细步骤&…

Docker搭建Dillinger

Dillinger是一款功能强大的在线Markdown编辑器&#xff0c;它支持实时预览、导出至各种格式、多种主题等功能。通过Docker&#xff0c;我们可以轻松地部署和运行Dillinger&#xff0c;从而实现在线Markdown编辑与预览。本教程将分别介绍使用Docker CLI和Docker Compose两种不同…

QT windeployqt打包出现无法正常启动问题

QT 通过windeployqt 打包后出现的问题 原因QT构建选择的是64位的 但是windows下运行的却是32位的 步骤打开32的所在路径 一般在上一级目录会有安装好的64位的MSVC工具 运行打包即可