它只是你要求的一部分,但如果你想做Python的语法高亮和转换为HTML,那么你可以在Emacs中使用python-mode
来做到这一点,做语法高亮和htmlize
做转换为HTML。
例如,你可能会开始
def decode_safely(s, charset='ascii'):
"""Return s decoded according to charset, but do so safely."""
try:
return s.decode(charset or 'ascii', 'replace')
except LookupError: # bogus charset
return s.decode('ascii', 'replace')
并通过htmlize
后,您将获得:
<pre><span class="keyword">def</span> <span class="function-name">decode_safely</span>(s, charset=<span class="string">'ascii'</span>):
<span class="string">"""Return s decoded according to charset, but do so safely."""</span>
<span class="keyword">try</span>:
<span class="keyword">return</span> s.decode(charset <span class="keyword">or</span> <span class="string">'ascii'</span>, <span class="string">'replace'</span>)
<span class="keyword">except</span> <span class="type">LookupError</span>: <span class="comment"># see job002442
</span> <span class="keyword">return</span> s.decode(<span class="string">'ascii'</span>, <span class="string">'replace'</span>)
</pre>
你可以看到,语法的每一件都标明了一个<span>
属于一个表明它属于哪个语法类的类:然后你可以使用CSS来指定你想要的颜色。 (htmlize
可以配置为指定明确的颜色 - <span style="color:#b22222">
- 但类/ CSS方法更灵活。)
这可以很容易地自动化作为您的幻灯片生成过程的一部分,但我认为这足够一个答案。
感谢您编译这个长列表。请注意,并非所有提到的软件都支持Python源代码的语法高亮显示(或者至少不容易找到它)。 – pts 2010-11-12 11:41:27
@pts:由于您只能在幻灯片上显示几行代码,因此语法突出显示实际上并不是那么有用。你真的尝试过其中之一吗? – 2010-11-12 11:47:55