Release Emacs Muse 3.02.01.
[muse-el.git] / NEWS
blob853eb6929715e5217acdbea2e2d30be0c6718516
1 Emacs Muse NEWS --- History of user-visible changes    -*- outline -*-
3 * Changes in Muse 3.02.01
5 ** Configuration
7 *** `muse-project-alist' -- This variable should now save customizations
8 to the correct form in the .emacs file.  Before, it was saving an
9 intermediate form of the variable.
11 If you have used the customize interface in the previous release of
12 Muse to set `muse-project-alist', please do the following to import
13 your settings.
15  - Open your .emacs file.
16  - Move the point to where `muse-project-alist' is set.
17  - Type `M-: (setq muse-project-alist-using-customize t) RET'.
18  - Type `C-M-x'.
19  - Type `M-x customize-save-variable RET muse-project-alist RET'.
21 *** `muse-project-alist' -- A bug involving the deleting of items
22 using Emacs21 and XEmacs21 has been fixed.
24 ** Muse Mode
26 *** Links should no longer prevent moving the point, and help text for
27 links should no longer cause errors to occur.
29 ** Publishing
31 *** If 2 or more blank lines separate list or table items, each item
32 will be published in a separate list or table.
34 *** The #date directive is now populated by default with the last
35 modified time of each file, rather than the current time of day.  To
36 use this value, add '<lisp>(muse-publishing-directive "date")<lisp>'
37 to your header or footer.
39 ** HTML publishing
41 *** `muse-xhtml-style-sheet' -- New option that indicates the style
42 settings to use for XHTML documents.  This may be either a filename or
43 a string of stylesheet settings.
45 * Changes in Muse 3.02
47 ** New modules
49 *** muse-wiki.el --- Provide automatic linking for WikiWords and
50 InterWiki links.  These words are clickable and publish as links.
51 Project names from `muse-project-alist' are available for InterWiki
52 linking by default.  The list of InterWiki names and handlers may be
53 customized through `muse-wiki-interwiki-alist'.
55 WikiWords that do not correspond with real files will not be displayed
56 as links nor published as links.  It is expected that this behavior
57 will be made optional in future versions of Muse.
59 **** This module includes a few helper functions that may be added to
60 `muse-publish-desc-transforms' in order to modify link descriptions at
61 publish time.
63 **** The concept of "implicit links" and "explicit links" has been
64 introduced.  Explicit links are surrounded by brackets, i.e.
65 [[http://blah.org][this is a explicit link]].  Implicit links are URLs
66 and email addresses that are not surrounded by brackets: they will not
67 be colorized or published if surrounded by double-quotes.
69 ***** `muse-wiki-publish-pretty-title' causes words to be Title-cased,
70 ignoring words like `the' and `at' which should not be changed.
72 ***** `muse-wiki-publish-pretty-interwiki' changes the delimiter of
73 interwiki links according to the text of the
74 `muse-wiki-interwiki-replacement' option.
76 *** muse-protocols.el --- URL protocols that Muse recognizes.
77 This automatically-included module provides an easily customizable
78 list of URL protocols, how to browse them, and how to resolve them for
79 publishing.  Customize `muse-url-protocols' to add and remove
80 protocols.
82 ** Compatibility fixes
84 *** Muse has been tested with XEmacs 21.4, both Mule and non-Mule versions.
85 There are no known problems remaining.  To make things work by
86 default, the iso-8859-1 charset is used as a default option in some
87 places.
89 ** Configuration
91 *** `muse-file-extension' -- New option that allows the file extension
92 for Muse files to be specified.  For example, setting this to "muse"
93 assumes that you have renamed your Muse files with a ".muse"
94 extension.  Using this (and setting `muse-mode-auto-p' to nil) will
95 prevent miscellaneous non-Muse files from being accidentally opened in
96 Muse Mode.
98 *** `muse-ignored-extensions' -- New option that determines which file
99 extensions to omit from the ending of a Muse page name.
101 *** `muse-ignored-extensions-regexp' -- This is no longer customizable.
102 It will be automatically generated from `muse-file-extension' and
103 `muse-ignored-extensions'.
105 *** `muse-project-alist' -- The customize interface for this option has
106 been greatly improved, and much effort has been spent in order to make
107 this user-friendly.
109 *** The `:force-publish' tag may be specified in `muse-project-alist'.
110 This causes a particular list of files to be re-created every time the
111 publishing process is invoked, even if they haven't been changed
112 according to their timestamps.  One use for this is to keep an index
113 of available pages by adding the following to a file in this list.
115 <lisp>(muse-index-as-string t t t)</lisp>
117 *** `muse-project-ignore-regexp' -- By default, version control directories
118 are now included in this regexp so that they don't appear when you hit
119 C-c C-f to browse files in a project.
121 *** The `muse-project-alist-styles' and `muse-project-alist-dirs' functions
122 may be used in `muse-project-alist' to recursively add styles and
123 directory listings for a given directory.  The following is an
124 example.  We use a backtick instead of a single quote to begin the
125 list.
127 (setq muse-project-alist
128       `(("Blog"
129          (,@(muse-project-alist-dirs "~/proj/wiki/blog")  ;; base dir
130           :default "guestbook")
132          ,@(muse-project-alist-styles "~/proj/wiki/blog"  ;; base dir
133                                       ;; output dir
134                                       "~/personal-site/site/blog"
135                                       ;; style
136                                       "my-blosxom"))))
138 Note that if you use the customize interface for `muse-project-alist',
139 you will still have to manually add information for any new
140 sub-directories.
142 ** Debian packaging
144 *** Debian packages for Muse have entered Debian unstable, thanks
145 to Romain Francoise, my sponsor.
147 It is possible to roll your own Muse packages if you want to do so.
148 Packages may be built by using `make debrelease', once the proper
149 options in Makefile.defs are set.  Revisions may be built using `make
150 debrevision'.
152 The manual and relevant documentation files have been included with
153 the Debian package for Muse.
155 ** Muse Mode
157 *** Allow use of Muse with outline-minor-mode.
159 *** Filling text does the right thing with list items and footnotes.
160 List items and footnotes will no longer be concatenated when hitting
161 M-q in the midst of consecutive items.
163 *** Links will never be split in the middle when using Fill.
165 *** Some flyspell crash issues were addressed.
166 Using intangible text can cause strange problems with flyspell mode.
167 Hence, by default, the intangible property will be ignored.  A new
168 option called `muse-mode-intangible-links' indicates whether this
169 should be the case.
171 *** Links will no longer be highlighted by flyspell.
172 If you're using XEmacs or Emacs 22, flyspell will ignore links,
173 including link text.  This keeps flyspell from making the links
174 unclickable.  If you're using Emacs 21, flyspell will continue to
175 interfere with links.  If you know how to fix this, please send a
176 patch!
178 *** A few edge cases for emphasis and underlining have been addressed.
180 *** <example>, <verbatim>, and =surrounded text= are now colored using
181 the new face `muse-verbatim-face'.
183 *** All marked up text properties, like emphasis and underlining,
184 will be removed for the text between <example>, <verbatim>, <code>,
185 <literal>, and <lisp> tags.
187 *** Links to temporary files may be visited.
188 A "temporary file" in this case is a buffer that is not associated
189 with any file.  For some dynamic content import scripts with Planner,
190 this is helpful.
192 *** Typing "#title" should never crash Emacs anymore.
194 ** Muse manual
196 *** Fix problem with producing a PDF version of the manual.
198 *** Document WikiNames.
200 *** Bring up-to-date with latest features.
202 *** Massively update Common Elements section.
204 *** New Directives section.
205 This describes the use of #title and #author, as well as other
206 directives that may be used.
208 *** New Comments section.
209 Describes the use of "; comment text".
211 ** Publishing
213 *** The order of rules should be much improved.
214 This means that emphasis characters like `*' and `_' will never be
215 interpreted as such if they are within links.
217 *** The user will be notified when `muse-publish-this-file' fails to
218 publish the current file.  This happens when the timestamp of the
219 current file indicates that it is up-to-date.
221 *** Special characters are escaped in link descriptions and links on a
222 more consistent basis.  What defines a "special character" varies
223 according to the publishing style.
225 *** Errors that occur during publish time will cause a warning to be
226 displayed prominently, rather than being ignored.  It should no longer
227 be possible to mess up a Muse source file by tweaking the Muse
228 publishing process.
230 *** Errors in <lisp> tags cause a warning to be displayed and
231 return "<!--INVALID LISP CODE-->".  Muse will try to continue
232 publishing the page.
234 *** An emdash ("--") can now be used after a list, as long as there is
235 a blank line between the end of the list and the emdash.
237 *** The <code> tag has been introduced.
238 It does the same thing that =equal signs= do: escape specials and
239 publish as teletype text.  Use it for short command snippets and the
240 like.  <example> is a better choice for large blocks of code, since it
241 preserves whitespace.
243 *** An edge case involving links at the beginning of a paragraph
244 has been addressed.
246 *** An edge case involving consecutive directives of the same size
247 has been addressed.
249 *** Every publishing style is now capable of specifying strings to use
250 for sections beyond the third level.
252 *** Every publishing style may specify an end-of-section string.
253 This is used, for example, by the experimental XML style and the
254 DocBook style.
256 *** Every publishing style may specify a method of handling "internal
257 link" markup.  An internal link is a link that refers to an anchor on
258 the current page.
260 *** Every publishing style may specify a link suffix to use.
261 This allows the file extensions in links to other Muse files to be
262 different from their actual extension.  Blosxom makes use of this
263 (since its published files are .txt and the dynamically-generated
264 output is .html), and it could come in handy for PHP stuff.
266 If a link suffix is not specified via :link-suffix, the value of
267 :suffix will be used.
269 ** Blosxom publishing
271 *** muse-blosxom-new-entry: A #category directive is added by default.
272 Nothing is done with this yet, but it could be handy for tag-based
273 (multiple category) blogging, once we figure out a good way to do that
274 in both Muse and Pyblosxom.  Ideas are welcome, and patches even more
277 ** DocBook publishing
279 *** The markup has been comprehensively improved.
280 Published documents will now pass validation tests and look better in
281 general.
283 *** It is now possible to specify the encoding of DocBook documents.
284 The default encoding is utf-8.
286 *** Footnotes will be embedded into paragraphs, since this is
287 The DocBook Way.
289 *** Tables will be sorted by section.
290 Headers first, then footers, then the rest of the table.
292 *** Anchors are now handled correctly and publish to the best available
293 form.  Links to anchors are published with the <link> tag.
295 ** HTML publishing
297 *** Fix minor issue with anchors.
299 *** Paragraph publishing will no longer insert <div> tags before images.
300 This was causing too much hassle for some programs that were trying to
301 extend Muse, like the Muse port of Planner.
303 *** The `&', `<', and '>' characters will be escaped using their specific
304 HTML escape codes, rather than with "&#NNN;".  This makes the
305 published output display correctly in more web browsers.
307 *** Use HTML 4.0 Transitional by default for `muse-html-header'.
309 *** Include empty alt element in markup string for images that lack a
310 description.
312 *** Tables will be sorted by section.
313 Headers first, then footers, then the rest of the table.
315 *** `muse-xhtml-extension' -- The default extension for XHTML publishing.
316 This is a new option.
318 ** Journal publishing
320 *** Use "div class=..." rather than "div id=..." for sections.
322 ** LaTeX publishing
324 *** A newline will be appended to the default footer for the latex and
325 latexpdf publishing styles.  This keeps the PDF-building process from
326 failing due to lack of a newline at end of file.
328 *** Anchors and links to them now work properly.
330 *** When generating PDF files, call pdflatex twice.
331 This should ensure that the table of contents gets generated, if one
332 is due to be published.
334 *** PDF files with spaces may be published.
335 A bug preventing this has been fixed.
337 *** Teletype text is now published using \\texttt{...}.
339 *** An attempt has been made to escape special characters more
340 consistently.
342 ** TexInfo publishing
344 *** Fix a fatal error that occurs when publishing tables.
346 *** Generate the contents in the header by default rather than the footer.
347 This is the way that most TexInfo manuals do it.
349 *** The info-pdf publishing style currently produces the best PDF output
350 on the maintainer's machine, so it is now used to publish the PDF
351 version of the Muse Manual.
353 *** The characters `{' and `}' will be treated as special characters that
354 need to be escaped at publish-time.
356 *** Improve dots and enddots markup strings.
358 *** Surround underlined text with "_" since TexInfo doesn't seem to have
359 any better options for producing underlined text.
361 *** Anchors and links to them now work properly.