如何在GitHub Flavored Markdown中使用“code”显示行号?

84

我知道在GitHub Flavored Markdown中可以使用 "code" 来突出显示代码片段。但是我无法显示代码片段的行号。有办法可以做到吗?

```javascript
var s = "JavaScript syntax highlighting";
alert(s);
```

我希望每一行开头都能有一个行号,就像这样:

1    var s = "JavaScript syntax highlighting";
2    alert(s);

1
我知道这不是对你问题的回答,但你可以尝试在你的Readme/wiki页面中使用嵌入的Gist。https://dev59.com/dGgu5IYBdhLWcg3wDS0G - GabrielOshiro
与程序设计相关的问题,请参考Meta.SE链接:https://meta.stackexchange.com/questions/7119/why-are-there-no-line-numbers-in-the-code-listings - John Y
这可能很有用 https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-a-permanent-link-to-a-code-snippet - mihkov
行号不符合标准的 Markdown 标准,但是一些库可能会实现扩展功能,比如你想要的。只需寻找提供此功能的库即可。 - 99problems
关于@GabrielOshiro的评论 - 创建代码片段的永久链接 - undefined
8个回答

44

2
很遗憾,但感谢您节省了我的时间。 - Jacob Valdez

6
作为一种折中方法,您可以在 https://carbon.now.sh 上保存代码截图并发布;他们支持将行号作为选项显示。

54
每当我无法从代码块中复制和粘贴代码时,我就会哭泣 :( - Raphael
1
作为一种hack,您可以以另一种方式将源代码包含在您的markdown中。当然...但这是否回答了问题?问题是如何使用纯“GitHub Flavored Markdown code”而不使用其他任何东西来实现这一点。 - anion

6

您可以使用 awk '{printf("% 4d %s\n", NR, $0)}' StartDsl.scala 来获取您所需的类似内容,其中 StartDsl.scala 是您的源代码文件。将结果粘贴在以下位置之间:

```scala
<your code here>
```

6
尽管这并不是问题所询问的在GitHub上可用的选项,但我今天发现如果在一些Markdown编辑器中添加一个开头行后面跟着一个=符号,那么它会给出所需的结果。
例如:
```javascript=
var s = "JavaScript syntax highlighting";
alert(s);
```

这适用于 Markdown 编辑器,例如HackMD

请参见您在 HackMD 上的示例


5

因此,您需要通过为html页面添加css来帮助自己。在markdown中,代码将进入<pre> </pre>块。

您可以对此块应用逻辑以在每行旁边放置行号。

请参考https://codepen.io/heiswayi/pen/jyKYyg


4

我使用 RStudio 和 RMarkdown 来渲染我的 Markdown(.md)文件。这样做很好用。使用 RMarkdown 进行规范说明,如下所示:

```{.javascript .numberLines .lineAnchors}
var s = "JavaScript syntax highlighting";
alert(s);
```

是的,有很多可用的 Markdown 编辑器,但我不确定这个方法适用于所有编辑器。但 RStudio/RMarkdown 是一款非常棒的工具,我已经使用它很长时间了(在我看来)。


-3
只需在您选择的语言后面添加一个 =!
```java=
java code exemple:
int i = 5
```java=

1
这可能适用于其他的Markdown渲染器,但不适用于Github。 - André Onuki

-7

它在我的文本编辑器中与Markdown插件一起工作,但是我无法在GitHub代码块中看到任何行号(至少在我的代码注释中)。 - max.underthesun
4
兄弟,这是 MPE 而不是 GitHub 的一部分... "Markdown Preview Enhanced 是 Atom 和 Visual Studio Code 的一个超级强大的 Markdown 扩展。该项目的目标是为您带来绝妙的 Markdown 写作体验。" - Shanerk

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