如何在Markdown(.md)或R Markdown(.Rmd)文件中创建GitHub永久链接指向一行代码?

21

如何创建一个永久链接到 .md 或 .Rmd 文件中特定行的位置,例如 README.md?

这些文件在 GitHub 上渲染方式不同,因此当我点击它们时,没有看到通常的行号编辑器,我不能像这里描述的那样在单击一行时获取所选行的永久链接。

5个回答

15

通过进入文件的Blame视图,你可以链接到Markdown文件中的特定行。

点击Blame按钮

然后,按y键获取一个永久链接到你现在看到的文件版本。这将确保链接在文件更改、移动、重命名或删除时仍然存在。

此时,您可以单击链接或Shift + 单击一系列行,URL 将自动更新。

以下是一个示例链接


3
如果由于某种原因你不喜欢 "blame" 链接(例如,想在 GitHub 的评论中引用永久链接,以便可以在内联中呈现漂亮的预览),请将 URL 中的单词 "/blame/" 替换为 "/blob/"。这种方法的缺点是,导航到链接只会打开 markdown 文档(而不会自动滚动到锚点)。 - vulcan raven

2
你无法链接到行号,因为行号锚点是由 GitHub 代码预览界面提供的。正如你所提到的,markdown 文件呈现方式不同,它们没有你要寻找的行号锚点。
但是,你可以链接到一个标题(任何以一个或多个 # 开头的内容)。将鼠标悬停在标题上,链接图标就会出现:

GitHub header link

然后右键单击链接图标并选择“复制链接地址”。
如果您正在与目标链接相同的 markdown 文件中工作,则可以使用 markdown 锚点语法[链接名称](#带连字符的锚点名称)

这仅适用于想要链接到标头的情况。如果想要链接到任意行,请参见我的回答 - Dan Dascalescu

0

更新:

截至2018年10月1日,由于GitHub 不再将RMarkdown文件呈现为html。您可以像处理典型文本文件一样为RMarkdown文件创建永久链接。只需在GitHub中查看文件,选择要创建永久链接的行,然后单击"..."->"复制永久链接"如下所示:

enter image description here


0
如果您想要永久链接到一个标题,您可以在格式化的Markdown文档上按下y键,以获取URL中的提交哈希。然后,您复制的任何标题链接都将具有永久链接。

-1
使用命名目标锚点。它们可以用作同一HTML文档内或其他文档中的链接目标。
放置该行
<a name="my-anchor"></a>

在你想要将其作为链接目标的那一行之上。

由于为空,因此<a>元素不会被显示,但仍存在于生成的HTML中。

您的永久链接是文档(在Github上)的URL,后跟#my-anchor

 <a href="http://github.com/user/project/blob/master/Readme.md#my-anchor">Go to line 42</a>

如果您想将链接指向的位置是 Readme.md 文件中的标题,那么 Markdown 引擎已经为其创建了一个命名锚点。您所需要做的就是在 GitHub 上呈现的页面上悬停在标题上,然后单击出现在左侧的链接链。接着,您就可以从浏览器地址栏中获取 URL。
请注意,这个自动生成的目标锚点是使用标题内容生成的。当标题内容发生变化时,它将会改变并且您将会得到一个损坏的链接。

听起来你不能像链接到特定提交中的某一行一样创建永久链接;而是一个相对参考,如果文件更改可能会失效。 - rmg
在你的 Readme.md 中放入 <a name="#something"></a>,它不会改变,除非你改变它。如果它托管在 Github 上,你可以获得到任何文件的特定行的链接,就像它在特定提交时一样,并且它不会改变(除非提交本身被销毁,但这是另一个故事,如果你不这样做,它就不会发生)。 - axiac
只有在您可以更改.md文件的情况下,此方法才有效。如果您想链接到任意不能修改的.md文件,请参见我的回答 - Dan Dascalescu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接