繁体   English   中英

Emacs组织模式 - 导出到html而不使用语法高亮显示

[英]Emacs org-mode - Export to html without syntax highlighting

我正在使用org-mode来写博客文章(wordpress)。 因为我使用插件进行语法高亮,所以我不需要使用org-mode的语法高亮。

这是一个例子。

emacs中的来源。 在此输入图像描述

出口产出。 在此输入图像描述

当我删除BEGIN_SRC之后的语言字段时,语法高亮也BEGIN_SRC了。 但我只想在导出时禁用语法高亮,而不删除语言字段(emacs-lisp)。

我也在下面测试过,但它不起作用。

(setq org-src-fontify-natively t)

============更新============

我申请下面。 (谢谢@Picaud Vincent)(setq org-html-htmlize-output-type'nil)

它适用于没有语言字段的源块。 但它不适用于具有语言字段的源块。

这是一个例子。

在.emacs文件..(setq org -html-htmlize-output-type'nil)

  1. 没有语言领域的起源

 #+BEGIN_SRC (setq org-todo-keywords '((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED"))) #+END_SRC 

出口

 <pre class="example"> (setq org-todo-keywords '((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED"))) </pre> 

  1. 语言领域的起源

 #+BEGIN_SRC emacs-lisp (setq org-todo-keywords '((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED"))) #+END_SRC 

出口

 <div class="org-src-container"> <pre class="src src-emacs-lisp"></pre> 

============更新============

最后,我找到了解决方案。

  1. 关注@Picaud Vincent的回答。 (setq org-html-htmlize-output-type nil)`

  2. 如果源块中没有带语言字段的exports: code ,请将exports: code添加到语言字段。 ex> #+BEGIN_SRC emacs-lisp:exports code

虽然添加'exports:code`会禁用org-mode缓冲区中的语法高亮,但它解决了我的问题。

也许你可以尝试自定义org-html-htmlize-output-type变量:

通常的HTML导出如下所示:

在此输入图像描述

但是,这个定制

(setq org-html-htmlize-output-type `nil)

你得到纯文本:

在此输入图像描述

此变量和其他可自定义的变量在ox-html.el文件中定义。


更新:完整的html源代码

之前:

<div class="org-src-container">
<pre class="src src-emacs-lisp">(<span style="color: #a020f0;">defcustom</span> <span style="color: #a0522d;">org-html-htmlize-output-type</span> 'inline-css
  <span style="color: #8b2252;">"Output type to be used by htmlize when formatting code snippets.</span>
<span style="color: #8b2252;">Choices are `</span><span style="color: #008b8b;">css</span><span style="color: #8b2252;">' to export the CSS selectors only,`</span><span style="color: #008b8b;">inline-css</span><span style="color: #8b2252;">'</span>
<span style="color: #8b2252;">to export the CSS attribute values inline in the HTML or `</span><span style="color: #008b8b;">nil</span><span style="color: #8b2252;">' to</span>
<span style="color: #8b2252;">export plain text.  We use as default `</span><span style="color: #008b8b;">inline-css</span><span style="color: #8b2252;">', in order to</span>
<span style="color: #8b2252;">make the resulting HTML self-containing.</span>

<span style="color: #8b2252;">However, this will fail when using Emacs in batch mode for export, because</span>
<span style="color: #8b2252;">then no rich font definitions are in place.  It will also not be good if</span>
<span style="color: #8b2252;">people with different Emacs setup contribute HTML files to a website,</span>
<span style="color: #8b2252;">because the fonts will represent the individual setups.  In these cases,</span>
<span style="color: #8b2252;">it is much better to let Org/Htmlize assign classes only, and to use</span>
<span style="color: #8b2252;">a style file to define the look of these classes.</span>
<span style="color: #8b2252;">To get a start for your css file, start Emacs session and make sure that</span>
<span style="color: #8b2252;">all the faces you are interested in are defined, for example by loading files</span>
<span style="color: #8b2252;">in all modes you want.  Then, use the command</span>
<span style="color: #8b2252;">`\\[</span><span style="color: #008b8b;">org-html-htmlize-generate-css</span><span style="color: #8b2252;">]' to extract class definitions."</span>
  <span style="color: #483d8b;">:group</span> 'org-export-html
  <span style="color: #483d8b;">:type</span> '(choice (const css) (const inline-css) (const nil)))

(<span style="color: #a020f0;">defcustom</span> <span style="color: #a0522d;">org-html-htmlize-font-prefix</span> <span style="color: #8b2252;">"org-"</span>
  <span style="color: #8b2252;">"The prefix for CSS class names for htmlize font specifications."</span>
  <span style="color: #483d8b;">:group</span> 'org-export-html
  <span style="color: #483d8b;">:type</span> 'string)
</pre>
</div>

后:

<div class="org-src-container">
<pre class="src src-emacs-lisp">(defcustom org-html-htmlize-output-type 'inline-css
  "Output type to be used by htmlize when formatting code snippets.
Choices are `css' to export the CSS selectors only,`inline-css'
to export the CSS attribute values inline in the HTML or `nil' to
export plain text.  We use as default `inline-css', in order to
make the resulting HTML self-containing.

However, this will fail when using Emacs in batch mode for export, because
then no rich font definitions are in place.  It will also not be good if
people with different Emacs setup contribute HTML files to a website,
because the fonts will represent the individual setups.  In these cases,
it is much better to let Org/Htmlize assign classes only, and to use
a style file to define the look of these classes.
To get a start for your css file, start Emacs session and make sure that
all the faces you are interested in are defined, for example by loading files
in all modes you want.  Then, use the command
`\\[org-html-htmlize-generate-css]' to extract class definitions."
  :group 'org-export-html
  :type '(choice (const css) (const inline-css) (const nil)))

(defcustom org-html-htmlize-font-prefix "org-"
  "The prefix for CSS class names for htmlize font specifications."
  :group 'org-export-html
  :type 'string)
</pre>
</div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM