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


当前回答

例如,你有一个像这样的回购:

project/
    text.md
    subpro/
       subtext.md
       subsubpro/
           subsubtext.md
       subsubpro2/
           subsubtext2.md

潜台词的相对链接。文本中的Md。Md可能是这样的:

[this subtext](subpro/subtext.md)

与潜台词的相对链接。文本中的Md。Md可能是这样的:

[this subsubtext](subpro/subsubpro/subsubtext.md)

潜台词的相对链接。潜台词里的Md。Md可能是这样的:

[this subtext](../subtext.md)

subsubtext2的相对链接。潜台词里的Md。Md可能是这样的:

[this subsubtext2](../subsubpro2/subsubtext2.md)

到文本的相对链接。潜台词里的Md。Md可能是这样的:

[this text](../../text.md)

其他回答

如果你想要一个相对链接到你的GitHub上的维基页面,使用这个:

Read here: [Some other wiki page](path/to/some-other-wiki-page)

如果你想要一个链接到存储库中的一个文件,比如说,引用一些头文件,而wiki页面位于wiki的根,使用这个:

Read here: [myheader.h](../tree/master/path/to/myheader.h)

最后一种方法的基本原理是用“..”跳过“/wiki”路径。,然后转到存储库树中的主分支,而不指定存储库名称(将来可能会更改)。

GitHub可以用最少的工作让它变得更好。这里有一个变通办法。

我觉得你想要的是

[Your Title](your-project-name/tree/master/your-subfolder)

或者指向README本身

[README](your-project-name/blob/master/your-subfolder/README.md)

你也可以在底部插入你的链接(相对的或绝对的),以减少文本的混乱。 对于重复链接,它也是一个很好的选择。

This is [my linked text].

  [my linked text]: relative/path/in/repo/to/file.txt "Optional title for mouse hover"

这是我的链接文本。

在标记文件中的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上的目录链接的奇怪行为。

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

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

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

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