我试图为从组织模式导出的 HTML 文件中的部分提供基本的折叠/折叠功能,因为我要共享的文件非常大。我在 Mac 上使用 Emacs 26.2 (9.0) 和 Org 9.1.9。
这似乎是一个内置功能,但我还没有看到#+INFOJS_OPT在导出到 HTML 之前向我的组织文件添加命令有任何效果。我还看到邮件列表中提到了另一个工具,但没有任何示例,我不知道如何将其应用于我拥有的特定组织文件。
例如,以下文件被转换为 HTML,它看起来与没有 INFOJS_OPT 行的同一文件相同
#+Title+: JS test
#+INFOJS_OPT: path:js/org-info.js
#+INFOJS_OPT: toc:nil ltoc:nil view:overview mouse:underline
#+INFOJS_OPT: home:https://orgmode.org buttons:nil
* Chapter 1
** Section 1
*** Part 1
- csp
** Section 2
- cs2p
Run Code Online (Sandbox Code Playgroud)
生成的 HTML 略有不同,但这似乎没有效果。我不知道如何折叠生成的 HTML - 即使在 org-info.js 之外也可以使用解决方案。
似乎 org-info.js 不再维护了。他们在这里提供 JavaScript 源代码,供任何愿意调整/更新它的人使用。
https://lists.gnu.org/r/emacs-orgmode/2017-07/msg00049.html
幸运的是有人更新了它(感谢丹尼尔·克莱门特!)。
程序是:
esquemadorg.js 从以下链接下载:https: //www.danielclemente.com/pagina/esquemadorg.js.org在文件顶部添加以下行#+HTML_HEAD_EXTRA: <script type="text/javascript" src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
#+HTML_HEAD_EXTRA: <script type="text/javascript" src="esquemadorg.js"></script>
Run Code Online (Sandbox Code Playgroud)
确保指向相对于 html 导出文件所在位置的src="esquemadorg.js"文件。
导出的文档中将出现一些西班牙语(或葡萄牙语?)文本。您可以在文件中进行完整搜索esquemadorg.js并将其更改为英文。我的现在看起来像这样。
par.append(document.createTextNode("Press on a section header to collaps/expand it."));
par.append( $( document.createElement('a') ).text(" COLLAPSE ALL ").addClass("globalexpandtool").click(close_all_sections));
par.append( $( document.createElement('a') ).text(" SHOW ALL ").addClass("globalexpandtool").click(open_all_sections));
$("div#table-of-contents").after(par);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
576 次 |
| 最近记录: |