简书 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/442760

相关文章

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

MySQL中的交叉连接、自然连接和内连接查询详解

《MySQL中的交叉连接、自然连接和内连接查询详解》:本文主要介绍MySQL中的交叉连接、自然连接和内连接查询,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、引入二、交php叉连接(cross join)三、自然连接(naturalandroid join)四

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

鸿蒙中@State的原理使用详解(HarmonyOS 5)

《鸿蒙中@State的原理使用详解(HarmonyOS5)》@State是HarmonyOSArkTS框架中用于管理组件状态的核心装饰器,其核心作用是实现数据驱动UI的响应式编程模式,本文给大家介绍... 目录一、@State在鸿蒙中是做什么的?二、@Spythontate的基本原理1. 依赖关系的收集2.

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Redis实现延迟任务的三种方法详解

《Redis实现延迟任务的三种方法详解》延迟任务(DelayedTask)是指在未来的某个时间点,执行相应的任务,本文为大家整理了三种常见的实现方法,感兴趣的小伙伴可以参考一下... 目录1.前言2.Redis如何实现延迟任务3.代码实现3.1. 过期键通知事件实现3.2. 使用ZSet实现延迟任务3.3