软件推荐
工欲善其事,必先利其器。
编写markdown推荐使用vsc(安装markdown preview enhanced更佳)或者Typora软件,当然有道云笔记也不错哦~(当前文章就是从有道云复制共享出来)
目前osc、简书、csdn等都支持markdown。markdown的语法简洁,文档备份方便,是写博客的首选。
缺点 表格和插图,图片存储位置在很多软件上面不统一,尤其是在线编辑器,markdown代码很容易复制过去,嗯,除非图片都保存在一个统一的云端(PicGo
图床上传工具你值得拥有)。
目录示例
[TOC]
目录使用[TOC]就可以生成带有层级的目录了,但是它貌似不是标准的markdown写法,很遗憾hexo和github就不支持。
- github生成目录,可以使用vsc的markdown preview enhanced插件
- hexo侧边自带文章目录,所以就不折腾了,不信你瞧一眼
标题示例
三级标题 \
四级标题 \
总共6级标题 ,一个#表示1级,注意上面的TOC目录是根据标题等级生成层级关系的
一级标题 ====
二级标题 —-
这种写法的一二级标题等同于上面的一二级标题,但是很多解析器toc目录会忽略,基本不用
字体效果
斜体 :*斜体*或_斜体_
加粗 :**加粗**
加粗 :***斜体加粗***
删除线 :~~删除线~~
下划线 :下划线
高亮字体:==高亮字体==
我是微软雅黑字
1 | 我是微软雅黑字 |
字体加大变色
1 | 字体加大变色 |
列表
==列表结尾最好有空行。多个列表连续时中间空2行。==
无序列表(*+-开头后面加空格)
- 星号开头
- 加号开头
- 减号开头
有序列表(数字+英文句号+空格)
我数字后没有跟空格,看起来像其实不是有序列表
1.有序列表
2.有序列表
3.有序列表
我是有序列表,在有些编辑器列表会和上面的列表数字连起来。
出现这种问题,可以将此行前面加一个空格缩进。
- 有序列表
- 有序列表
- 有序列表
无序嵌套无序,二级前面2个空格
1 | - 一级 |
效果如下:
- 一级
- 二级
- 一级
- 二级
有序嵌套无序,二级前面4个空格
1 | 1. 第一项: |
效果如下:
- 第一项:
- 第一项嵌套的第一个元素
- 第一项嵌套的第二个元素
- 第二项:
- 第二项嵌套的第一个元素
- 第二项嵌套的第一个元素
无序++无序+有序实现三级列表
1 | + 一级1 |
效果如下:
- 一级1
- 二级1.1
- 二级1.2
- 三级1.2.1
- 三级1.2.2
- 二级1.3
- 一级2
换行
方法1: 连续两个以上空格+回车
方法2:使用html语言
水平线
3个连续*或-或_
注意:超过3个-是二级标题,不过有时候不生效
背景色
Markdown本身不支持背景色设置,借助 table, tr, td 等表格标签的 bgcolor 属性来实现背景色的功能(简书,有道云笔记本等不支持)。举例如下:
背景色是:green |
注意:html代码块后面要换行,否则在vscode中会有问题。
代码块
行内代码块
代码块(和引用效果很像):
一个tab或4个英文空格就是代码块,但是前面要空一行。我是引用。
行内代码块,用`括起来:
示例:
`代码块`
结果:代码块
块状代码块
块状代码块用以3个`符号开始和结束的,并且开始和结束单独一行
示例
效果:
1 |
|
高亮代码块
高亮代码块是在开始的3个`后添加具体的语言
效果:
1 | <xml>高亮代码块xml> |
引用
普通引用
引用就是在段落前面添加>
示例
>引用
>引用
结果
引用
引用
嵌套引用
当前层数递增,则层层断开嵌套
当前层小于等于上一层,则两层平级
>1层
>>2层
>>>3层
>当前层小于等于上一层,则平级
>>2个>
>>>3个>当前层大于上一层
>>>>4个>
>1个>当前层小于等于上一层
>>>>>>>7个>断层,因为当前层大于上一层
效果:
1层
2层
3层
当前层小于等于上一层,则平级
2个>
3个>当前层大于上一层4个>
1个当前层小于等于上一层7个>断层,因为当前层大于上一层
注意,层的最后一行要空行,不然你会看到这句话也在层里面。同样的问题也出现在列表上。
经验:在使用引用和列表的时候,结尾最好空2行为好。
待办事项
- [x] 已完成
- [ ] 未完成
效果:
- 已完成
- 未完成
- 日志研究
- 路由
- Rxjs
待办事项后面要换行,否则下面一行的文字会变成待办事项。比如这一行。
hexo不支持todolist,需要安装插件,目前插件和目录有冲突
图片插入
1 |  |
效果
在 markdown 直接使用提供的语法引入图片是无法设置大小的,所以我们需要用到 html 的 img 标签。
在 markdown 设置图片居中是需要通过 div 来控制的。
表格
| 列1 | 列3 | 列3 |
| :— | :–: | —: |
| 左对齐 | 居中对齐 | 右对齐 |
列1 | 列3 | 列3 |
---|---|---|
左对齐 | 居中对齐 | 右对齐 |
第二行中的字符:在左面左对齐,在两边居中对齐,在右面右对齐,没有:默认左对齐。 |
表格在线转换
右上角导入html,点确定可以直接生成markdown
链接
1 | [有道](https://note.youdao.com/ "鼠标移上来的提示,可以省略") |
效果
有道
时序图
-> 直线,–>虚线,->>实线箭头
各软件写法目前不统一。建议直接看源码吧。
markdown图
示例地址
typora和vscode使用js-sequence实现,typora官方说明:显示如下:
简单示例:
复杂示例
以上代码在vscode可以切换主题:`sequence {theme='hand'}`有道云写法很特殊:
1 | sequenceDiagram |
Emoji
从这里直接点一下就复制了
或者使用:表情:,表情二字换成smile
😄😄
特殊符号处理
Markdown使用反斜杠\插入语法中用到的特殊符号。在Markdown中,主要有以下几种特殊符号需要处理:
\ 反斜线
` 反引号
- 加号
- 减号
. 英文句点
! 惊叹号
例如,如果你需要插入反斜杠,就连续输入两个反斜杠即可:\ \ => \ 。
注:在内容中输入以上特殊符号的时候一定要注意转义,否则将导致内容显示不全,甚至排版混乱。
hexo
在hexo中note和tabs标签需要开启才可以使用
note
note为hexo的插件,普通markdown并不支持
格式为:
1 | {% note class_name %} |
class_name有6个值:default,primary,success,info,warning,danger
效果如下
现在该说点什么呢,我没有class_name
现在该说点什么呢 default
现在该说点什么呢 primary
现在该说点什么呢 success
现在该说点什么呢 info
现在该说点什么呢 warning
现在该说点什么呢 danger
tabs
first
second
文本居中的引用
源码
1 | {% cq %} |
效果
很拽的土豆说:情不知所起、一往而深
使用font包起来,可以改变字体大小
很拽的土豆说:情不知所起、一往而深