是否有一种方法来创建一个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上打开了一个问题。


当前回答

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

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

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

其他回答

只需遵循下面的格式。

[TEXT TO SHOW](actual URL to navigate)

这个问题很老了,但它似乎仍然很重要,因为从自述中输入相对引用并不容易。md到Github上的wiki页面。

我尝试了一下,这种相对联系似乎很有效:

[你的wiki页面](../../wiki/ Your -wiki-page)

两个…/将删除/blob/master/,并使用你的基础作为起点。除了Github之外,我还没有在其他存储库上尝试过这一点(可能存在兼容性问题)。

在.md文件中,当您想要创建与同一项目文件夹或基于URL的链接相关的任何相关文件的链接时:

现有文件链接:

在.md文件中,在[]框中添加显示名称,然后在此框中打开(),在此框中添加/之后,它将自动获取所有现有文件夹的名称形式,您选择的文件夹,然后添加'/',它将显示内部文件或'文件夹'。这意味着它将自动获取路径,在结束时,创建您的URL。

例子:

[Enter Showing Name](/users/4000266/heysushil)

这一行是这样显示的: 输入显示名称

在.md文件中添加url

遵循相同的过程,只更改()框的URL路径,如下所示:

 [HeySushil - YouTube](https://youtube.com/heysushil)

这看起来像HeySushil - YouTube

注意:记住在添加/ on()框后不需要手动添加force,它将自动获取所有现有的文件夹和文件。

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

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

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

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

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

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

[link text](README.md)

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

在标记文件中的Github目录链接的行为可能会造成一些头痛。

所有有url的文件都以blob开头,

blob/<branch>/<path>/<fileName>

目录的url以树开头:

tree/<branch>/<path>

因此,到目录的相对链接不应该起作用。它指向一个以blob开头的url。神奇的是,Github自动将一些相对路径更改为树路径。不幸的是,url中不包含“..”

我花了一些时间研究Github https://github.com/fluentcodes/GitSamples-GIT/tree/github-readme-links上的目录链接的奇怪行为。