1

问:asciidoc 中有紧凑的链接语法吗?比如[[page name]],链接目标是从链接文本派生的?

---+ 详情

大多数 wiki 都有一个非常简单、紧凑的语法,用于指向同一 wiki 中不同页面的链接。

例如,最初使用的 WikiWikiWeb CamelCase- CamelCase 的词会自动成为链接。

例如,许多 wiki 采用类似双方括号的语法来标识[[link to a page]]. 通常,实际的目标页面名称是通过将空格更改为 _underscore 或 -dash 或 + 号,或完整的 URI 编码等转换从链接文本派生的。

与 Github 项目 repos 相关的 wiki 支持双方括号语法 - 具有沿文件后缀、.md/markdown、.asciidoc/:-) 等序列搜索的额外功能,允许同一个 wiki 包含编写的页面在不同的标记中。对于所有支持的标记变量,除了 asciidoc - 它已经使用双方括号作为链接目标或锚点。

不幸的是,AFAICT 像https://github.github.com/gfm/#links这样的半正式 GitHub Flavored Markdown 文档没有描述这种紧凑的双括号语法,因此 GFM 到 asciidoc 转换工具 kramdoc 也没有描述。

问:asciidoc 中有紧凑的链接语法吗?

AFAIK,AsciiDoc 链接必须同时指定链接文本和目标,最紧凑的形式是相对链接link:Page-Name.html[Page-Name]。如果链接文本和页面基本名称相同,这是多余的。

(除了,如果它看起来像一个链接,asciidoc 使链接文本和目标相同:https ://asciidoctor.org 。)

就此而言,Markdown 中是否有官方的紧凑链接语法,kramdown/kramdoc 可以理解?还是缺少 GitHub wiki 支持双方括号的原因[[page name]]

---+ 夸夸其谈

恕我直言,wiki 最重要的功能是

  • 快速轻松地在线编辑

  • 快速简单的紧凑链接表示,因此 wiki 标记几乎与链接不存在一样可读

  • 允许并区分指向尚不存在的页面的链接,鼓励您单击它们并开始

即易于编写、易于发现和易于创建的链接。

如果官方 Markdown 和 AsciiDoc 不支持这种紧凑的链接,我会非常失望。特别是因为我被迫在工作中使用 AsciiDoc。

AFAICT AsciiDoc 支持紧凑<<intra-document>>链接或交叉引用,通常使用从部分标题文本隐式创建的目标锚。但是不同 wiki 页面或文档之间的 AFAICT 链接被迫变得更加冗长。

就此而言,我还抱怨在 GitHub wiki 上的 .asciidoc wiki 页面中,指向尚不存在的页面的链接与已存在的页面没有区别。

4

1 回答 1

0

是的。我在这个关于 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
于 2021-03-15T07:24:46.590 回答