【问题标题】:Create multi-page website with one org-mode file使用一个 org-mode 文件创建多页网站
【发布时间】:2013-04-17 01:03:25
【问题描述】:

将 org 文件导出为 html 时,似乎一个 org 文件会转换为一个 html 文件。是否可以将某些标题导出为单独的文件,以便我们最终得到一个主页和许多子页面,全部来自一个 org 文件?例如,Org Guide 看起来可以在逻辑上放置在单个文件中。

【问题讨论】:

  • 组织指南似乎是不同组织文件的目录。我知道这不是您想要的,但 org-mode 的 sitemaps 可能会有所帮助。
  • ox-hugo 提供了具有这种动机的东西。我仍然想知道是否还有其他选择。
  • @trblnc 感谢您的建议ox-hugo :) 请问您正在寻找替代品中的哪些功能?
  • 也许我们可以继续chat

标签: html emacs org-mode


【解决方案1】:

如果您仍在寻找解决方案(5 年后),并且您愿意使用Hugo 生成静态站点,则可以选择ox-hugo

ox-hugo 是一个 Org 导出器后端,可将 Org 文件导出到带有前端的 Hugo 兼容的 Markdown 文件。可以组织内容,以便您可以将 Org 子树导出为单独的内容文件,或者每个导出的文件只有一个 Org 文件,或者您可以混合使用。

如果您查看上面链接的ox-hugo 站点,它是从单个Org 文件生成的;您将在该站点的页脚中找到链接的组织源。

免责声明:我是ox-hugo 作者。

【讨论】:

    【解决方案2】:

    是的,这是可能的。但是,不,当前的 (8.0.x) HTML 导出器没有生成多个文件的能力。

    一种方法是使用 texinfo 导出器生成一个 texi 文件,然后使用 makeinfo --html 将 texi 文件转换为 html。由于组织指南似乎是通过这种方式生成的。

    【讨论】:

      【解决方案3】:
      (defun my-org-export-each-level-1-headline-to-html (&optional scope)
      (interactive)
       (org-map-entries
        (lambda ()
          (let* ((title (car (last (org-get-outline-path t))))
                 (dir (file-name-directory buffer-file-name))
                 (filename (concat dir title ".html")))
        (org-narrow-to-subtree)
            (org-html-export-as-html)
              (write-file filename)
              (kill-current-buffer)
        (widen)))
        "LEVEL=1" scope))
      

      它为每个标题级别=1 生成 html 文件。基于https://emacs.stackexchange.com/questions/54937/split-every-single-org-headline-in-a-org-file-to-separate-md-org-files

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多