简书 Markdown 语法详解

2023-12-01 21:32
文章标签 详解 语法 markdown 简书

本文主要是介绍简书 Markdown 语法详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

注: 文章摘自 白老师课堂 - 简书

一、区块标记

区块标记:是指内容独占一块,需前后换行,不和其他标记共处一行的标记

1. 段落

段落:即是一段连续的文字,可包含 * 、空格、换行、tab 等字符。两个段落之间使用空行分隔

示例代码

第一自然段第二自然段

效果

第一自然段

第二自然段

注意:换行不是分段的标识,空行才是

2. 标题

标题:代表了文章中主题的层次,比如:文章标题使用一级标题,回目名称使用二级标题,小节使用三级标题,依次类推。主题的层次代表了文章的大纲

语法:Markdown 中使用连续 n(1-6) 个 "#" 分别表示第 n 级标题, "#" 和后续内容之间应放置一个空格

示例代码

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

效果

一级标题

二级标题

三级标题

四级标题
五级标题
六级标题
3. 列表

列表:就是一组相关信息的集合

  • 有序列表

语法:使用 "(数字)" 和 "." 作为项目符号,项目符号和正式列表项目之间有一个空格

示例代码

1. 步骤一
2. 步骤二
3. 步骤三

效果

  1. 步骤一
  2. 步骤二
  3. 步骤三
  • 无序列表*

语法:使用 "+" 作为项目符号,项目符号和正式列表项目之间有一个空格

示例代码

+ 一级目录+ 二级目录+ 三级目录+ 四级目录
+ 一级目录+ 二级目录+ 二级目录+ 三级目录

效果

  • 一级目录

    • 二级目录
      • 三级目录
        • 四级目录
  • 一级目录

    • 二级目录
    • 二级目录
      • 三级目录

注意

  • 无序列表的符号可使用 *,+,- 效果是相同的
  • 每一层级目录 (第一层级除外) 前面应相对于上一层级添加一个 tab 或两个空格, 以便区分等级
4. 分割线

语法:至少使用 3 个连续的 * 即可得到一个分割线

示例代码

***

效果


5. 引用

语法:在行头加上 ">" 即可, ">" 和后续内容之间有一个空格

示例代码

> 引用

效果

引用

注意

  • 可以在每行之前加 ">" ,也可以在段落之前加 1 个 ">"
  • 引用内部可以使用其他 Markdown 标记

二、行内标记

行内标记和其他标记共处一行

1. 强调文字
  • 斜体

语法:内容前后各1个 "*"或"_"

示例代码

*斜体*
_斜体_

效果

斜体
斜体

  • 粗体

语法:内容前后各2个 "*"或"_"

示例代码

**粗体**
__粗体__

效果

粗体
粗体

  • 删除文字

语法:内容前后各2个 "~"

示例代码

~~删除~~

效果

删除

  • 粗斜体

语法:内容前后各2个 "" 和1个"_" 或 1个 ""和2个"_" (左右要对称)

示例代码

_**粗斜体**_
*__粗斜体__*
**_粗斜体_**
__*粗斜体*__

效果

粗斜体
粗斜体
粗斜体
粗斜体

2. 图片
  • 行内图片

图片和图片地址写在一起

语法: [图片上传失败...(image-b2fafa-1534418374184)]

示例代码

