Markdown 语法手册

Cmd Markdown在线编辑器
Arya - 在线 Markdown 编辑器
微信公众号markdown排版工具

中文技术文档写作风格指南

什么是Markdown?

Markdown 的效果用 Word 也完全可以复现,甚至功能更多,为何要用 Markdown 呢?

功能多,不一定是好事,功能一多,选择就会变多,然后你会开始纠结……
这个字号是不是该大一点呢?
这个颜色好像有点不太搭呢?
这个粗体,是不是该再加点颜色呢?
这个图片的位置看起来有点不大对劲呢?
结果,写了半天,就憋出一点点东西,写出来的内容…好像…也不咋滴

MD的优势:

  1. Markdown 让我们免于 被繁杂臃肿的功能晃花了眼 的困扰
  2. Markdown 让我们回归内容本身,拥抱笔记的内核,而非浮于表象的样式,写出高效精练的笔记!

用 Markdown 写东西,记住一个原则:

能10个字搞定,绝不用11个字

标题&字体

不同数量的#可以完成不同的标题,和 HTML 一样共有六级,如下:

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

粗体、斜体、粗体和斜体,删除线,需要在文字前后加不同的标记符号。如下:

这个是粗体:左右各两个星号**

这个是斜体:左右各一个星号*

这个是粗体加斜体:左右各三个星号*

删除线:左右各两个波浪号~

下划线:与HTML一样,使用<u></u>标签

注:如果想给字体换颜色或居中显示,需要使用内嵌HTML来实现。

分割线:英文状态下三个---
钉钉东东东东

列表&引用

无序列表的使用,在符号-后加空格使用。如下:

- 无序列表 1
- 无序列表 2
- 无序列表 3

如果要控制列表的层级,则需要在符号-前使用空格。如下:

有序列表的使用,在数字及符号.后加空格后输入内容,如下:

  1. 有序列表 1
  2. 有序列表 2
  3. 有序列表 3

引用

引用的格式在符号>后面书写文字。如下:

读一本好书,就是在和高尚的人谈话。 ——歌德

脚注:在需要脚注的地方,输入[^脚注代号],推荐使用数字序号。在其他区域,输入:
[^脚注代号]:脚注内容

网页

外链的格式:[显示文本内容](链接地址 "提示信息文本")。微信公众号仅支持公众号文章链接,即域名为https://mp.weixin.qq.com/的合法链接。

图片

图片格式:![图片文字描述](图片链接 "提示文本信息")

支持 jpg、png、gif、svg 等图片格式,svg 文件示例如下:

我是SVG

绘制函数图像

首先用 Mathematica 绘图并导出 SVG

Plot[Sin[x], {x, -4, 4}, PlotPoints -> 2]
Export["sin.svg", %]

接下来使用 svgo 做一下压缩:

svgo --pretty sin.svg

得到的代码直接复制进来就好啦~

绘制表格

Obsidian中可直接使用鼠标右键插入

| 左栏 | 中间栏 | 右栏 |
| -------- | -------- | ----- |
| 单元格 1 | 居中 | $1600 |
| 单元格 2 | 单元格 3 | $12 |
左栏 中间栏 右栏
单元格 1 居中 $1600
单元格 2 单元格 3 $12

可以使用冒号来定义表格的对齐方式,如下:

姓名 年龄 工作
小可爱 18 吃可爱多
小小勇敢 20 爬棵勇敢树
小小小机智 22 看一本机智书

可以Shift+Enter对一段长文本进行换行

代码块

如果在一个行内需要引用代码,只要用反引号引起来就好,如下:

Use the printf() function.

在需要高亮的代码块的前一行及后一行使用三个反引号,同时第一行反引号后面表示代码块所使用的语言,如下:

// FileName: HelloWorld.java
public class HelloWorld {
  // Java 入口程序,程序从此入口
  public static void main(String[] args) {
    System.out.println("Hello,World!"); // 向控制台打印一条语句
  }
}

diff 不能同时和其他语言的高亮同时显示,且需要调整代码主题为微信代码主题以外的代码主题才能看到 diff 效果,使用效果如下:

+ 新增项
- 删除项

拓展文本格式

键盘文本的格式:<kbd>Ctrl</kbd> + <kbd>X</kbd>
键盘文本和行内代码一样可以作为突出显示着重文本的方式

放大文本的格式:<big>这是一段放大文本</big>

缩小文本的格式:<small>这是一段缩小文本</small>

高亮文本的格式:这里是一段高亮文本

多彩文本的格式:<font color=orange>这是一段橘色文本</font>

color 里的颜色支持英文单词,16进制rgbrgba

上标的格式:<sup>这里是上标内容</sup>,X2

下标的格式:<sub>这里是下标内容</sub>,H2O

Latex 数学公式

MathJax 参考手册

MathJax Doc

公式块的格式:$公式$

行内公式使用方法,比如这个化学公式:HgA2+IAHgIA2IA[HgAIIIA4]A2

块公式使用方法如下:

H(D2)=(24log224+24log224)=1

矩阵:

(1a1a12a1n1a2a22a2n1amam2amn)

Mermaid 绘图

graph LR;
		A("开始") --> B["一级"]
	    A --> C("二级")
	    A --> D("三级")
graph LR
	%% s=start  e=end  f= fork n=normal 
	
	%% 虚线
	s[朱百六]-.->|子|n1[朱四九]-.->|子|n2[朱五四]-.->|子|f1_帝((朱八八))
	
	%% 分支点朱八八
	f1_帝-->|长子|f2[朱标]
	f1_帝-->|次子|n3[朱樉]
	f1_帝-->|三子|n4[朱棢]
	f1_帝-->|四子|n5_帝((朱棣))
	
	%% 分支点朱标
	f2-->|长子|e1[朱雄英]
	f2-->|次子|e2_帝((朱允炆))
	
	n5_帝-->|长子|e3[朱高炽]
pie
	title 为什么总是宅在家里?
	"喜欢宅" : 45
	"天气太热" : 70
	"穷" : 500
	"关你屁事" : 95

Callout 标注

>[!info] 自定义标题
包裹的内容
可以是多行的内容

在标题部分可以使用 -+符号,让callout面板折叠或者展开

>[!info]+ 自定义标题
包裹的内容
可以是多行的内容
这是一个可折叠的info

包裹的内容
可以是折叠的多行的内容

Note
Abstract
Todo
Tip
Question
Warning
Failure
Danger
Bug
Example
Quote

参考自:
Markdown语法参考 | Obsidian
Markdown语法
MarkDown语法超详细教程