markdown语法整理


1 前言

这篇文章会对markdown语法格式进行详细整理,由于内容较多,这篇文章只会给出示例,并不展示效果,具体效果可以自行测试。

这篇文章示例使用vscode编写。

2 markdown是什么

markdown是一种轻量级标记语言,可以使用markdown来编写纯文本格式文档。markdown文件的后缀一般是.md。

3 markdown的语法

3.1 标题

第一种方法

使用#标记标题,#和标题文本之间需要空格,一个#表示一级标题,两个#表示二级标题,以此类推,使用#可以标记六级标题。

示例

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

第二种方法

使用=标记一级标题,-标记二级标题,这种方法只能标记两级标题。

示例

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

3.2 正文

正文内容不用特别标记,直接进行编写就可以了。

示例

正文内容

3.3 列表

3.3.1 有序列表

使用序号和.标记有序列表,标记和列表文本之间需要空格。

示例

1. 第一项
2. 第二项
3. 第三项

3.3.2 无序列表

第一种方法

使用+标记列表,+和列表文本之间需要空格。

示例

+ 第一项
+ 第二项
+ 第三项

第二种方法

使用*标记列表,*和列表文本之间需要空格。

示例

* 第一项
* 第二项
* 第三项

第三种方法

使用-标记列表,-和列表文本之间需要空格。

示例

- 第一项
- 第二项
- 第三项

3.3.3 列表嵌套

列表可以嵌套,使用四个空格进行缩进。

示例

1. 第一项
    + 第一项
        1. 第一项
        2. 第二项
        3. 第三项
    + 第二项
        * 第一项
        * 第二项
        * 第三项
    + 第三项
        + 第一项
        + 第二项
        + 第三项
2. 第二项
    * 第一项
    * 第二项
    * 第三项
3. 第三项
    - 第一项
    - 第二项
    - 第三项

3.4 区块引用

使用>标记区块引用。

示例

>区块引用

区块引用可以嵌套,一个>标记第一层,两个>标记第二层,以此类推。

示例

>第一层
>>第二层
>>>第三层

3.5 代码块

第一种方法

使用```(反引号)标记代码块,代码块前后需要用```包裹,并且可以指明所用语言,当然也可以不指明。

示例

```cpp
//main.cpp

#include<iostream>

int main(int argc, char* argv[])
{
    std::cout << "demo" << std::endl;

    return 0;
}
```

第二种方法

使用四个空格对每一行代码进行缩进,但是这种方法不能指明语言,当然也可以用注释指明。

示例

    //main.cpp
    
    #include<iostream>
    
    int main(int argc, char* argv[])
    {
	    std::cout << "demo" << std::endl;
    
	    return 0;
    }

第三种方法

