我经常通过URI中的#L
param链接到GitHub源代码。
e.g。 :https://github.com/github/learn.github.com/blob/gh-pages/episodes.yaml#L1
但是有没有办法链接到Markdown文件中的行?
e.g。 https://github.com/github/learn.github.com/blob/gh-pages/README.md#L1 (不起作用!)
我知道我可以链接到'部分',但线条要好得多!
e.g。 https://github.com/github/learn.github.com/blob/gh-pages/README.md#learngithubcom
答案 0 :(得分:18)
由于目前无法实现,我采用下一个最佳选择:使用责备,然后突出显示这些行,例如https://github.com/rails/rails/blame/master/guides/source/configuring.md#L166
答案 1 :(得分:4)
?plain=1
于 2021 年 6 月 30 日宣布,现在有一个 parameter to disable markdown rendering:
<块引用>将 ?plain=1
附加到任何 Markdown 文件的 url 现在将显示该文件而不进行渲染。与其他代码文件一样,它还将显示行号,并可用于将其他用户链接到特定的一行或多行。例如,附加 ?plain=1#L52
将突出显示纯文本 Markdown 文件的第 52 行。
听起来您可能想要使用行号链接到渲染文档中的某个点。这仍然是可能的,添加这样的行号锚点也不是 Markdown 渲染的标准功能。
答案 2 :(得分:1)
简短回答:不。 Markdown由GitHub呈现为HTML文档,因此目前无法以原始形式查看它,也可以链接到各行。也许GitHub将来会在某个时候实现这种功能,但就目前来说,这是不可能的。
答案 3 :(得分:1)
为了读者的利益:长的答案是是,这很困难,但可能。
但是,目前似乎无法直接创建此类永久链接,您必须手动创建它们。如下:
...
,然后选择“查看文件” /blame/
替换为/blob/
在问题的预览中,您将看到Markdown文本部分的预期直接引用。
/blob/
变量的缺点如果单击URL,则会在浏览器中看到完整的Markdown,文本部分未标记为预期的
。这是GitHub处理这些URL的方式的限制。
/blame/
变量的缺点由于所有这些注释以及Markdown的未呈现,因此这显然是不可读的。
请注意,我必须克隆此示例才能创建问题:
https://github.com/hilbix/learn.github.com/blob/gh-pages/README.md
https://github.com/hilbix/learn.github.com/commit/38034b3aee7f4fb7f46e94b3f9c2b3d3554291ba
https://github.com/hilbix/learn.github.com/blob/38034b3aee7f4fb7f46e94b3f9c2b3d3554291ba/README.md
https://github.com/hilbix/learn.github.com/blame/38034b3aee7f4fb7f46e94b3f9c2b3d3554291ba/README.md
结果:https://github.com/hilbix/learn.github.com/issues/1
这已成为问题:
https://github.com/hilbix/learn.github.com/blob/38034b3aee7f4fb7f46e94b3f9c2b3d3554291ba/README.md#L20-L23
see https://stackoverflow.com/a/57202063/490291
这呈现为类似
learn.github.com/README.md
Lines 20 to 23 in 38034b3
$ git clone https://github.com/github/learn.github.com
$ cd learn.github.com
$ script/bootstrap
$ jekyll --server
see https://stackoverflow.com/a/57202063/490291
以下是所创建问题的完整HTML(很抱歉,我也无法复制CSS):
<td class="d-block comment-body markdown-body js-comment-body">
<p></p><div class="border rounded-1 my-2">
<div class="f6 px-3 py-2 lh-condensed border-bottom bg-gray-light">
<p class="mb-0 text-bold">
<a href="https://github.com/hilbix/learn.github.com/blob/38034b3aee7f4fb7f46e94b3f9c2b3d3554291ba/README.md#L20-L23">learn.github.com/README.md</a>
</p>
<p class="mb-0 text-gray-light">
Lines 20 to 23
in
<a data-pjax="true" class="commit-tease-sha" href="/hilbix/learn.github.com/commit/38034b3aee7f4fb7f46e94b3f9c2b3d3554291ba">38034b3</a>
</p>
</div>
<div itemprop="text" class="blob-wrapper blob-wrapper-embedded data">
<table class="highlight tab-size mb-0 js-file-line-container" data-tab-size="8">
<tbody><tr class="border-0">
<td id="L20" class="blob-num border-0 px-3 py-0 bg-white js-line-number" data-line-number="20"></td>
<td id="LC20" class="blob-code border-0 px-3 py-0 bg-white blob-code-inner js-file-line"> <span class="pl-s1">$ git clone https://github.com/github/learn.github.com</span> </td>
</tr>
<tr class="border-0">
<td id="L21" class="blob-num border-0 px-3 py-0 bg-white js-line-number" data-line-number="21"></td>
<td id="LC21" class="blob-code border-0 px-3 py-0 bg-white blob-code-inner js-file-line"> <span class="pl-s1">$ <span class="pl-c1">cd</span> learn.github.com</span> </td>
</tr>
<tr class="border-0">
<td id="L22" class="blob-num border-0 px-3 py-0 bg-white js-line-number" data-line-number="22"></td>
<td id="LC22" class="blob-code border-0 px-3 py-0 bg-white blob-code-inner js-file-line"> <span class="pl-s1">$ script/bootstrap</span> </td>
</tr>
<tr class="border-0">
<td id="L23" class="blob-num border-0 px-3 py-0 bg-white js-line-number" data-line-number="23"></td>
<td id="LC23" class="blob-code border-0 px-3 py-0 bg-white blob-code-inner js-file-line"> <span class="pl-s1">$ jekyll --server</span> </td>
</tr>
</tbody></table>
</div>
</div>
<p></p>
<p>see <a rel="nofollow" href="https://stackoverflow.com/a/57202063/490291">https://stackoverflow.com/a/57202063/490291</a></p>
</td>
答案 4 :(得分:1)
我最近也在寻找同样的东西。答案是否定的,如其他答案中所述。 但是我找到了一个很好的替代方法,它几乎提供了我们想要的结果。
在网址中添加文本片段。
例如:https://github.com/github/balanced-employee-ip-agreement#:~:text=FAQ
您只需要在网址末尾附加#:〜:text = {您想要重点关注的文本}
在此处详细了解文本片段。 https://wicg.github.io/scroll-to-text-fragment/