2010-11-12 128 views
12

我想为我的演示文稿创建幻灯片。我的演示文稿将包含以下内容:幻灯片标题,项目符号点,代码片段(以等宽字体),一些代码行突出显示为粗体,Python代码片段(带语法突出显示)。用Python语法突出显示的HTML演示文稿幻灯片

我需要一个可以在HTML(或HTML5)中生成幻灯片的应用程序或工具,因此当我在我的Web浏览器中打开生成的HTML并将Web浏览器设置为全屏模式时,它将启动幻灯片。我更喜欢使用某些标记将我的演示文稿编写为.txt文件,然后该工具应生成HTML。

我知道Google Docs的演示功能,但不支持Python语法高亮显示。

我也知道LaTeX and Beamer,但是这将生成PDF而不是HTML(不是大问题),并且没有Python语法高亮内置的。

我宁愿用香草伸出我的介绍Google Chrome或Mozilla Firefox。我不想在投影机上安装任何演示软件(例如bruce)。

是否有替代方案?

回答

12

请尝试以下之一:

  1. 与S5

    http://meyerweb.com/eric/tools/s5/

    http://docutils.sourceforge.net/docs/user/slide-shows.html

    修改案文如果安装docutils(快照是首选),你会得到rst2s5。 py在工具文件夹中。

  2. 布鲁斯,演示工具

    http://code.google.com/p/bruce-tpt/

  3. Pandoc:通用文档转换器

    http://johnmacfarlane.net/pandoc/

  4. AsciiDoc有一个选项,以生成产生自足Slidy HTML

+0

感谢您编译这个长列表。请注意,并非所有提到的软件都支持Python源代码的语法高亮显示(或者至少不容易找到它)。 – pts 2010-11-12 11:41:27

+0

@pts:由于您只能在幻灯片上显示几行代码,因此语法突出显示实际上并不是那么有用。你真的尝试过其中之一吗? – 2010-11-12 11:47:55

1

它只是你要求的一部分,但如果你想做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方法更灵活。)

这可以很容易地自动化作为您的幻灯片生成过程的一部分,但我认为这足够一个答案。

+0

感谢您提供此信息。我知道其他工具(如pygments),它们可以使用''生成语法高亮显示。如有必要,我可以自动完成整个过程。但我没有时间。 – pts 2010-11-12 11:21:10

2

您绝对应该看看landslide,这是一款python应用程序,它允许从标记格式的文本中创建非常漂亮的HTML5幻灯片,并支持语法高亮显示。要预览其功能,只需查看项目README生成的sample slideshow即可。

+0

感谢您的信息。 – pts 2010-11-13 11:09:21

3

就在最近slippy出现了:使用Python(以及许多其他语言)突出显示编辑您的演示文稿为HTML。

+0

感谢您的信息。 – pts 2010-11-13 11:09:39

相关问题