【问题标题】:in org-mode, is there a function to export (current) subtree to HTML?在 org 模式下,是否有将(当前)子树导出到 HTML 的功能?
【发布时间】:2013-12-16 23:28:58
【问题描述】:

在 org-mode 中,是否有将(当前)子树导出到 HTML 的功能?怎么做呢?

【问题讨论】:

    标签: emacs org-mode


    【解决方案1】:

    与组织 8:

    M-x org-export-dispatch
    C-s (change the export scope to subtree)
    h (HTML menu)
    h (export to HTML file)
    

    【讨论】:

    • 是的,只需使用这些命令定义一个键盘宏(参见KeyboardMacros)。请注意,在最近版本的 org 模式中,您还可以使用“C-u C-c C-e”导出您所在的最后一个子树(当然您可以定义一个宏来执行此操作)。
    • 您可以将函数调用(org-html-export-to-html nil t) 分配给任何函数。创建一个显式命令,或将以上内容包装在 (lambda ...) 表达式中(请参阅匿名函数)。
    【解决方案2】:

    您也可以使用org-narrow-to-subtree 减少缓冲区并运行正常导出。

    【讨论】:

    • 比我的杂牌好多了。
    • 绑定到击键C-x n s,返回扩大视野C-x n w。谢谢你的提示!
    • 在这种情况下,编号保持全局,而更改范围确实从头开始枚举并使用标题作为标题。使用这两个设置一个清晰的画面。
    【解决方案3】:

    transient-mark-mode 开启时,只会导出活动区域。

    找到的 ODT 导出信息 here, 也适用于 HTML。

    【讨论】:

    • 导出多个标题时的绝佳选择
    【解决方案4】:

    函数是org-html-export-to-html,可以通过参数nil t调用来导出当前子树。

    (defun subtree-html () 
      (interactive) 
      (org-html-export-to-html nil t))
    

    您还可以创建宏(然后可以由函数执行)。

    步骤:

    1. 开始录制键盘宏:C-x (https://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Keyboard-Macro.html#Basic-Keyboard-Macro
    2. 按照此答案的步骤操作:https://stackoverflow.com/a/20630177/1137803 (M-x org-export-dispatch C-s h h)
    3. 停止录制宏:C-x e
    4. 使用kmacro-name-last-macro(不是name-last-kbd-macro)保存
    5. 插入到带有M-x insert-kbd-macro 的文件
    6. setq last-kbd-macro 替换为execute-kbd-macro
    7. 现在您可以将其设为(可能交互的)函数(或将其放入 lambda 并绑定到某个键)。例如。 (defun subtree-html () (interactive) (execute-kbd-macro _____)) 其中_____insert-kbd-macro 的输出。

    如果有一种不那么复杂且不影响可见性/缩小范围(或可以轻松恢复)的方式,我很想听听。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多