GitHub relative link in Markdown file
有没有办法创建一个URL锚点,
例如,在master分支中我有一个README.md文件,我想做的事情如下:
1 2 3 4 5 | # 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)。
这是我的意思的一个工作示例:
这是预期的,因为此时起始URL位于分支中。现在我如何让它在存储库根目录下的README.md中获取当前分支?
更新:我针对此功能请求针对GitHub打开了一个问题。
2013年1月30日更新,16个月后:
GitHub Blog Post标记文件中的相对链接:
Starting today, GitHub supports relative links in markup files.
Now you can link directly between different documentation files, whether you view the documentation on GitHub itself, or locally, using a different markup renderer.You want examples of link definitions and how they work? Here's some Markdown for you.
Instead of an absolute link:
1 [a link](https://github.com/user/repo/blob/branch/other_file.md)…you can use a relative link:
1 [a relative link](other_file.md)and we'll make sure it gets linked to
user/repo/blob/branch/other_file.md .If you were using a workaround like
[a workaround link](repo/blob/master/other_file.md) , you'll have to update your documentation to use the new syntax.This also means your documentation can now easily stand on its own, without always pointing to GitHub.
2011年12月20日更新:
GowHub标记问题84目前由technoweenie关闭,评论如下:
We tried adding a
tag for this, but it causes problems with other relative links on the site.
2011年10月12日:
如果你查看Markdown本身的
您会找到如下参考:
1 2 | [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 |
例如,您有一个如下所示的回购:
1 2 3 4 5 6 7 8 | project/ text.md subpro/ subtext.md subsubpro/ subsubtext.md subsubpro2/ subsubtext2.md |
1 | [this subtext](subpro/subtext.md) |
1 | [this subsubtext](subpro/subsubpro/subsubtext.md) |
1 | [this subtext](../subtext.md) |
1 | [this subsubtext2](../subsubpro2/subsubtext2.md) |
1 | [this text](../../text.md) |
截至2013年1月31日,Github markdown支持文件的相对链接。
1 | [a relative link](markdown_file.md) |
但是,此评论主题中讨论了一些缺陷。
作为替代方案,您可以使用Gitdown构建存储库的完整URL,甚至可以使它们分支识别,例如
1 2 | {"gitdown":"gitinfo","name":"url"} // https://github.com/gajus/gitdown {"gitdown":"gitinfo","name":"branch"} // master |
Gitdown是一个GitHub降价预处理器。它简化了与维护GitHub存储库的文档页面相关的常见任务,例如:生成目录,包括变量,生成URL以及在处理输入时获取有关存储库本身的信息。 Gitdown与您的构建脚本无缝集成。
我是Gitdown图书馆的作者。
GitHub可以通过最少的工作使这更好。这是一个解决方法。
我想你想要更像的东西
1 | [Your Title](your-project-name/tree/master/your-subfolder) |
或者指向README本身
1 | [README](your-project-name/blob/master/your-subfolder/README.md) |
祝好运
您可以链接到文件,但不能链接到文件夹,请记住,Github将在您的相对链接之前添加
所以,如果我们在
1 | https://github.com/WesternGun/myrepo/blob/master/src/Test.java |
要在自述文件中链接它,我们可以使用:
1 | [This is a link](src/Test.java) |
或:
(我猜,
只是想添加这个,因为如果目标链接是名称中包含空格的目录,则上述解决方案都不起作用。如果目标链接是一个目录并且它有空间,那么即使用来转义空间也不会在Github上呈现链接。只有解决方案适用于每个空间使用
例如:如果目录结构是这样的话
1 2 3 4 5 6 7 | Top_dir |-----README.md |-----Cur_dir1 |----Dir A |----README.md |----Dir B |----README.md |
要在
1 | [Dir 1](Cur_dir1/Dir%20A) |
您可以使用
1 2 3 4 5 6 7 | # My Project is really really cool. My Project has a subdir named myLib, see below. ## myLib docs see documentation: * myLib/ * myLib/README.md |
这个问题很老了,但它似乎仍然很重要,因为将readme.md的相对引用放到Github上的wiki页面并不容易。
我玩了一下,这个相对链接似乎工作得很好:
两个
我不确定我是否在这里看到这个选项。您只需在存储库中创建
1 | [a relative link](/folder/myrelativefile.md) |
不需要blob或树或存储库名称,它就像一个魅力。
如果你想在GitHub上找到你的wiki页面的相对链接,请使用:
1 | Read here: [Some other wiki page](path/to/some-other-wiki-page) |
如果你想要链接到存储库中的文件,让我们说,引用一些头文件,并且维基页面位于维基的根目录,请使用:
1 | Read here: [myheader.h](../tree/master/path/to/myheader.h) |
最后一个的基本原理是跳过带有"../"的"/ wiki"路径,并转到存储库树中的主分支,而不指定存储库名称,将来可能会更改。