typecho-markdown语法支持检测
前言: 本文针对typecho开发版[18.10.23],在添加主题Mirages后的markdown语法检测支持情况及总结注意点
1.标题
标题以N个#
符号开头,后面接空格
+标题语
,N>=1,n个#代表第N级标题,如:#xxx代表一级标题xxx,##xxx代表二级标题xxx
示例:
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
####### 七级标题
效果如下:
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
七级标题
可见,当前版本支持6级,大于6级自动转化为6级
2.文本字体
使用一些特殊标记符号将文本包裹起来,达到特殊显示,增强提示内容的效果
普通文本
直接书写,没有特殊符号包裹
斜体
将需要斜体的文字,使用一对*或_包裹起来(文字左右1个*或_)
加粗
将需要加粗的文字,使用一对**包裹起来(文字左右2个*)
斜体加粗
将需要斜体加粗的文字,使用一对***包裹起来(文字左右3个*)
删除线
将需要删除线的文字,使用一对~~包裹起来(文字左右2个~)
示例:
_斜体1_
*斜体2*
**加粗**
***斜体加粗***
~删除线~
效果如下:
斜体1
斜体2
加粗
斜体加粗删除线
3.引用/注释
以>符号开头,后面接文字表示引用/注释.(多个>开头代表嵌套注释,真·没啥卵用)
示例:
> 引用1,
引用1中换行1次
引用1中换行2次
换行空白代表结束引用1
> 引用1,
引用1中换行1次
引用1中换行2次
>> 引用2
引用2中换行1次
引用2中换行2次
换行空白代表结束引用2
> 引用1,
> 引用1中换行1次
> 引用1中换行2次
>> 引用2
>> 引用2中换行1次
>> 引用2中换行2次
效果如下:
引用1,
引用1中换行1次
引用1中换行2次
换行空白代表结束引用1
引用1,
引用1中换行1次
引用1中换行2次引用2
引用2中换行1次
引用2中换行2次
换行空白代表结束引用2
引用1,
引用1中换行1次
引用1中换行2次引用2
引用2中换行1次
引用2中换行2次
可见,typecho引用中换行解析在本版本修复了,但建议新一行开头也用>开头,比较统一
4.分割线
在新的一行中,只使用连续的3个过3个以上的-或*符号,代表分割线
示例:
---
----
***
****
效果如下:
可见,3个或3个以上效果是一致的
5.图片
语法:
![alt](url 'title')
alt:可选项,图片下面的文字,相当于对图片内容的解释
title:可选项,标题,当鼠标移到图片上时显示的内容.
示例:
![漂亮的风景](https://cdn.liuzhicong.cn/img/mountain.jpg '超漂亮的风景')
效果如下:
可见,typecho没有对alt进行解析,title可以正常解析,且默认图片居中了.(Mirages主题对点击大图展示做了平滑优化
6.超链接
语法:
[name](url 'title')
name:必选项,超链接展示的名称
title:可选项,超链接的title,鼠标移动到超链接后的展示内容
示例:
[本文地址](https://liuzhicong.cn/index.php/default/markdown-advanced.html "这是超链接title")
效果如下:
可见,typecho没有将title解析出来
7.列表
解析出<ul><li><li/></ul>
,<ol><li><li/></ol>
的html列表语句
无序列表
格式: -/+/* + 空格 + 文字
示例:
- a
+ b
* c
注意:-/+/* 跟内容之间要有空格
效果如下:
- a
- b
- c
有序列表
格式: 数字 + 英文符号 '.' + 空格 + 文字
示例:
1. a
2. b
3. c
注意:序号跟内容之间要有空格
效果如下:
- a
- b
- c
可见,typecho 对列表有"强制性"解析,要对上一行缩进一个tab位!!!
列表嵌套
格式:下一级与上一级,用2或3个空格缩进即可(恰好下一级符号与上一级文字对齐)
示例:
**有序嵌套有序:**
1. AAA
1. aaa
2. aaa
2. BBB
1. bbb
2. bbb
**有序嵌套无序:**
1. AAA
* aaa
* aaa
2. BBB
* bbb
* bbb
**无序嵌套有序:**
* AAA
1. aaa
2. aaa
* BBB
1. bbb
2. bbb
**无序嵌套无序:**
* AAA
* aaa
* aaa
* BBB
* bbb
* bbb
效果如下:
有序嵌套有序:
AAA
- aaa
- aaa
BBB
- bbb
- bbb
有序嵌套无序:
AAA
- aaa
- aaa
BBB
- bbb
- bbb
无序嵌套有序:
AAA
- aaa
- aaa
BBB
- bbb
- bbb
无序嵌套无序:
AAA
- aaa
- aaa
BBB
- bbb
- bbb
8.表格
语法:
th|th|th
---|:---:|---:
content|content|content
|分割每列
第一行表示表头
第二行分割表头和内容,每个|分割的是限制对这一列的对齐方式,
(- 有一个就行,内容多加多几个为了代码美观对齐)
:---与默认---效果为居左对齐,
:---:效果为居中对齐,
---:居右对齐
从第三行开始到最后行,都是内容
示例:
name|gender|age
---|:---:|---:
Lee|Male|28
Lucy|Female|26
效果:
name | gender | age |
---|---|---|
Lee | Male | 28 |
Lucy | Female | 26 |
9.代码
代码分为短代码(单行代码)和代码块
短代码(单行代码)
使用一对 ` 包裹起来(文字左右一个 `, ` :即键盘左上角,数字1旁边的反引号键),可以单独作一行或在任何需要短代码作为提示使用
格式:
`your code`
示例:
我是一只`小小小小`鸟哦哦~
`想要飞啊飞啊飞不高嗷~`
效果:
我是一只小小小小
鸟哦哦~想要飞啊飞啊飞不高嗷~
代码块
使用一对3个反引号```将代码包裹起来,并且,前后3个反引号均需要独立一行,第一个3个反引号后面可以接代码语言,用于代码语法高亮
格式:
\```language
code...
code...
code...
\```
请删除上方的\
示例:
\```javascript
let msg="Hello World !";
console.log(msg);
\```
请删除上方的\
效果:
let msg="Hello World !";
console.log(msg);
10.流程图
没使用过,暂无测试
11.折叠
格式:
<details>
<summary>title</summary>
content
</details>
注意:content必须与title隔一个空白行
示例:
<details>
<summary>点击查看代码</summary>
let msg="Hello World !";
console.log(msg);
</details>
效果:
点击查看代码
let msg="Hello World !";
console.log(msg);
可见,在开发版中已支持折叠,但是(已经写了js控制summary标签前后p和br标签的css样式为display:none),具体看:typecho添加自定义js
12.todolist
格式:
- [ ] todo something 1
- [ ] todo something 2
- [x] finish something 3
注意: []前后中间都必须有空格,完成时,用x代替中间空格
示例:
- [ ] 吃饭
- [ ] 睡觉
- [x] 打豆豆
- [x] [链接百度测试](www.baidu.com)
注意: []前后中间都必须有空格,完成时,用x代替中间空格
效果:
- 吃饭
- 睡觉
- 打豆豆
- [x] 链接百度测试
可见,本版本解析todolist是相对正常的,但在添加包含链接的任务,就会解析失败
总结
typecho绝大部分的标准语法都支持,可满足日常需求.但有些地方如todolist有瑕疵,无法添加链接,会解析错误
另外,typecho可以使用了[自定义代码],方式让文章展示方式更丰富多彩详情见:typecho自定义代码
为了兼顾与GitHub的markdown兼容,建议还是仅仅使用标准的语法即可.如无整合到Github的需求,则大可使用[自定义代码]
参考
Markdown基本语法:https://www.jianshu.com/p/191d1e21f7ed
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
如有版权疑问交流,请给我留言:oneisall8955@gmail.com
本文永久链接:https://liuzhicong.cn/index.php/guide/typecho-markdown-check.html
果然还是没有像原生的一样啊,受教了OωO
开启这个主题的markdown的一些语法解析功能后,和github的差不多了,整体还是满意的