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

Display highlighted code blocks in Markdown code block in GitHub Flavored Markdown

我想要一个使用 ```md 的 markdown 块,在那个 Markdown 块的内部我想要一个使用 ```js.

的 JavaScript 块

我试过:

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

渲染方式如下:

基本上和预期的差不多,但是最后的```不见了(而是创建了一个新的代码块)。

我希望看到这样的:

I edited it in the browser developer tools.

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


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

目前我是这样做的:

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

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

您所要求的是不可能的。 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;
}