带有Python语法突出显示的HTML演示幻灯片
我想为我的演讲制作幻灯片。我的演示文稿将包含以下内容:幻灯片标题、要点、代码段(以单空格字体)、一些以粗体突出显示的代码行、Python代码段(带有语法突出显示)带有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
<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方法更灵活。)
作为幻灯片生成过程的一部分,这可以很容易地实现自动化,但我认为这对于一个答案来说已经足够了。尝试以下方法之一:
您一定要看看,这是一个python应用程序,它允许从标记格式的文本中创建HTML5中非常好看的幻灯片,并且支持语法高亮显示。要预览它可以做什么,只需看看从项目中生成的内容。最近刚刚出现:将演示文稿编辑为HTML,突出显示Python(以及许多其他语言)。HTML5幻灯片是一个不错的选择
感谢您提供此信息。我知道其他工具(如pygments),它们可以使用
生成语法高亮显示。如有必要,我可以自动完成整个过程。但是我没有时间,谢谢你编了这么长的清单。请注意,并非您提到的所有软件都支持Python源代码的语法高亮显示(或者,至少,很难找到它)。@pts:由于您只能在幻灯片上显示很少几行代码,语法高亮显示实际上并没有多大帮助。你真的试过这种药吗?