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