2015-11-05 113 views
1

我想要使用```md和該Markdown塊內部的降價塊,我希望使用```js有一個JavaScript塊。在GitHub中的Markdown代碼塊中顯示突出顯示的代碼塊Flavored Markdown

我想有:

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

這是如何呈現:

基本上,它幾乎是預期的,但最後```丟失(和新的代碼塊被創建)。

我希望看到這樣的:

我編輯在瀏覽器開發者工具。

那麼,基本上,如何在GitHub Flavored Markdown中的Markdown代碼塊中顯示JavaScript(或任何其他語言)代碼塊?


我曾嘗試逃跑使用\`\`\`\``````片段,但他們得到渲染爲好。我也嘗試使用更多的反引號的降價代碼塊,但沒有奏效:

目前我沒有這一點:

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

但代碼是不顯然,突出顯示。

回答

2

你所要求的是不可能的。 Markdown簡單地將代碼塊標識爲一個,然後忽略內容。換句話說,如果您在第一個代碼塊中嵌入第二個代碼塊,Markdown會將其視爲第一個代碼塊的一部分,並不會將其解析爲代碼塊本身。事實上,它不能因爲它在代碼塊中。作者如何演示如何嵌套代碼塊?

關於突出顯示,嵌套在Markdown代碼塊中的JavaScript塊不應突出顯示爲JavaScript。在目前的形式下,它是一個Markdown文檔中的代碼塊。因此,任何突出顯示都會表明它是Markdown文檔中的代碼塊。天氣其中包含的代碼是JavaScript,Python,Haskell,C,Perl或其他任何不相關的代碼。

最後,要將一個代碼塊嵌套到另一個代碼塊(使用圍柵代碼塊),您需要爲每個嵌套級別使用不同數量的反引號。就像這樣:

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

這將正確地呈現爲:

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

注意,這就是一個代碼塊看起來像一個降價文件內。所以是的,這是正確的渲染。如果你只是想要一個JavaScript codebloc,然後跳過嵌套:

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

,這將給你:

function myFunction() { 
    return 42; 
} 
+0

謝謝您的回答!從我看到的情況來看,這或多或少是官方的答案,因爲你是Markdown標準化團隊的一員(我是否正確?)。 *最後,要將一個代碼塊嵌套到另一個代碼塊中(使用圍柵代碼塊),您需要針對每個嵌套級別使用不同數量的反引號* - 我確實嘗試了這種方法,但GFM使其錯誤(請參閱問題中的截圖) 。也許,這是GFM的錯誤嗎? –

+0

沒有官方的「Markdown標準化團隊」這樣的事情,但我當然積極參與開發fenced-code-block語法。所以,也許非正式地說,是的。我意識到GFM並不一定會遵循我們爲圍欄代碼塊開發的所有邊緣案例。這可能就是其中之一。 – Waylan

+0

我看到你是['@ markdown'](https://github.com/markdown)org中的成員。 :-)我也聯繫過GitHub支持,但他們還沒有回覆。 –