有没有一种方法可以创建 Markdown 文件中的 URL 锚点<a>
链接到同一存储库和分支中的另一个文件(又是相对于当前分支的链接)?
例如,在 master 分支中,我有一个 README.md 文件,我想这样做:
# My Project
is really really cool. My Project has a subdir named myLib, see below.
## myLib documentation
see documentation [here](myLib/README.md)
这将允许我在同一个分支中从一个. md 链接到另一个. md,而不必担心我所在的分支(避免使用包含 github.com 分支名称的绝对 URL)。
这是我的意思的工作示例:
这是预期的,因为此时起始 URL 在分支中。现在,如何获取它以在存储库根目录下的 README.md 中拾取当前分支?
更新 :我针对此功能请求针对 GitHub 开了一个问题 。
2013 年 1 月 30 日更新,即 16 个月后:
从今天开始, GitHub 支持标记文件中的相对链接 。
现在,您可以直接在不同的文档文件之间链接,无论您是在 GitHub 本身上还是在本地使用不同的标记渲染器查看文档。您需要链接定义的示例以及它们如何工作?这是给您的 Markdown。
而不是绝对链接:[a link](https://github.com/user/repo/blob/branch/other_file.md)
… 您可以使用相对链接:
[a relative link](other_file.md)
并且确保将其链接到
user/repo/blob/branch/other_file.md
。如果您使用的是
[a workaround link](repo/blob/master/other_file.md)
类[a workaround link](repo/blob/master/other_file.md)
,则必须更新文档以使用新语法。这也意味着您的文档现在可以轻松地独立存在,而不必总是指向 GitHub 。
2011 年 12 月 20 日更新:
GitHub 标记问题 84目前已由technoweenie关闭,并具有以下注释:
我们尝试为此添加一个
<base>
标记,但是它导致站点上其他相对链接出现问题。
2011 年 10 月 12 日:
如果您查看 Markdown 本身(!) 的README.md
的原始源,似乎不支持相对路径。
您会找到类似的参考:
[r2h]: http://github.com/github/markup/tree/master/lib/github/commands/rest2html
[r2hc]: http://github.com/github/markup/tree/master/lib/github/markups.rb#L13
例如,您有一个类似以下的仓库:
project/
text.md
subpro/
subtext.md
subsubpro/
subsubtext.md
subsubpro2/
subsubtext2.md
相对链接subtext.md
在text.md
可能是这样的:
[this subtext](subpro/subtext.md)
相对链接subsubtext.md
在text.md
可能是这样的:
[this subsubtext](subpro/subsubpro/subsubtext.md)
相对链接subtext.md
在subsubtext.md
可能是这样的:
[this subtext](../subtext.md)
相对链接subsubtext2.md
在subsubtext.md
可能是这样的:
[this subsubtext2](../subsubpro2/subsubtext2.md)
以相对链接text.md
在subsubtext.md
可能是这样的:
[this text](../../text.md)
自 2013 年 1 月 31 日起,Github markdown 支持文件的相对链接 。
[a relative link](markdown_file.md)
作为替代方案,您可以使用Gitdown构造存储库的完整 URL ,甚至使它们知道分支,例如
{"gitdown": "gitinfo", "name": "url"} // https://github.com/gajus/gitdown
{"gitdown": "gitinfo", "name": "branch"} // master
Gitdown 是 GitHub markdown 预处理器。它简化了与维护 GitHub 存储库的文档页面相关的常见任务,例如,生成包含变量的目录,生成 URL 以及在处理输入时获取有关存储库本身的信息。 Gitdown 与您的构建脚本无缝集成。
我是 Gitdown 库的作者。