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

jus*_*don 7 emacs org-mode

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

有更好的方法吗?

Phi*_*xon 6

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

例如,使用org-html-htmlize-output-typeset 导出代码段会'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>
Run Code Online (Sandbox Code Playgroud)

导出带有org-html-htmlize-output-typeset 的相同片段时'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> 
Run Code Online (Sandbox Code Playgroud)