如何指定emacs org-mode导出文件的位置?


#1

我用org-mode写文档,感觉很方便。导出的时候使用命令:C-c C-e h h可以将org文件导出为html文件。但是,导出的html文件会在org文件的所在位置。

如果希望指定导出文件的位置,那该怎么弄呢?


#2

试试在org 文件顶部加上

#+bind: org-export-publishing-directory "./your-directory"

#3

试了下,还是出现在org文件所在的目录中。


#4

试试重启一下Emacs


#5

重启了下,还是不行。我用的全路径


#6

我的版本号是 Emacs 25.3.2 (Org mode 8.2.10)


#7

emacs 有 25.3.2 这个版本号?


#8

有的啊

emacs-version


#9

我觉得有三种方式:

第一种:

#+EXPORT_FILE_NAME: ~/class.html

但是设置的不是路径 而是文件全名

第二种:

你也可以简单的重新定义 org-html-export-to-html (复制下面代码到 *scratch* ,并 M-x eval-buffer)

(defun org-html-export-to-html
  (&optional async subtreep visible-only body-only ext-plist)
  ""
  (interactive)
  (let* ((extension (concat "." (or (plist-get ext-plist :html-extension)
                                    org-html-extension
                                    "html")))
         (file (org-export-output-file-name extension subtreep
                                            (read-string "path:")))
         (org-export-coding-system org-html-coding-system))
    (org-export-to-file 'html file
      async subtreep visible-only body-only ext-plist)))

我不知道把他放在.emacs 会怎样!

第三种:

模仿 #+EXPORT_FILE_NAME 并替换第二种中的 (read-string “path:”)


#10

666 gnu的官方ftp么有哇


#11

前段时间,按网上一个教程装的。不清楚官方ftp上的版本。现在26.1也出来了


#12

我比较喜欢第一种方式,然而还是不行诶


#13

更新 org


#14

更新之后,现在还是不能够。

我下载了org-9.1.13.zip,解压缩,然后在init.el里面添加了(add-to-list 'load-path “~/Downloads/org-9.1.13/lisp”)


#15

M-x org-version 如果 小于 9.1.9 就说明不对

M-x package-initialize

M-x package-list-packages Org 已经到9.1.13了


#16

赞,问题解决了。 你第一次说的就是对的。#+EXPORT_FILE_NAME: ~/class.html中有空格,我给去掉了,不能正确显示。之后我又给改成了"~/class.html",还是不行。现在按照带空格的方式,正常显示了。多谢啦~~


#17

另外,使用org 9.1.13也是很重要的。使用org 8.2.10不行。