用muse来定义自己风格的页面
文章目录
现在做Wiki的工具这么多,为什么还要用muse这样老土界面的东西呢?Muse其实有着许多的优点,归结起来,我觉得不外乎这么几个:
其一,你可以专注于写作,而不是排版,一旦你设计好了你的风格,你就可以一劳永逸了,写起来特别地快捷。
其二,用Muse写Wiki的成本很低。大多数个人发布页面,如果要用动态网站的形式,势必给自己添加许多维护上的麻烦。而Muse生成的html静态页面,容易托管和备份。当然,如果你是多人维护的页面或是Wiki,就另当别论了。
其三,Muse可以生成多种格式。你写的一份内容,不仅可以生成html页面,还能生成类似于pdf之类的其它文档,对于保存和发派你的作品,都十分的方便。
因为muse的配置比较长,所以我喜欢把muse配置代码全部放到emacs-muse.el里,在.emacs文件里导入这个文件来加载muse配置代码以及自定义样式的代码,这样可以方便编写调试,而且还能方便在命令行调用。
;; Emacs Muse
(load-file “~/emacs/site-lisp/emacs-muse.el”)
下面就讲一讲我在emacs-muse.el里的配置代码。
1) Muse的基本配置
定义一些基本的格式,没什么特别的。
(require ‘muse-mode) ; load authoring mode
(require ‘muse-html) ; load publishing styles I use
(require ‘muse-latex)
(require ‘muse-texinfo)
(require ‘muse-docbook)
(require ‘tp-muse-highlight nil t)
(require ‘muse-project) ; publish files in projects
2) 自定义自己的样式
Muse提供了函数muse-define-style来自定义格式,还有函数muse-derive-style来继承已定义的格式。本文就介绍一种自定义的HTML格式,所以只需要函数muse-derive-style来继承自HTML格式即可,这里我们定义了两个名为wiki-xhtml和default-xhtml的新格式,它继承自XHTML格式。
(unless (assoc “my-blosxom” muse-publishing-styles)
(muse-derive-style “wiki-xhtml” “xhtml” ;定义一个派生的style为wiki-xhtml
:header ‘muse-xhtml-header
:footer ‘muse-xhtml-footer
)
(muse-derive-style “default-xhtml” “xhtml” ;定义另一个派生的style
:header “~/muse/common/templates/default-header.html”
:footer “~/muse/common/templates/default-footer.html”
))
3) 多项目配置
在这里,我们配置了两个项目,一个是ArrAyWiki,另一个是个人主面的MyWiki。从语句中可以看出来,我们给ArrAyWiki配置的是Muse自带的html风格的模式,而给MyWiki配置的却是wiki-xhtml风格的模式。
(setq muse-project-alist
‘((“ArrAyWiki” (“~/ArrAyWiki” :default “index”)
(:base “html” :path “~/public_html/ArrAyWiki”)
(:base “pdf” :path “~/public_html/ArrAyWiki/pdf”))
(“MyWiki” (“~/MyWiki” :default “index”)
(:base “wiki-xhtml” :path “~/public_html/MyWiki”)
(:base “pdf” :path “~/public_html/MyWiki/pdf”))))
有关多项目配置的详细情况可以看一看我之前写的《Emacs Muse的多项目发布模式和命令》。在发布项目的时候,即muse-mode里C-c C-t的时候,对于MyWiki项目要记得用输入wiki-xhtml这个style来生成页面。
4) 具体定义风格
我们虽然在2)中已经定义了样式的名,但其实我们还没有真正的定义出样式的具体内容。我们现在就来对样式的具体内容作出定义,拿wiki-xhtml作为例子。我们可以先从http://www.dream-logic.com/下载我们喜欢的模板文件作为参考模板。
对于wiki-xhtml风格,我们只需要定义muse-xhtml-header和muse-xhtml-footer这两个变量,参考我下载的模板,我对这两个变量进行了如下的定义:
;;;; muse xhtml header
(setq muse-xhtml-header ”<!– change this to the title you want to appear in browser title bar –>
Water Lin “)<!– the title that appear in the page header –>
Water Lin
Sea made by Water Drop\n “);;;; muse xhtml-footer
(setq muse-xhtml-footer ”
<!– end page content –>
在这里,注意所以的**“号都要用”**来转义。
到这里,Muse的基本配置就算结束了。试着在你的muse文件里,M-x muse-project-publish-this-file试一试看。
文章作者 cookwhy
上次更新 2008-10-20