org-mode使用当前颜色主题进行发布

时间:2012-08-29 01:18:06

标签: emacs org-mode

组织模式有一个很棒的功能来着色源代码块中的文本。但是,它使用emacs主题的当前颜色。我经常使用黑暗的zenburn主题,它将Java的一些部分放在浅色中。当我发布到HTML时,浅色不可读。解决方法是重新启动emacs并重新发布而不加载它们。

有更好的方法吗?

1 个答案:

答案 0 :(得分:6)

默认情况下,org-mode根据您当前的主题导出包含内联样式信息的源代码。但是,通过将org-html-htmlize-output-type设置为'css而不是默认'inline-css,生成的html将具有与所使用的面对应的类。然后,您可以提供自己的CSS来设置面部样式。

例如,将org-html-htmlize-output-type设置为'inline-css的代码段导出为:

<pre class="src src-sh">
<span style="color: #F0DFAF; font-weight: bold;">for</span> f<span style="color: #F0DFAF; font-weight: bold;"> in</span> *; <span style="color: #F0DFAF; font-weight: bold;">do</span>
    <span style="color: #93E0E3;">echo</span> $<span style="color: #DFAF8F;">f</span>
<span style="color: #F0DFAF; font-weight: bold;">done</span>
</pre>

org-html-htmlize-output-type设置为'css的相同代码段导出时:

<pre class="src src-sh">
<span class="org-keyword">for</span> f<span class="org-keyword"> in</span> *; <span class="org-keyword">do</span>
    <span class="org-builtin">echo</span> $<span class="org-variable-name">f</span>
<span class="org-keyword">done</span>
</pre>