是否有一种方法来创建一个URL锚,< >,链接从Markdown文件,到同一存储库和分支中的另一个文件(又名相对于当前分支的链接)?

例如,在主分支中,我有一个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链接到另一个,而不必担心我在哪个分支(避免必须做一个包含github.com分支名称的绝对URL)。

这里有一个例子来说明我的意思:

GOTO http://github.com/rynop/testRel,链接不工作。 GOTO http://github.com/rynop/testRel/blob/master/README.md,链接有效。

这是意料之中的,因为此时起始URL在分支中。现在我如何让它在README中拾取当前的分支。Md在存储库的根?

更新:我针对这个功能请求在GitHub上打开了一个问题。


当前回答

我发现适用于相对文件夹的方法:

[link text](subfolder/subsubfolder/relevantfolder/)

相关的文件夹是你试图链接到的文件夹。文件夹名称后面需要反斜杠。我尝试在路径中包含项目名称和tree/main,以及前面的答案中建议的其他内容,这导致了不存在的页面错误。子文件夹是整个回收项目文件夹中的一个文件夹。

因此,文件链接的形式是:

[link text](subfolder/subsubfolder/relevantfolder/index.html)

如果需要的文件不在任何文件夹或子文件夹中,链接很简单:

[link text](README.md)

例如,README文件不在任何子文件夹中,因此这可能是您用于README文件的确切相对链接。

其他回答

截至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图书馆的作者。

我发现适用于相对文件夹的方法:

[link text](subfolder/subsubfolder/relevantfolder/)

相关的文件夹是你试图链接到的文件夹。文件夹名称后面需要反斜杠。我尝试在路径中包含项目名称和tree/main,以及前面的答案中建议的其他内容,这导致了不存在的页面错误。子文件夹是整个回收项目文件夹中的一个文件夹。

因此,文件链接的形式是:

[link text](subfolder/subsubfolder/relevantfolder/index.html)

如果需要的文件不在任何文件夹或子文件夹中,链接很简单:

[link text](README.md)

例如,README文件不在任何子文件夹中,因此这可能是您用于README文件的确切相对链接。

我不确定我是否看到了这个选项。你可以在你的存储库中创建一个/文件夹,并直接使用它:

[a relative link](/folder/myrelativefile.md)

不需要blob或树或存储库名称,它的工作就像一个魅力。

以下是我在github的.md文件中找到的相对链接:

相对链接没有../(又名。链接到同一级别的文件,或在子目录),似乎总是工作。 包含..的相对链接只有当你已经在一个url包含子字符串/blob/的页面时,/才会起作用。 否则需要使用包含/blob/的完整url来链接。 实际上除了顶级/README。Md,当查看任何其他文件时,它们的url已经包含/blob/。 因此你可能总是可以使用包含..的相对链接。除了/README.md。 但/ README。Md是顶级的,因此它不需要包含../的相对链接。 因此,你不应该需要一个完整的路径链接(包含github域)链接到同一github repo文件。


示例(多种语言文档之间的链接)

在/ README。Md,可以使用相对链接没有../。 [中文](doc/cn/README.md) | [日本語](doc/jp/README.md) 在/ doc / cn/README。Md,因为当我们查看它时,url已经包含/blob/,因此可以使用相对链接与../。 (英语)(. . / . . / README.md) | [日本語](../jp/README.md)

(顺便说一下,这个例子来自这个git-merge-flow回购。)

只需遵循下面的格式。

[TEXT TO SHOW](actual URL to navigate)