Next: , Previous: Multiple Projects, Up: Projects


6.3 Publishing Subdirectories in Projects

If you want to publish a directory and all of its subdirectories, Muse provides two convenience functions that together generate the proper rules for you. Note that we use the backtick to begin this muse-project-alist definition, rather than a single quote.

     (setq muse-project-alist
           `(("Website" ("~/Pages" :default "index")
              (:base "html" :path "~/public_html"))
             ("Blog" (,@(muse-project-alist-dirs "~/Blog")
                      :default "index")
              ;; Publish this directory and its subdirectories.  Arguments
              ;; are as follows.  The above `muse-project-alist-dirs' part
              ;; is also needed.
              ;;   1. Source directory
              ;;   2. Output directory
              ;;   3. Publishing style
              ;;   remainder: Other things to put in every generated style
              ,@(muse-project-alist-styles "~/Blog"
                                           "~/public_html/blog"
                                           "blosxom"))))

The muse-project-alist-dirs function takes a directory and returns it and all of its subdirectories in a list.

The muse-project-alist-styles function is explained by the comments above.

The “blosxom” text is the name of another publishing style, much like “html”. See Blosxom, for further information about it. You can use any publishing style you like for the third argument to muse-project-alist-styles.