![简书 LOGO](https://upload-images.jianshu.io/upload_images/4804567-a1a23be9218ff8c4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

效果

4804567-a1a23be9218ff8c4.png
简书 LOGO

注意

  • 在简书中,图片可以直接拖到编辑区,会自动上传图片并生成图片地址; 也可以右键 (Ctrl + V) 直接粘贴
  • "[]" 方括号里的内容可以不写
  • 引用图片

图片和图片地址分开书写

语法:
![图片标题][图片 id]
(空行)
[图片 id]:图片 url

![简书 LOGO][jianshu][jianshu]:https://upload-images.jianshu.io/upload_images/4804567-a1a23be9218ff8c4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

效果

4804567-a1a23be9218ff8c4.png
简书 LOGO

注意

  • 引用图片的 id 在文章中必须唯一
  • 名称和路径之间至少空一行
  • 图片名称 (第一对"[]"内容) 可以不写
  • 链接 id 可使用字母、数字、空格和下划线等,不区分大小写
3. 链接
  • 行内链接

链接和地址写在一起

语法:[链接名称](链接地址 url "链接title")

示例代码

[小贤笔记](https://www.jianshu.com/u/195a91a868f5)

效果

小贤笔记

  • 引用链接

链接和地址分开书写

语法:
[链接名称][链接id]
(空行)
[链接id]:链接 url 地址 "链接 title"

示例代码

[小贤笔记][xxbj][xxbj](https://www.jianshu.com/u/195a91a868f5)

效果

小贤笔记

注意

  • 链接 id 可使用字母、数字、空格和下划线等,不区分大小写
  • 名称和路径之间至少空一行
  • 自动链接

一种简明的链接书写方式

语法:<链接地址>

示例代码

<https://www.jianshu.com/u/195a91a868f5>

效果

https://www.jianshu.com/u/195a91a868f5

4. 脚注

为名词提供注释,注释将显示在文章末尾

语法:
待解释文字[^脚注 id]
[^脚注 id]:注释内容

示例代码

Hello World[^hello]
[^hello]:你好, 世界

效果

Hello World[1]
(第二行的内容在文章最底部)

注意事项

  • 脚注 id 必须唯一
  • 无论脚注 id 如何起名,显示时一律标为数字,并且按出现顺序排列
  • 翻译的内容会自动跳到文章末尾

三、代码块

行内代码块

语法:使用两个 "`"(esc 下面的那个键) 将代码包含起来

示例代码

`Hello World`

效果

Hello World

多行代码块

语法:只需要每行都缩进 4 个空格即可,或者使用```框起来

  • 方法1: 每前面增加两个 tab 或 4个空格

示例代码

    function() {alert("Hello, world")}

效果

    function() {alert("Hello, world")}
  • 方法2: 代码上下用 ```(esc 下面的键) 框起来

示例代码

... // ← esc 下面的键, 由于显示问题, 这里用 "." 代替
function() {alert("Hello, world")
}
... // ← esc 下面的键, 由于显示问题, 这里用 "." 代替

注意

  • 在代码区块内部,Markdown 标记失效,比如:+ 就是 + ,不被解释为特殊标记

四、表格

语法:

  • 第一行为表头,第二行分隔表头和主体部分,第三行开始每一行为一个表格行
  • 列于列之间用管道符 "|" 隔开, 表格每一行两边的管道符可省略
  • 第二行还可以为不同的列指定对齐方向, 默认为左对齐;在 "-" 左边加上 ":" 就是左对齐;在 "-" 右边加上 ":" 就是右对齐;在 "-" 两边都加上 ":" 就是居中对齐

示例代码

|姓名|年龄|性别|身高(cm)|
|-|:-|:-:|-:|
|张三|22|男|180|
|李四|18|女|165|

效果

姓名年龄性别身高(cm)
张三22180
李四18165

五、其他问题

1. Markdown 与 HTML 的关系
  • HTML 是一种发布的格式,Markdown 是一种书写的格式
  • Markdown 的格式语法只涵盖纯文本可以涵盖的范围
  • 在 Markdown 中可直接使用 HTML 标签,但需要注意
    • 对于 HTML 区块元素――如 div、table、pre、p 等标签,必须在前后加上空行与其它内容区隔开,还要求它们的开始标签与结尾标签不能用制表符(tab)或空格来缩进
    • HTML 的行内标签——如 span、cite、del 可以在 Markdown 的段落、列表或是标题里随意使用
    • 在 HTML 的区块标签中的 Markdown 标签是没有效果的
2. 特殊字符的自动转换
  • 在 HTML 文件中,有两个字符需要特殊处理: < 和 &,必须使用转义字符:& lt ; 和 & amp
  • Markdown 中,你可以自由的书写 < 和 &,编辑器会智能的进行判断:当这些符号用于 HTML 标签中,他们将保留原型;当他们单独使用时,将会转换为字符实体
  • 在代码块中,它们将统统被转换为字符实体,即原样显示
3. Markdown 中的转义字符

Markdown 中,如需显示有特定意义的符号,如:*,# 等,可使用 反斜杠 \ 进行转义。可对如下字符进行转义:

*
`
*
_
{}
()
#
+
-
.
!  

六、简书尚不支持的标记和不足

  • 用于生成目录索引的 [TOC]
  • 用于说明文章标签的 tags
  • 定义列表和待办事宜 Todo 列表
  • 数学公式
  • 各种图形:流程图、时序图、甘特图
  • 其他技术,如:{mermaid}
  • 区块代码中不显示行号

  1. 你好, 世界 ↩

这篇关于简书 Markdown 语法详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/442759

相关文章

Java注解之超越Javadoc的元数据利器详解

《Java注解之超越Javadoc的元数据利器详解》本文将深入探讨Java注解的定义、类型、内置注解、自定义注解、保留策略、实际应用场景及最佳实践,无论是初学者还是资深开发者,都能通过本文了解如何利用... 目录什么是注解?注解的类型内置注编程解自定义注解注解的保留策略实际用例最佳实践总结在 Java 编程

MySQL数据库约束深入详解

《MySQL数据库约束深入详解》:本文主要介绍MySQL数据库约束,在MySQL数据库中,约束是用来限制进入表中的数据类型的一种技术,通过使用约束,可以确保数据的准确性、完整性和可靠性,需要的朋友... 目录一、数据库约束的概念二、约束类型三、NOT NULL 非空约束四、DEFAULT 默认值约束五、UN

Python使用Matplotlib绘制3D曲面图详解

《Python使用Matplotlib绘制3D曲面图详解》:本文主要介绍Python使用Matplotlib绘制3D曲面图,在Python中,使用Matplotlib库绘制3D曲面图可以通过mpl... 目录准备工作绘制简单的 3D 曲面图绘制 3D 曲面图添加线框和透明度控制图形视角Matplotlib

MySQL中的分组和多表连接详解

《MySQL中的分组和多表连接详解》:本文主要介绍MySQL中的分组和多表连接的相关操作,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录mysql中的分组和多表连接一、MySQL的分组(group javascriptby )二、多表连接(表连接会产生大量的数据垃圾)MySQL中的

Java 实用工具类Spring 的 AnnotationUtils详解

《Java实用工具类Spring的AnnotationUtils详解》Spring框架提供了一个强大的注解工具类org.springframework.core.annotation.Annot... 目录前言一、AnnotationUtils 的常用方法二、常见应用场景三、与 JDK 原生注解 API 的

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多

SpringBoot整合mybatisPlus实现批量插入并获取ID详解

《SpringBoot整合mybatisPlus实现批量插入并获取ID详解》这篇文章主要为大家详细介绍了SpringBoot如何整合mybatisPlus实现批量插入并获取ID,文中的示例代码讲解详细... 目录【1】saveBATch(一万条数据总耗时:2478ms)【2】集合方式foreach(一万条数