如果是在正文中出现的代码片段,可以用`包裹。

示例

比如代码片段`std::cout << "demo" << std::endl;`

3.6 字体

3.6.1 粗体

第一种方法

使用两个*标记粗体,粗体文本前后需要使用**包裹。

示例

**粗体**

第二种方法

使用两个_标记粗体,粗体文本前后需要使用__包裹。

示例

__粗体__

3.6.2 斜体

第一种方法

使用一个*标记斜体,斜体文本前后需要使用*包裹。

示例

*斜体*

第二种方法

使用一个_标记斜体,斜体文本前后需要使用_包裹。

示例

_斜体_

3.6.3 粗斜体

第一种方法

使用三个*标记粗斜体,粗斜体文本前后需要使用***包裹。

示例

***粗斜体***

第二种方法

使用三个_标记粗斜体,粗斜体文本前后需要使用___包裹。

示例

___粗斜体___

3.7 链接

使用[链接名称](链接地址)标记链接。

示例

[百度](https://www.baidu.com/)

当然也可以直接将链接地址写在正文中。

3.8 表格

使用|标记表格,-标记表头,-:标记右对齐,:-标记左对齐,:-:标记居中对齐。

示例

|表头|表头|表头|
|----|----|----|
|表格|表格|表格|
|表格|表格|表格|

示例

|表头|表头|表头|
|----:|:----|:----:|
|表格|表格|表格|
|表格|表格|表格|

3.9 图片

使用![图片说明](图片位置)标记图片,图片位置可以是本地目录也可以是链接。

示例

![Alt text](image.png)

3.10 换行

第一种方法

使用两个空格加上换行表示换行。

示例

第一行  
第二行

第二种方法

使用一个空行表示换行。

示例

第一行

第二行

3.11 分隔线

第一种方法

使用三个及以上_表示分隔线。

示例

__________

第二种方法

使用三个及以上*表示分隔线。

示例

**********

第三种方法

使用三个及以上-表示分隔线。

示例

----------

3.12 删除线

使用~~表示删除线,文本内容前后需要使用~~包裹。

示例

~~删除线~~

3.13 脚注

使用[^脚注]标记脚注。建议安装插件进行支持。

示例

文本[^1]

[^1]: 文本脚注说明

3.14 转义字符

markdown和很多语言一样,也使用\表示转义。

示例

\#

4 其他

1.markdown也可以支持HTML的元素,也可以支持公式,也可以支持流程图,但是有些浏览器或者编辑器并不支持,这篇文章里就不展开了。

2.不同类型的标记之间也可以互相嵌套,比如列表和区块引用可以互相嵌套,比如区块引用嵌套标题,很多都可以进行嵌套的。

示例

+ 第一项
    >区块引用
+ 第二项

示例

>区块引用
>+ 第一项
>+ 第二项

示例

>区块引用
># 一级标题
>## 二级标题

欢迎讨论,欢迎指正,欢迎转载。

  • 24
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源介绍】 C++基于QT开发的个人音乐播放器项目源码+项目说明+详细注释(课程作业).zip 基于qt,c++实现的个人音乐播放小项目(源码) # 主要功能 主要使用QMediaPlayer库添加文件夹进行音乐播放; 实现了进度条控制自动根据音乐时间播放歌词(歌词文件需要自己添加.lrc); 实现了播放器的基本功能 暂停 下一曲上一曲 音量大小 歌词歌单显示等 # 界面预览 ![Alt text](image.png) ![Alt text](image-1.png) ![Alt text](image-2.png) # 注意 音乐播放位置和歌词位置需要根据自己的文件路径进行更改 将宏定义的文件路径改为自己的文件路径即可 C++基于QT开发的个人音乐播放器项目源码+项目说明+详细注释(课程作业).zip C++基于QT开发的个人音乐播放器项目源码+项目说明+详细注释(课程作业).zip C++基于QT开发的个人音乐播放器项目源码+项目说明+详细注释(课程作业).zip 【备注】 该项目是个人毕设/课设/大作业项目,代码都经过严格调试测试,功能ok才上传,可快速上手运行!欢迎下载使用,若遇到问题请及时私信沟通,帮助解决。 该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,可直接作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高的学习借鉴价值!基础还可以,动手能力强的也可做二次开发,以实现不同的功能。 欢迎下载使用,也欢迎交流学习!
图像<div class='footer'> <button id='change' onclick='changeHat()' style='display: none;'>换个样式</button> <button id='exportBtn' onclick='exportFunc()'>生成头像</button> </div> <div style='display: none'> <img id='img' src='' alt=''/> <img class='hide' id='hat0' src='./img/hat0.png'/> <img class='hide' id='hat1' src='./img/hat1.png'/> <img class='hide' id='hat2' src='./img/hat2.png'/> <img class='hide' id='hat3' src='./img/hat3.png'/> <img class='hide' id='hat4' src='./img/hat0.png'/> <img class='hide' id='hat5' src='./img/hat1.png'/> <img class='hide' id='hat6' src='./img/hat2.png'/> <img class='hide' id='hat7' src='./img/hat3.png'/> </div> <script src="./js/fabric.js"></script> <script> var cvs = document.getElementById("cvs"); var ctx = cvs.getContext("2d"); var exportImage = document.getElementById("export"); var img = document.getElementById("img"); var hat = "hat6"; var canvasFabric; var hatInstance; var screenWidth = window.screen.width < 500 ? window.screen.width : 300; function viewer() { var file = document.getElementById("upload").files[0]; console.log(file); var reader = new FileReader; if (file) { reader.readAsDataURL(file); reader.onload = function(e) { img.src = reader.result; img.onload = function() { img2Cvs(img) } } } else { img.src = "" } } function img2Cvs(img) { cvs.width = img.width; cvs.height = img.height; cvs.style.display = "block"; canvasFabric = new fabric.Canvas("cvs", { width: screenWidth, height: screenWidth, backgroundImage: new fabric.Image(img, { scaleX: screenWidth / img.width, scaleY: screenWidth / img.height }) }); changeHat(); document.getElementById("uploadContainer").style.display = "none"; document.getElementById("uploadText").style.display = "none"; document.getElementById("upload").style.display = "none"; document.getElementById("change").style.display = "block"; document.getElementById("exportBtn").style.display = "block"; document.getElementById("tip").style.opacity = 1 } function changeHat() { document.getElementById(hat).style.display = "none"; var hats = document.getElementsByClassName("hide"); hat = "hat" + (+hat.replace("hat", "") + 1) % hats.length; var hatImage = document.getElementById(hat); hatImage.style.display = "block"; if (hatInstance) { canvasFabric.remove(hatInstance) } hatInstance = new fabric.Image(hatImage, { top: 40, left: screenWidth / 3, scaleX: 100 / hatImage.width, scaleY: 100 / hatImage.height, cornerColor: "#0b3a42", cornerStrokeColor: "#fff", cornerStyle: "circle", transparentCorners: false, rotatingPointOffset: 30 }); hatInstance.setControlVisible("bl", false); hatInstance.setControlVisible("tr", false); hatInstance.setControlVisible("tl", false); hatInstance.setControlVisible("mr", false); hatInstance.setControlVisible("mt", false); canvasFabric.add(hatInstance) } function exportFunc() { document.getElementsByClassName("canvas-container")[0].style.display = "none"; document.getElementById("exportBtn").style.display = "none"; document.getElementById("tip").innerHTML = "长按图片保存或分享"; document.getElementById("change").style.display = "none"; cvs.style.display = "none"; exportImage.style.display = "block"; exportImage.src = canvasFabric.toDataURL({ width: screenWidth, height: screenWidth }) } </script>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值