13.9.3 HTML doctypes

Org 可导出为多种 (X)HTML 变体。

通过设置 org-html-doctype 变量可选择不同 (X)HTML 变体。导出器会根据所选变体自动调整 HTML 转换语法。Org 内置以下预设变体:

详情见变量 org-html-doctype-alist ,默认值为 "xhtml-strict"

Org 的 HTML 导出器默认不启用 HTML5 标准新增的块级元素。如需启用,可将 org-html-html5-fancy 设置为非 nil ,或在文件中通过 ‘OPTIONS’ 行设置 ‘html5-fancy’ 。

HTML5 文档支持任意 ‘#+BEGIN’ … ‘#+END’ 块,示例:

#+BEGIN_aside
  Lorem ipsum
#+END_aside

导出结果为:

<aside>
  <p>Lorem ipsum</p>
</aside>

而如下代码:

#+ATTR_HTML: :controls controls :width 350
#+BEGIN_video
#+HTML: <source src="movie.mp4" type="video/mp4">
#+HTML: <source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
#+END_video

导出结果为:

<video controls="controls" width="350">
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
  <p>Your browser does not support the video tag.</p>
</video>

当特殊块没有对应的 HTML5 元素时,HTML 导出器会使用标准转换方式(见 org-html-html5-elements )。例如 ‘#+BEGIN_lederhosen’ 会导出为 <div class="lederhosen">

特殊块不能包含标题。若要让 HTML 导出器将标题及其内容用 <section><article> 标签包裹,可为标题设置 ‘HTML_CONTAINER’ 属性。