带有Python语法突出显示的HTML演示幻灯片

带有Python语法突出显示的HTML演示幻灯片,python,html,syntax-highlighting,presentation,Python,Html,Syntax Highlighting,Presentation,我想为我的演讲制作幻灯片。我的演示文稿将包含以下内容:幻灯片标题、要点、代码段(以单空格字体)、一些以粗体突出显示的代码行、Python代码段(带有语法突出显示) <pre><span class="keyword">def</span> <span class="function-name">decode_safely</span>(s, charset=<span class="string">'ascii'</s

我想为我的演讲制作幻灯片。我的演示文稿将包含以下内容:幻灯片标题、要点、代码段(以单空格字体)、一些以粗体突出显示的代码行、Python代码段(带有语法突出显示)

<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>
我需要一个可以用HTML(或HTML5)生成此类幻灯片的应用程序或工具,因此当我在web浏览器中打开生成的HTML并将web浏览器置于全屏模式时,它将启动幻灯片放映。我更喜欢将我的演示文稿编写为带有一些标记的
.txt
文件,然后工具应该生成HTML

<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>
我知道GoogleDocs的演示功能,但它不支持Python语法突出显示

我也知道,但这将生成PDF而不是HTML(这不是一个大问题),并且没有内置Python语法高亮显示

我更喜欢使用普通的Google Chrome或Mozilla Firefox投影我的演示文稿。我不想在投影机上安装任何演示软件(如)

<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>

有其他选择吗?

这只是您要求的一部分,但是如果您想对Python进行语法高亮显示并转换为HTML,那么您可以在Emacs中使用
Python模式
进行语法高亮显示并转换为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
后,您会得到:

def安全解码(s,charset='ascii'):
“”“返回已根据字符集解码的,但请安全地执行此操作。”“”
尝试:
返回s.decode(字符集或“ascii”、“替换”)
除LookupError外:#参见作业002442
返回s.decode('ascii','replace')
您可以看到,每段语法都标记有一个属于某个类的
,指示它属于哪个语法类:然后您可以使用CSS指定所需的颜色。(
htmlize
可以配置为指定显式颜色-
-但是class/CSS方法更灵活。)


作为幻灯片生成过程的一部分,这可以很容易地实现自动化,但我认为这对于一个答案来说已经足够了。

尝试以下方法之一:

  • 用S5重组文本

    如果安装(首选快照),将在tools文件夹中获得rst2s5.py

  • Bruce,演示工具

  • Pandoc:一种通用文档转换器

  • 具有生成自包含HTML的选项


  • 您一定要看看,这是一个python应用程序,它允许从标记格式的文本中创建HTML5中非常好看的幻灯片,并且支持语法高亮显示。要预览它可以做什么,只需看看从项目中生成的内容。

    最近刚刚出现:将演示文稿编辑为HTML,突出显示Python(以及许多其他语言)。

    HTML5幻灯片是一个不错的选择


    感谢您提供此信息。我知道其他工具(如pygments),它们可以使用
    生成语法高亮显示。如有必要,我可以自动完成整个过程。但是我没有时间,谢谢你编了这么长的清单。请注意,并非您提到的所有软件都支持Python源代码的语法高亮显示(或者,至少,很难找到它)。@pts:由于您只能在幻灯片上显示很少几行代码,语法高亮显示实际上并没有多大帮助。你真的试过这种药吗?