Markdown基础语法

§0 前言


以下内容只在Typora(mac)编辑器中做过测试。

§1 代码片段


  • 效果:
#include  <cstdio>
int main() {
    printf("Hello, world!
");
    return 0;
}

其中printf()是一个常用的库函数。

同时四个空格或一个Tab开头的内容也表示代码块,但此时应该有空行与上方的内容隔开。此处就是用这种方式生成的代码块。注意除了列表(第三章)和代码块以外,别的地方慎用Tab和行首空格!
  • markdown代码:
#include  <cstdio>
int main() {
    printf("Hello, world!
");
    return 0;
}

其中`printf()`是一个常用的库函数。

	同时四个空格或一个Tab开头的内容也表示代码块,但此时应该有空行与上方的内容隔开。此处就是用这种方式生成的代码块。注意除了列表(第三章)和代码块以外,别的地方慎用Tab和行首空格!

§2 标题


  • 效果:

一级标题(最多有六级标题)

二级标题

三级标题

四级标题

五级标题
六级标题

这也可以是一级标题

这也可以是二级标题

  • markdown代码:
# 一级标题(最多有六级标题)
## 二级标题
### 三级标题
#### 四级标题 
##### 五级标题  
###### 六级标题
这也可以是一级标题
=====
这也可以是二级标题
-----

§3 列表


在子列表前加入Tab或四个空格后可与上级列表嵌套。

  • 无序号的表
    每一表项都由'-'或'*'或'+',后加一个空格开头,三种字符可以混合使用,但不建议这么用。。

    • 效果:
      • 表项1
      • 表项2
      • 表项3
    • markdown代码:
- 表项1
* 表项2
+ 表项3
  • 有序号的表
    每一表项由数字序号加'.'加一个空格开头。

    • 效果:
      1. 项目1
      2. 项目2
      3. 项目3
    • markdown代码:
1. 项目1
2. 项目2
3. 项目3
  • checkbox
    由'-'加空格加'['加空格加']'加空格
    或'-'加空格加'['加'x'加']'加空格开头(Typora中可用)

    • 效果:
      • [ ] 计划任务
      • [x] 完成任务
    • markdown代码
- [ ] 计划任务
- [x] 完成任务

§4 文本样式


  • 效果:
    1. 首尾各一个'*'使该部分变成斜体首尾各一个'_'也可以.
    2. 首尾各两个'*'加粗文本首尾各两个'_'也可以
    3. 首尾各三个'*'使该部分变成粗斜体首尾各三个'_'也可以
    4. 首尾各两个'='可以标记文本(typora中不行)首尾各两个'~'字符用来删除文本
    5. 下划线可以利用html中的标签u实现。
    6. 若某行末尾至少有两个空格,则表示该行和下一行属于两个不同的段落。使用单独的一个空行也可以起到划分段落的作用。建议使用单独的空行,这样更直观,而且使用末尾两个空格时cnblogs在某些情况下和typora的解析结果不一样?特别注意在使用列表时的段落划分。

用'>'开头来引用文本,好像要用一个空行来结束引用

引用是可以嵌套的,用若干个'>'即可。

注意引用可以和列表等其他语法嵌套使用。嵌套时注意空行空格Tab等等的用法。

  1. 试试这个脚注怎么样[1],即使我给这个脚注起了名字,但cnblogs好像显示不出来。
  2. 关于上标和下标:
    可以使用html中的sup和sub标签:x2 - x = 6=>x1 = -2, x2 = 3
  3. 分隔线用三个及以上的'-', 或三个及以上的'_', 或三个以上及的'*'表示,行内可以有空格。注意分隔线使用的字符'-'也可以产生二级标题,所以可能产生冲突。分隔线示例如下:



  • markdown代码:
1. *首尾各一个'*'使该部分变成斜体*, _首尾各一个'\_'也可以_.
2. **首尾各两个'*'加粗文本**, __首尾各两个'\_'也可以__。
3. ***首尾各三个'*'使该部分变成粗斜体***,___首尾各三个'\_'也可以___。
4. ~~==首尾各两个'='可以标记文本==(typora中不行)~~,~~首尾各两个'~'字符用来删除文本~~。
5. <u>下划线可以利用html中的标签u实现。</u>
6. 若某行末尾至少有两个空格,则表示该行和下一行属于两个不同的段落。使用单独的一个空行也可以起到划分段落的作用。建议使用单独的空行,这样更直观,而且使用末尾两个空格时cnblogs在某些情况下和typora的解析结果不一样?特别注意在使用列表时的段落划分。
7. 
> 用'>'开头来引用文本,好像要用一个空行来结束引用
> > 引用是可以嵌套的,用若干个'>'即可。
> > > 注意引用可以和列表等其他语法嵌套使用。嵌套时注意空行空格Tab等等的用法。

8. 试试这个脚注怎么样[^脚注],即使我给这个脚注起了名字,但cnblogs好像显示不出来。
9. 关于上标和下标:
可以使用html中的sup和sub标签:x<sup>2</sup> - x  = 6=>x<sub>1</sub> = -2, x<sub>2</sub> = 3
10. 分隔线用三个及以上的'-', 或三个及以上的'_', 或三个以上及的'*'表示,行内可以有空格。注意分隔线使用的字符'-'也可以产生二级标题,所以可能产生冲突。分隔线示例如下:

___
---
***

[^脚注]:既然是脚注,当然要放在后面啦。

§5 链接


这是我的链接->[link name 1](https://www.cnblogs.com/watchphone/)
这也是我的链接-><https://www.cnblogs.com/watchphone/>
这还是我的链接(使用变量)->[link name 2][variable name](cnblogs中好像不能用)
[variable name]:https://www.cnblogs.com/watchphone/
  • 图片
    • 效果:
      Itis 哆啦A梦

    • markdown语法:

![alt 属性文本](图片地址 "可选标题")
- PS:

Markdown还没有办法指定图片的高度与宽度,如果你需要的话,你可以使用html的 img 标签。

§6 表格


  • 效果:
Column 1 Column 2
centered 文本居中 right-aligned 文本居右
  • markdown代码:
| Column 1 | Column 2      |
|:--------:| -------------:|
| centered 文本居中 | right-aligned 文本居右 |

§7 其他技巧


参考

  1. 用反斜杠可以转义保留字符
  2. 不在Markdown涵盖范围之内的标签,都可以直接在文档里面用HTML 撰写。目前支持的 HTML 元素有:<kbd> <b> <i> <em> <sup> <sub> <br>等。
    • 效果:
      command + w 关闭本页面。(只是举个例子。。)

    • markdown代码:

用<kbd>command</kbd> + <kbd>w</kbd> 关闭本页面。(只是举个例子。。)
  1. LaTeX 数学公式不知道为啥cnblogs预览正确,但有时候显示不出来。。
    使用两个美元符包裹TeX或LaTeX格式的数学公式来实现。提交后,问答和文章页会根据需要加载 Mathjax对数学公式进行渲染。参考文档

    • 效果:

[Gamma(z) = int_0^infty t^{z-1}e^{-t}dt\,. ]

[ mathbf{V}_1 imes mathbf{V}_2 = egin{vmatrix} mathbf{i} & mathbf{j} & mathbf{k} \ frac{partial X}{partial u} & frac{partial Y}{partial u} & 0 \ frac{partial X}{partial v} & frac{partial Y}{partial v} & 0 \ end{vmatrix} ]

$$
Gamma(z) = int_0^infty t^{z-1}e^{-t}dt\,.
$$

$$
mathbf{V}_1 	imes mathbf{V}_2 =  egin{vmatrix} 
  mathbf{i} & mathbf{j} & mathbf{k} \
  frac{partial X}{partial u} &  frac{partial Y}{partial u} & 0 \
  frac{partial X}{partial v} &  frac{partial Y}{partial v} & 0 \
  end{vmatrix}
$$
  1. 流程图等(用到了再补充)
    甘特图
    UML图
    Mermaid流程图
    Flowchart流程图

  1. 既然是脚注,当然要放在后面啦。 ↩︎

本人菜鸡一枚!
如有错误还请大佬们多多指教!
原文地址:https://www.cnblogs.com/watchphone/p/12297525.html