习惯了用 Org Mode 来写笔记,然后直接发布成网页,倒也是一件快事。用 Emacs 来写东西,爽手;用 Org Mode 来发布成网页,利索;再给这个网页配配色,美观。现在一些长一点的笔记或是经验总结,我倒是喜欢直接用 Org Mode 来发布到我的静态网站上。

如果 Org Mode 工程里,有一些文件,不希望发布成 html 页面;或者说,有一些是配置文件、网页的头文件或是页脚文件,只需要在 Org Mode 工程里使用(用 include 就可以把一些重复出现的内容写成单独的 org 文件),但是却没必要发布成网页。也就是说,你不想把它们上传到服务器或是根本不需要发布它们。

Org Mode 很好地考虑到了这个问题,在配置 Org Mode 工程时,就可以直接使用 :exclude 这个选项来指定哪些文件不用发布。

这里需要特别说明的是,:exclude 使用的是正则表达式,并且你在这里填写文件名称时,不需要指定路径,仅仅需要指定文件名即可。

比如,在我的工程里,有如下几个文件,是纯粹作为配置来使用的:

./addon/header.org
./addon/setup.org
./addon/footer.org

从这几个文件名,大概也能看出来它们的用处。对于这几个文件,我不需要发布它们,这时,我可以在我的 org-publish-project-alist 配置里,填上这么一行:

:exclude "footer.org\\|header.org\\|setup.org"   ;; regexp

这样,我就可以在发布工程的时候,得到一个非常干净整洁的网页工程,不带一点不需要的文件!在把这些文件上传到服务器后,再也不用担心有人会误访问到这些对用户来说无用的文件了。