刚开始调试本地 Emacs Org Mode 发布成网页工程时,往往容易发现 CSS 没有起到应有的效果。

因为 Emacs Org Mode 默认是采用 Web 服务器的方式来导入 CSS 文件的,其中最重要的参数,就是你设置的 Web 服务器根目录。

所以,当你需要在本地调试 Emacs Org Mode 生成的 html 页面,最好的办法是安装一个 Web 服务器,并且把 Emacs 生成的 html 页面放到这个服务器的根目录下进行调试,这样就可以避免 CSS 导入位置出错的问题了。

当然,如果只是想生成供本地阅读的 html(比如说,作为笔记使用的 org 文件,发布成 html 更方便阅读),也可以采用把 CSS 内容直接内嵌到 html 页面里的方式:

  1. 首先设置好一个变量,把 CSS 属性导入:
    ;; set the stylesheet string
    (setq waterstyle "<style>
        body {
            padding: 50px 150px 50px 150px;
            border-style: solid;
            border-width: 20pt;
            border-color: #790000;
        }

body, p, li { /font-family: monospace;/ font-family: "Microsoft YaHei" ! important; font-size: 1em; } /* more CSS style */ </style>")

  1. 然后在 org 工程设置里有关添加 CSS 的地方使用该变量,可以使用如下方式来直接把 CSS 内容加进去:
    :style , waterstyle
    

这样,本地使用 html 页面就会变得非常舒服,不会依赖于外部的 CSS 文件。