black hole
Museプロジェクト

単一プロジェクトの例

(setq muse-project-alist
      '(("Website" ("~/Pages" :default "index")
         (:base "html" :path "~/public_html")
         (:base "pdf" :path "~/public_html/pdf"))))

複数プロジェクトの例

(setq muse-project-alist
      '(("Website" ("~/Pages" :default "index")
         (:base "html" :path "~/public_html"))
        (("Projects" ("~/Projects" :default "index"
         (:base "xhtml"
                :path "~/public_html/projects"
                :exclude "/TopSecret")
         (:base "pdf"
                :path "~/public_html/projects/pdf"
                :exclude "/TopSecret")))
         ("Plans" ("~/Plans"
                   :default "TaskPool"
                   :major-mode planner-mode
                   :visit-link planner-visit-link)
          (:base "planner-xhtml"
                 :path "~/public_html/plans"))))

プロジェクト内のサブディレクトリの使用

あるディレクトリとそのサブディレクトリ全部をpublishしたいようなときに便利な関数があります。これらを利用した例は以下です。

(setq muse-project-alist
      `(("Website" (,@(muse-project-alist-dirs "~/Pages")
                 :default "index")
        ;; このディレクトリと配下のサブディレクトリをpublishする。引数
        ;; は以下の通り。このコメントの上にある
        ;; muse-project-alist-dirsの部分も必要。
        ,@(muse-project-alist-styles "~/Pages"
                                     "~/public_html"
                                     "html"))))

例の2行目、muse-project-alist定義の先頭文字は「'」(シングルクォート)ではなく「`」(逆クォート)なので注意してください。

この記述でMuseプロジェクトを設定すると、ホームディレクトリ直下のPagesディレクトリに含まれる全てのサブディレクトリでEmacs Museが使用できます。ホームディレクトリ直下のPages下のサブディレクトリmuseファイルから、ホーム下のpublic_htmlディレクトリ下のサブディレクトリにHTMLファイルが生成されます。

~/Pages/hogehoge/index.muse -> ~/public_html/hogehoge/index.html

使用している関数の機能は以下の通りです。

プロジェクトのオプション

未稿