6.4 Listing of Available Options for Projects
This is a listing of all of the various options (or, more accurately:
attributes) that may be specified in muse-project-alist
.
Each muse-project-alist entry looks like this:
(PROJECT-NAME (SOURCES)
OUTPUTS)
We refer to these names below.
“Attributes”, which compose SOURCES and OUTPUTS, are a pair of values.
The first value is a keyword, like :default. The second part
is the value associated with that keyword, such as the text “index”.
If you are familiar with Emacs Lisp property lists, the concept is
similar to that, except that in the SOURCES section, single directories
can be interspersed with two-value attributes.
Project Name
This is a string that indicates the name of the project. It is
primarily used for publishing interwiki links with the
muse-wiki.el module.
Sources
This part of a muse-project-alist entry consists of two-value
attributes, and also directory names. If you are publishing a book, the
order of directories and attributes is significant.
The minimal content for the sources section is a list of directories.
- :book-chapter
- Indicates a new chapter of a book. The text of the title of the chapter
comes immediately after this keyword.
- :book-end
- Indicates the end of a book. Directories listed after this one are
ignored when publishing a book. The value “t” (without quotes) should
come immediately after this keyword.
- :book-funcall
- A function to call while publishing a book. This is useful for doing
something just after a particular chapter.
- :book-part
- Indicates the beginning of a new part of the book. The text of the
title should come immediately after this keyword.
- :book-style
- Indicate a particular publishing style to use for this part of the book.
If this is specified, it should come just after a :part
attribute.
- :default
- The default page to visit when browsing a project. Also, if you are
using the muse-wiki.el module, publishing a link to just a
project's name will cause it to link to this default file.
- :force-publish
- This specifies a list of pages which should be published every time a
project is published (by using C-c C-p, for example), regardless
of whether their contents have changed. This is useful for updating
Index pages, pages that use the <include> tag, and other pages
that have dynamically-generated content.
- :major-mode
- This specifies the major mode to use when visiting files in this
project. The default is
muse-mode
.
- :nochapters
- This indicates that while publishing a book, do not automatically create
chapters. Values which may follow this are nil (the default, which
means that we automatically create chapters), or non-nil, which means
that we manually specify chapters with the :book-chapter
attribute,
- :publish-project
- Indicates which function we should call when publishing a project.
- :set
- This specifies a list of variables and values to set when publishing a
project. The list should be a property list, which is in the form:
(VAR1 VALUE1 VAR2 VALUE2 ...)
- :visit-link
- Specifies the function to call when visiting a link. The default is
muse-visit-link-default
. The arguments for that function should
be (1) the link and (2) whether to visit the link in a new window.
Outputs
This part of a muse-project-alist entry is composed of lists of
attributes. Each list is called an “output style”.
The minimal content for an output style is a :base attribute
and a :path attribute.
- :base
- Publishing style to use, such as “html”, “docbook”, or “pdf”.
- :base-url
- An external URL which can be used to access published files. This is
mainly used by the muse-wiki module when publishing links between
two separate projects, if the projects are served on different domains.
It is also used by the muse-journal module to create the RSS or
RDF output.
- :exclude
- Exclude items matching a regexp from being published. The regexp should
usually begin with "/".
- :include
- Only include items matching a regexp when publishing. The regexp should
usually begin with "/".
- :path
- The directory in which to store published files.
- :timestamps
- A file containing the timestamps (that is, time of creation) for files
in this project. It might eventually used by the muse-blosxom
module, but this option is not currently in use by any Muse code.