鵜鶘使用Python-Markdown與CodeHilite擴展到通過代碼塊到Pygments來做。請注意,代碼塊做不包括內聯代碼片段。事實上,我不知道任何支持突出顯示內聯代碼的Markdown解析器。一般來說,內聯代碼片段太短而不能有效突出顯示,並且幾乎總是太短而無法利用Pygments的語言猜測算法。
我看到您試圖使用Attribute List Extension擴展來通知Markdown該語言。但是,所做的只是將一個類添加到包裝代碼段的HTML <code>
標記中。由於CodeHilite Extension只能在塊上工作,它甚至不會查看它,當然也不會將它傳遞給Pygments。
有你有可用的(在工作中所需要的量每增加)一些不同的選擇:
你可以寫自己的CSS它改變了背景和文本顏色,以便它們匹配塊。你不會得到語法突出顯示,但內聯代碼片段至少會匹配你的主題。無需在此處定義語言。
您可以使用JavaScript代碼高亮庫來突出顯示基於您使用Attribute List Extension定義的語言的所有代碼片段。但是,這可能需要您重新定義JS庫的CSS,以便它匹配Pygments的輸出。
您可以編寫自己的Python-Markdown擴展(也可以是CodeHilite),除了塊之外,還可以突出顯示內嵌代碼片段。
就個人而言,我會建議(1)以上。其實,看着你的頁面時,會出現該代碼模塊具有以下定義:
.highlight pre, .highlighttable pre {
background: #272822;
color: #f8f8f2;
}
也就是說,分配了「亮點」類父母(或「highlighttable」類)一個<pre>
元素會用這些顏色顯示。當你想分配給內嵌代碼相同的顏色,添加以下規則:
code {
background: #272822;
color: #f8f8f2;
}
只要確保你定義由鵜鶘的主題(這似乎是在http://vfxware.com/theme/css/bootstrap.slate.min.css)定義的樣式後。
當然,你可以改變現有的CSS,但如果你以後決定更新到更新版本的主題或完全改變主題,你可能需要重新定義自己的規則。因此,我喜歡在一個單獨的文件中定義我自己的覆蓋集,我總是確保它是最後一個加載的文件。
從我的問題的鏈接http://stackoverflow.com/questions/10870719/inline-code-highlighting-in-rest,它看起來可以做內聯突出顯示,所以你的意思是正常降價不支持這個? –
@ tomriddle_1234是的,這是正確的。這不是Markdown的典型特徵。我沒有意識到任何Markdown實現都支持這個,直到你鏈接到一個。我的猜測是該實現是唯一支持該功能的實現。我質疑它能否按照我的答案中所述的理由始終保持正確。 – Waylan