Sebastian Rose 专门为 Org 生成的 HTML 文件编写了一款 JavaScript 脚本,支持两种浏览方式。一种是类 Info 模式,每次只单独显示一个章节,可通过 n 与 p 等按键导航,按 ? 查看可用按键说明。另一种是折叠视图,与 Org 在 Emacs 内的展示方式类似。该脚本可在 https://orgmode.org/org-info.js 获取,文档见 https://orgmode.org/worg/code/org-info-js/。脚本托管在 https://orgmode.org,但为稳定起见建议部署在自己的服务器上。
如需使用该脚本,只需在 Org 文件中添加如下行:
#+INFOJS_OPT: view:info toc:nil
HTML 头部会自动加入调用该脚本所需代码。选项设置语法如上,支持的选项如下:
脚本路径。默认从 https://orgmode.org/org-info.js 加载,也可使用本地副本,例如 ‘../scripts/org-info.js’ 。
页面初始显示模式,可选值:
| ‘info’ | 类 Info 界面,每页一个章节 |
| ‘overview’ | 折叠界面,初始仅显示顶层章节 |
| ‘content’ | 折叠界面,初始显示所有标题 |
| ‘showall’ | 折叠界面,显示所有标题与正文 |
Info 模式与折叠模式中独立章节的最大标题层级。默认取自 org-export-headline-levels ,即 ‘OPTIONS’ 中的 ‘H’ 开关。若该值小于 org-export-headline-levels ,单个 Info/折叠章节仍可包含子标题。
目录是否 初始 可见。即使设为 ‘nil’ ,也可通过 i 显示目录。
目录层级。默认取自变量 org-export-headline-levels 与 org-export-with-toc 。
页面 CSS 是否为 “目录(toc)” 设置固定定位?若是,目录会以章节形式展示。
是否在每个章节内显示简短子内容?设为 ‘above’ 可将该内容置于章节正文上方。
鼠标悬停在标题上时的高亮效果,默认为 ‘underline’ ,也可使用背景色如 ‘#cccccc’ 。
是否在各处显示视图切换按钮?默认 ‘nil’ ,仅显示一个切换按钮。
可通过自定义 org-infojs-options 变量设置上述选项的默认值。若希望所有页面都启用该脚本,可配置 org-export-html-use-infojs 变量。