2010-10-04 43 views
2

林,當我有值如何傳遞階級屬性和值使用python降價爲我的Django項目降價語法

#/usr/bin/env python 
print "this is converted to html code block" 

輸出

<pre><code>  
#/usr/bin/env python 
print "this is converted to html code block" 
</code><pre> 

現在我的問題是,如何我可以傳遞類屬性和值給代碼elem。 樣品:

#i should be using some markdown syntax below 
[class="python"] 
#/usr/bin/env python 
print "this is converted to html code block" 

然後在這裏

<pre><code class="python">  
#/usr/bin/env python 
print "this is converted to html code block" 
</code><pre> 

輸出是可能的嗎?如何?

回答

2

您可以在Markdown中編寫HTML,但不能添加類和id等內容。

請參閱this questionthis question瞭解更多詳情。

+0

您的權利Skilldrick,所以我只需要手工編寫我的代碼塊 - 包這裏面

code here
和不通過4位否則將被轉換爲降價 – 2010-10-04 09:27:13

+0

這是正確的縮進它。我在Markdown寫博客,所以我必須一直這樣做。當你需要的時候可以下載到HTML是很好的(有點像從C下載到彙編程序)。 – Skilldrick 2010-10-04 09:47:29

0

您可以通過一些其他篩選器來查找並解析#!行,並根據它添加Python類。 lxml將是一個很好的方法來做到這一點。雖然我不確定你會怎麼安排Django。

0

這是我的解決方案。首先,縮進,以便它將成爲代碼塊:

|*|-language-css-|*| 
    .code { 
     color: red; 
    } 

注意| * | - 和 - | * |。我使用這些符號只是爲了確保我有一些獨特的東西來解析下一個。

然後,JavaScript的一點點(jQuery的現在,我要把它直JS寫優化):

$('pre code').each(function() { 

    var code = $(this).html(), 
     the_code = code.split('-|*|')[1].substring(1), 
     language = code.split('|*|-')[1].split('-|*|')[0]; 

    $(this).html(the_code).addClass(language); 

}); 

以上的JavaScript,你可以看到,將採取一切是內部的| * | - 和 - | * |並將其作爲類添加到CODE元素上。修改爲適合您的需求。

結果是這樣的:

<pre> 
    <code class="language-css"> 
     .code { 
      color: red; 
     } 
    </code> 
</pre> 
1

如果你使用GitHub風格降價,你可以使用這個

```python 
    print "I am python!" 
``` 

這將增加一個「郎蟒蛇」級。我需要這個爲highlightjs。

here