问:asciidoc 中有紧凑的链接语法吗?像[[page name]]
,其中链接目标派生自链接文本?
---+ 详情
大多数wiki都有一个非常简单,紧凑的语法,用于链接到同一wiki中的不同页面。
例如,原始的WikiWikiWeb使用CamelCase
- CamelCase的单词会自动链接。
例如,许多wiki采用了像双方括号这样的语法来标识[[link to a page]]
。 通常,实际的目标页面名称是通过转换从链接文本派生的,例如将空格更改为 _underscore 或 -dash 或 + 加号,或完整的 URI 编码。
与Github项目存储库相关的wiki支持双方括号语法 - 具有沿着文件后缀序列搜索的额外功能,.md/markdown,.asciidoc/:-(等,允许同一wiki包含以不同标记编写的页面。 对于支持的所有标记变量,除了 asciidoc - 它已经对链接目标或锚点使用双方括号。
不幸的是,像 https://github.github.com/gfm/#links 这样的半正式GitHub Flavored Markdown文档AFAICT没有描述这种紧凑的双括号语法。 也许因此,GFM到ASCIIDOC的转换工具Kramdoc也没有。
问:ASCIIDOC 中是否有紧凑的链接语法?
AFAIK,AsciiDoc链接必须同时指定链接文本和目标,最紧凑的形式是相对链接link:Page-Name.html[Page-Name]
。 如果链接文本和页面基名称相同,则这是多余的。
(除了,asciidoc 使链接文本和目标相同,如果它看起来像一个链接:https://asciidoctor.org。
就此而言,Markdown 中是否有官方的压缩链接语法,kramdown/kramdoc 可以理解? 还是缺少GitHub wiki支持双方括号[[page name]]
的原因?
---+ 教皇
恕我直言,维基最重要的功能是
-
可快速轻松地在线编辑
-
快速简便的紧凑链接表示,因此 wiki 标记几乎与链接不存在一样可读
-
允许并区分指向尚不存在的页面的链接,鼓励您单击它们并开始访问它们
即易于编写、易于发现和易于创建的链接。
如果官方的Markdown和AsciiDoc不支持这种紧凑的链接,我会非常失望。 特别是因为我被迫在工作中使用AsciiDoc。
AFAICT AsciiDoc 支持紧凑的<<intra-document>>
链接或交叉引用,通常使用从节标题文本隐式创建的目标锚点。但是不同维基页面或文档之间的AFAICT链接被迫更加冗长。
就此而言,我还抱怨说,在GitHub wiki的.asciidoc wiki页面中,指向尚不存在的页面的链接与已经存在的页面没有区别。
是的。我在这次关于 vviki 项目的讨论中了解到这一点。看到这个摘要,这里是摘录:
xref:foo[Foo] - a link to a location in the same document with ID "foo"
xref:bar#[Bar] - a link to a document named "bar"
xref:bar.adoc[Bar] - same
xref:bar.adoc#[Bar] - same
xref:bar#foo[Foobar] - a link to location ID "foo" in document "bar"
xref:bar.adoc#foo[Foobar] - same