Customization
Muse 的项目树组织结构可以采用两种方式组织muse的项目结构
(setq muse-project-alist
`(
("Debian" ;项目名称
("~/muse/source/wiki/debian" ;源文件的位置
:default "index" ;默认的project的主页
:force-publish ("WikiIndex")) ;发布项目时同时发布project的索引文件
(:base "wiki-xhtml" :path "~/muse/publish/wiki/debian")) ;发布路径
("Emacs"
("~/muse/source/wiki/emacs"
:default "index"
:force-publish ("WikiIndex"))
(:base "wiki-xhtml" :path "~/muse/publish/wiki/emacs"))
("GNU"
("~/muse/source/wiki/gnu"
:default "index"
:force-publish ("WikiIndex"))
(:base "wiki-xhtml" :path "~/muse/publish/wiki/gnu"))
))
(setq muse-project-alist
`(
("Muse"
("~/muse/source/wiki/gnu/emacs/muse"
:default "MuseIndex"
:force-publish ("index"))
(:base "wiki-xhtml" :path "~/muse/publish/wiki/gnu/emacs/muse"))
("Debian"
("~/muse/source/wiki/gnu/debian"
:default "index"
:force-publish ("WikiIndex"))
(:base "wiki-xhtml" :path "~/muse/publish/wiki/gnu/debian"))
("Emacs"
("~/muse/source/wiki/gnu/emacs"
:default "index"
:force-publish ("WikiIndex"))
(:base "wiki-xhtml" :path "~/muse/publish/wiki/gnu/emacs"))
("GNU"
("~/muse/source/wiki/gnu"
:default "index"
:force-publish ("WikiIndex"))
(:base "wiki-xhtml" :path "~/muse/publish/wiki/gnu"))
("WiKi"
(,@(muse-project-alist-dirs "~/muse/source/wiki") ;源文件路径
:default "index" ;默认项目主页
:force-publish ("WikiIndex"))
,@(muse-project-alist-styles "~/muse/source/wiki" ;还是源文件路径
"~/muse/publish/wiki" ;发布路径
"wiki-xhtml"))
("Others"
("~/muse/source/others"
:default "index"
:force-publish ("WikiIndex"))
(:base "xhtml" :path "~/muse/publish/others"))
("Default"
(,@(muse-project-alist-dirs "~/muse/source/default")
:default "index"
:force-publish ("WikiIndex"))
,@(muse-project-alist-styles "~/muse/source/default"
"~/muse/publish"
"default-xhtml"))
))
;** Muse 的多级
Muse 的发布风格定制
Muse 的标签发布格式定制
Muse 发布拷贝所有资源文件夹在每个Muse的发布目录下建立一个资源文件夹res,当项目发布的时候自动将该 目录拷贝到相应的项目的发布目录上去法,这样做的好处是在编辑文件的时候可以 相对于Muse源文件目录浏览文件,而在发布的时候可以使用发布目录的文件。
需要定义一个拷贝函数:
(defun kid-muse-html-copy-attachements () (mapc #'(lambda (entry) (let ((src (car entry)) (dest (cdr entry))) (mapc #'(lambda (file) (let ((src-file file) (dest-file (concat dest "/" (file-name-nondirectory file)))) (if (file-newer-than-file-p src-file dest-file) (copy-file src-file dest-file t)))) (directory-files src t "^[^.]")))) ;we must exclude `.' and `..' kid-muse-html-attachment-directories)) (add-hook 'muse-after-project-publish-hook #'(lambda (proj) (if (string= (car proj) "wiki") (kid-muse-html-copy-attachements))))
然后在发布一个项目之前调用这个拷贝函数:
Wiki comments powered by Disqus