Org-mode 有一个很棒的功能,可以为源代码块中的文本着色。但是,它使用 emacs 主题的当前颜色。我经常使用深色 zenburn 主题,它将 Java 的某些部分置于浅色中。当我发布到 HTML 时,浅色不可读。解决方法是重新启动 emacs 并重新发布而不加载它们。
有更好的办法吗?
默认情况下,org-mode 会根据您当前的主题导出带有内联样式信息的源代码。但是,通过设置org-html-htmlize-output-type
而'css
不是默认值'inline-css
,生成的 html 将具有与所使用的面相对应的类。然后,您可以提供自己的 css 来设置面的样式。
例如,导出一个带有org-html-htmlize-output-type
set to的片段会'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
使用set to导出相同的代码段时'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>