2010-10-04 73 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