链接到GitHub上的一行Markdown文件

时间:2013-01-17 22:06:04

标签: github

我经常通过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

5 个答案:

答案 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)

为了读者的利益:长的答案是,这很困难,但可能。

GitHub允许内嵌到Markdown文件的文本部分的永久链接

但是,目前似乎无法直接创建此类永久链接,您必须手动创建它们。如下:

  • 显示降价文件
  • 在文档上方,右键单击文档的缩短的SHA
    (您也可以使用“历史记录”和相关的提交)
  • 显示提交的差异。
  • 在上方的提交上,右键单击三个点...,然后选择“查看文件”
  • 现在再次出现了Mardown,但这是永久变体。
  • 在文档上方,右键单击“责骂”
  • 向下滚动到包含要引用文本的Markdown表示的行
  • 选择有问题的行
  • 从浏览器的地址栏中复制URL
  • 将URL 粘贴到问题中,等等。
  • 仅在出现以下情况时才需要执行此步骤:在URL中,将/blame/替换为/blob/

在问题的预览中,您将看到Markdown文本部分的预期直接引用。

/blob/变量的缺点

如果单击URL,则会在浏览器中看到完整的Markdown,文本部分未标记为预期的

这是GitHub处理这些URL的方式的限制。

/blame/变量的缺点

由于所有这些注释以及Markdown的未呈现,因此这显然是不可读的。

示例

请注意,我必须克隆此示例才能创建问题:

https://github.com/hilbix/learn.github.com/blob/gh-pages/README.md

  • 单击SHA

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/blame/38034b3aee7f4fb7f46e94b3f9c2b3d3554291ba/README.md#L20-L23

  • 更改网址

https://github.com/github/learn.github.com/blob/38034b3aee7f4fb7f46e94b3f9c2b3d3554291ba/README.md#L20-L23

  • 将此URL粘贴到一些问题中

结果: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/