在GitHub Flavored Markdown中的Markdown代码块中显示突出显示的代码块

时间:2015-11-05 08:38:28

标签: github markdown github-flavored-markdown

我希望使用```md设置一个降价区块,并且在Markdown块内部我希望使用```js创建一个JavaScript块。

我试过:

```md
```js
function myFunction () {
   return 42;
}
```
```

这就是渲染方式:

  

基本上,它几乎与预期一致,但缺少最后一个```(而是创建了一个新的代码块)。

我希望看到这样:

  

     

我在浏览器开发者工具中对其进行了编辑。

那么,基本上,如何在GitHub Flavored Markdown中的Markdown代码块中显示JavaScript(或任何其他语言)代码块?

我确实尝试使用```\`\`\`转义\```代码段,但它们也会被渲染。我还试图为Markdown代码块使用更多的反引号,但这不起作用:

  

目前我这样做了:

<pre>
```js
function myFunction () {
   return 42;
}
```
</pre>

但显然没有突出显示代码。

1 个答案:

答案 0 :(得分:4)

你要求的是不可能的。 Markdown只是将代码块标识为一个,然后忽略该内容。换句话说,如果您在第一个代码块中嵌套第二个代码块,Markdown只会将其视为第一个代码块的一部分,并且不会将其解析为代码块本身。事实上,它不可能因为它在代码块中。作者如何演示如何嵌套代码块?

关于突出显示,嵌套在Markdown代码块中的JavaScript块不应突出显示为JavaScript。在目前的形式中,它在Markdown文档中是一个代码块。因此,任何突出显示都表示它是Markdown文档中的代码块。天气,其中包含的代码是JavaScript,Python,Haskell,C,Perl或其他任何东西都无关紧要。

最后,要将一个代码块嵌套在另一个代码块中(使用防护代码块),您需要为每个嵌套级别使用不同数量的反引号。像这样:

````md
```js
function myFunction () {
   return 42;
}
```
````

将正确呈现为:

```js
function myFunction () {
   return 42;
}
```

请注意,这就是Markdown文档中的代码块。所以,是的,这是正确的渲染。如果您只想要一个JavaScript codebloc,那么跳过嵌套:

```js
function myFunction () {
   return 42;
}
```

哪个会给你:

function myFunction () {
   return 42;
}