The documentation is a work in progress, and English edition is just an empty shell for now. I will translate it when Chinese edition has done.
因为链接语法是 Markdown 引用文件的关键,它是 v-no 主要进行扩展的目标。
一个标准 Markdown 链接语法由三个部分组成:
!:标记它是一个文字链接还是图像链接。[text]:- 对于文字链接,它被渲染成元素的
innerHTML。 - 对于图像链接,它是元素的
alt属性。
- 对于文字链接,它被渲染成元素的
(path "title"):path:- 对于文字链接,它是元素的
href属性。 - 对于图像链接,它是元素的
src属性。
- 对于文字链接,它是元素的
title:元素的title属性。
你可以发现,只有 title 的含义不会随链接的类型发生变化,而且似乎写 Markdown 时很少会用到它,这真是一个值得动刀子的好地方。
v-no 会截取 title 中最后出现的 # 符号和它后面的部分作为识别标记,而在它之前的部分会成为新的 title(如果它为空,链接不会有 title 属性)。对于不同类型的链接,标记也有不同的工作方式:
- 文字链接:如果
path以/开头,并且指向.md文件(可以省略index.md),则将它转换为以#开头的 Hash 地址。- 如果
#之后还有更多内容,以?作为分隔,在它之前的部分会组成锚点,之后的部分则是查询字符串。 - 如果
text为空,用path指向文件的标题填充它。如果它还单独位于一个<li>中,则将这个<li>转换为一个展示文件部分元数据的特殊列表项。
- 如果
- 图像链接:
#之后的部分用于控制它的样式。- 如果它是数字,则作为图像的宽度。
- 如果它以
.开头,将它加到class属性,你可以用.分隔多个值。有几个特殊的class值:hidden:隐藏图像。left、right:将图像浮动在左右两侧。- 如果它是以
w开头的一组数字,则将数字部分作为图像的宽度。
- 其它情况都会直接把它填进
style属性。
title 写多了还是有点麻烦。v-no 还有几个会替换 / 移除原链接的标记,它们选择对 text 进行扩展,并且都需要单独占据一行使用。
- 嵌入链接:用于引入嵌入文件。
text需要以+开头,它可以跟一个#,在它之后的部分会被解析成参数对象。各个参数项之间要用|分隔,它们会依序得到一个从 0 开始的序号。你也可以用赋值语句(a=1)标记一个命名参数,让它除了序号还拥有一个字符串别名。 - 自定义脚本链接:
path要以.js结尾,text只能包含$,不过不限个数。使用多于一个$会将它标记为一个驻留脚本。 - 自定义样式链接:除了要以
.css结尾、使用*作为标记,其它地方和自定义脚本类似。

- This page is open source, improve it