停止更新!请前往道盒发布获得支持。
本页目录
更新日志
2023-10-03
本格式规范迁移至道盒发布实现,希望能为有相关痛点的你提供帮助。至此不再更新,如有意见建议,欢迎前往道盒发布讨论。
2023-09-22
新增
2023-09-12
比较难找到符合需求的Markdown解析器,所以花了些时间自己实现了个。已集成至道盒发布,免费使用,Enjoy! 🚱 👎 👍 🎉🎉🎉
用了这么长时间文本编辑器,总对格式不能自由掌控感到不快,直到使用了Markdown。Markdown是近年来较为流行的文本标记语言,简单易用是它的核心特点,因为简单,所以格式不是那么丰富,在某些场景下无法满足需求,若是退回,则又回到开始,纠结使用哪个编辑器。索性今天整理下Markdown语法诉求,看看能否对其扩展,以满足日常需求?
基础语法 ✅
- 基于Markdown标准语法1。部分格式有几种表达方式,这里仅罗列其一种。
- 补充Github Markdown2扩展语法。
# 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 * 无序列表1 * 无序列表2 * 无序列表3 1. 有序列表1 1. 有序列表2 1. 有序列表3 1. 可以顺序标号,或者全部用1 最终渲染时会自动矫正编号。 如果前面带有缩进,会自动归为上个列表项的范围。 `行内代码` ```js console.log('代码块+语法高亮') ``` 水平分割线 --- [链接](https://www.everkm.cn "标题可省略") [页内链接](#链接ID)  *斜体* **粗体** ***粗斜体*** > 引用内容 > 嵌套内容可以包含上面的格式 > > 嵌套引用内容
语法扩展
宏
TOC (Table of content) ✅
对于长篇大作,良好的目录索引(TOC)对阅读很有帮助,所以需要增加TOC的宏标记,渲染时自动替换。效果见本页开始。
[TOC]
{{everkm::toc()}}
{{everkm::toc(level=1)}}
可选参数:
level
搜索的标题级别,默认level=3
Toc 示例
包含外部文件 ✅
渲染时将指定文件内容包含进来。仅允许常见的纯文本文件,常见扩展名为md, txt, csv, js等程序源文件。
参数:
file
: 文件的绝对路径或者相对路径。
可选参数:
as
输出格式。取值范围:plain
(默认值),渲染时原样输出table
尝试解析为表格code
代码md
ormarkdown
, 以Markdown格式解析
code_lang
编程语言,仅as="code"
时有效。table_header
第一行是否为表头,仅as="table"
时有效。table_merge
是否自动合并单元格。值与单元格内容相同则合并,合并顺序为先行后列。例如:合并所有空内容的单元格,可以增加参数table_merge=""
。仅as="table"
时有效。
包含Markdown示例:
{{everkm::include(file="_include_test.inc.md", as="md")}}
我是被包含进来的
包含表格示例:
所有*号内容的单元格自动合并,并且使用扩展属性。
{align=center}
{{everkm::include(file="demo.csv", as="table", table_header=true, table_merge="*")}}
City | State | Population | Latitude | Longitude |
---|---|---|---|---|
Davidsons Landing | AK | 65.2419444 | -165.2716667 | |
Kenai | AK | 7610 | 60.5544444 | -151.2583333 |
Oakman | AL | 33.7133333 | -87.3886111 | |
Richards Crossroads | AL | 31.7369444 | -85.2644444 | |
Sandfort | AL | 32.3380556 | -85.2233333 | |
Selma | AL | 18980 | 32.4072222 | -87.0211111 |
包含代码示例:
{{everkm::include(file="_xx.js", as="code", code_lang="js")}}
内部链接 ✅
适用于项目内的文件跳转。支持非HTML页面链接,如PDF文档等,该文件在输出时自动复制到静态资源目录。
[[文件名]]
[[...目录/文件名]]
当主题(双括号内为主题)只有一个标题时,则查找整个内容目录,文件名相同(忽略 .md
扩展名)则匹配成功。如果有多个同名文件,则返回第一个。如需避免这种同名定位,可以在前面加上目录限定。目录识别以下几种:
- 以
/
打头表示以内容根目录严格匹配。 - 以
./
(当前文件目录) 或../
(当前文件的上一级目录) 表示以当前文件为基准的相对定位。 - 除上述外,均以主题为后缀,搜索所有内容文件。
示例:永不消失的独立站
页内锚点 ✅
适用于页面内部不同位置之间的跳转。目前仅适用于标题❗。
标题增加id
属性后会自动生成锚点,如果未指定id
属性,默认使用HA-
加上标题内容地址化3生成锚点,可在链接中使用#id
实现页内锚点跳转。
自动转换链接 ✅
<https://www.everkm.cn>
hello https://www.everkm.cn world
标题、链接、图片扩展属性 ✅
可以对下面块增加属性,属性支持CSS样式名,ID,和其他自定义属性
- 标题 ✅
- 链接 ✅
- 图片 ✅
带有扩展属性的[道盒](https://www.everkm.cn){color=orangered}链接。
{corner=1em}
带有扩展属性的道盒链接。
段落属性 ✅
{bgcolor="rgba(0,0,0,0.1)" color=blue underline pa=1em corner=0.5em}
这是一段区块示例内容,它拥有扩展属性。
这是一段区块示例内容,它拥有扩展属性。
文字颜色、背景色、字体 ✅
{color=red, bgcolor=yellow .nice}#赤色#
{font=宋体}#我是有不一样的字体#
我有赤色的文本和蓝色内容。
我的字体是思源宋体 CN, 我的字体是阿里妈妈东方大楷,
表格 ✅
First Header | Second Header ------------- | ------------- Content Cell | Content Cell Content Cell | Content Cell
或者两端加上管道符
| First Header | Second Header | | ------------- | ------------- | | Content Cell | Content Cell | | Content Cell | Content Cell |
单元格对齐
| 默认对齐 | 左对齐 | 中对齐 | 右对齐 | | --- | :--- | :---: | ---: | | Content | Content | Content | Content | | Content | Content | Content | Content |
默认对齐 | 左对齐 | 中对齐 | 右对齐 |
---|---|---|---|
Content | Content | Content | Content |
Content | Content | Content | Content |
定义列表 (Definition Lists) ✅
Apple : Pomaceous fruit of plants of the genus Malus in the family Rosaceae. Orange : The fruit of an evergreen tree of the genus Citrus.
- Apple
-
Pomaceous fruit of plants of the genus Malus in the family Rosaceae.
- Orange
-
The fruit of an evergreen tree of the genus Citrus.
脚注/引用 ✅
[^数字|字母中线下划线组合]
字符后面可以用数字标号,或字母与下划线、中线的组合,渲染时系统自动重新编号。
That's some text with a footnote.[^1] [^1]: And that's the footnote. That's the second paragraph.
That's some text with a footnote.4
And that's the footnote. That's the second paragraph.
强调
删除线 ✅
~~删除线~~
删除线
下划线 ✅
{ul}#下划线#
下划线
上标 ✅
E=MC^2^
E=MC^2^
下标 ✅
H~2~O
H~2~O
任务列表 ✅
- [x] Write the press release
- [ ] Update the website
- [ ] Contact the media
- Write the press release
- Update the website
- Contact the media
高亮 ✅
I need to highlight these ==very important words==.
I need to highlight these very important words.
HTML结果
I need to highlight these <mark>very important words</mark>.
特殊字符替换 ✅
| => |
> => >
< => <
(C) © 版权
(TM) ™ 商标
(R) ® 注册商标
-- —— 破折号
... …省略号
-> → 右箭头
<- ← 左箭头
=> ⇒ 右双箭头
<= ⇐ 左双箭头
常用符号 ✅
👉查找emoji表情 😄 💪 。
参考
通过对文本转换,从而生成有效链接地址。英文字母数字保持原样,空格替换为-
,中文每个字符转换拼音后,使用-
连接。注❗:字母+中文的连接处没有连字符-
,如果需要请在中间添加英文空格。