Display prominent warning for malformed muse-project-alist entries
[muse-el.git] / NEWS
blobd70857cf17043d1045a5848515baaa53df509671
1 Emacs Muse NEWS --- History of user-visible changes    -*- outline -*-
3 * Changes in Muse 3.03 (not yet released)
5 ** Core functionality (lisp/muse.el)
7 *** Fix an XEmacs beta byte-compiler issue.
9 *** Make nested list manipulation accessible to both Muse Mode
10 and Muse publishing.
12 *** Fix failure to recognize the .muse file extension.
13 Handle the case where the user customizes the file extension.
15 *** It is now easier to indicate that Muse should not use a file
16 extension.  Just do the following.
18 (setq muse-file-extension nil
19       muse-mode-auto-p t)
21 *** Allow tab characters in explicit links.
23 *** Escape brackets in links, and then un-escape them when displaying
24 the link in a buffer of publishing it.  This allows brackets to be
25 safely used in link descriptions and links, as long as you use `C-c
26 TAB l', `C-c TAB u', `C-c C-e', or automatic Planner annotations.
28 *** Ensure that no recursive load situation can take place.
30 ** Blosxom publishing (lisp/muse-blosxom.el)
32 *** New option: muse-blosxom-use-tags.
33 This specifies whether or not we are using tags.  Tags allow a page to
34 belong to multiple categories, but they do not rely on the directory
35 structure for categorization.
37 *** Use `find-file' as the browsing function.
39 *** Improve internal documentation for the included pyblosxom plug-ins.
41 *** New example script: contrib/pyblosxom/make-blog.
42 This shows how to invoke contrib/pyblosxom/getstamps.py.
44 ** Book publishing (lisp/muse-book.el)
46 *** It is now possible to publish a book using a muse-project-alist entry.
47 See the "Book" section of the manual for details and an example.
49 ** DocBook publishing (lisp/muse-docbook.el)
51 *** A bug with multiple-stanza verses has been fixed.
53 ** HTML publishing (lisp/muse-html.el)
55 *** Make sure spaces in URLs get escaped properly.
57 *** Make the Table of Contents CSS easier to customize.
58 For an example, see examples/mwolson/stylesheets/screen.css.
60 *** Make Table of Contents publishing work with Planner.
62 *** Fix a paragraph detection bug for paragraphs that occur after
63 verses.
65 *** New tag: <src>
66 This tag is used to colorize (using HTML) source code of any language
67 for which Emacs has a mode available.  The "lang" attribute determines
68 the mode to call on the region.  Muse will look for the LANG-mode
69 function, call it, and then call htmlize.  You will need htmlize 1.34
70 or later for this to work.
72 If a non-HTML publishing style is used, this will be published the
73 same as an <example> region.
75 ** Importing LaTeX documents (lisp/muse-import-latex.el)
77 *** Rename from muse-convert.el, since Muse can now import
78 other formats as well.
80 ** Journal (lisp/muse-journal.el)
82 *** New option: muse-journal-rss-heading-regexp.
83 Determine the regexp to use when searching for an RSS heading.
85 *** Make sure that the date is in a format that RSS readers
86 can handle.
88 ** LaTeX publishing (lisp/muse-latex.el)
90 *** Improve escaping of specials.
92 *** Use \label{} and \ref{} for anchors and anchor references.
94 *** Emphasize table elements.
96 *** Improve table generation.
98 *** Use \url{} to publish bare URLs.
100 *** Handle case where a Muse page begins with a quote character.
102 *** Display footnotes when we have both a URL and description.
103 This makes the URLs show up on printed documents in a sensible
104 fashion.
106 *** Escape the "@" character in the entire document.
108 *** Make images take up 75% of the width of the page.
110 *** New option: muse-latex-permit-contents-tag.
111 This specifies whether we should take action on the <contents> tag.
113 *** Allow for definitions to be separated from their terms,
114 much like the way HTML does it by default, if the user puts a blank
115 line or a line break between the term and the definition.
117 If the term and definition are on the same line, they will be that way
118 in the output as well.
120 *** Publish comments using the "%" character, rather than a custom
121 Latex command.
123 ** Publish embedded LaTeX content to a PNG file (lisp/muse-latex2png.el)
125 *** The <latex> tag has been modified to work with styles
126 other than just HTML.  It will even leave the region alone if you are
127 publishing a Latex-based publishing style.
129 *** New tag: <math>
130 The <math> tag acts similarly to the <latex> tag, except that it
131 surrounds the region with "$" characters first, and makes the
132 resulting image inline.
134 ** Muse Manual (muse.texi)
136 *** Re-license under the GFDL instead of the GPL.
137 The rationale for this is that Muse may one day be included with
138 Emacs, so it should use the same manual license that Emacs itself
139 uses.  At this point, the matter is not open to debate, unless the FSF
140 brings it up.
142 *** Use better style for subsections.
144 *** Make sure the PDF file for the manual is properly generated.
146 *** Implicit Links
148 **** Mention how to customize the WikiName recognition.
150 *** Extending Muse
152 **** Move "Common Elements" and "Deriving Styles" chapters here.
154 ** Muse Mode (lisp/muse-mode.el)
156 *** `C-c TAB' now inserts an object, prompting the user for which type.
157 `C-c TAB l' inserts a relative link.
158 `C-c TAB t' inserts a Muse tag.
159 `C-c TAB u' inserts a URL.
161 These keybindings may be modified by editing `muse-insert-map'.  Note
162 that the prompt you get when you hit `C-c TAB' will not change.
164 *** New list-oriented keybindings:
165 `M-RET' inserts a list item.
166 `C->' increases list item indentation.
167 `C-<' decreases list item indentation.
169 *** Slightly improvement speed of flyspell integration
171 *** Implement searching through Muse files.
173 **** `C-c C-s' performs a search through Muse files.
175 **** New option: muse-grep-command.
176 Customize this to specify the command used for searching.  In
177 particular, "glimpse" is handy.  Check the documentation for this
178 command for details.
180 *** Changed keybindings:
181 `C-c C-b' is now `muse-find-backlinks'
182 `C-c C-v' is now `muse-browse-result'
184 *** Remove the C-c C-c keybinding, since it conflicts with other
185 modes like Planner.
187 *** Don't require muse-publish.el, since publishing and viewing Muse
188 files are supposed to be completely separable.
190 *** Speed up searching for next and previous references.
192 *** Make filling definition lists work better.
194 *** Make editing existing links with `C-c C-e' work better.
196 *** Make browsing the resulting page with `C-c C-v' work better.
198 *** Don't throw an error if doing flyspell or following link at
199 beginning of buffer.
201 *** When publishing a file with `C-c C-t', consult muse-project-alist
202 and use its publishing styles to intelligently prompt the user as to
203 the publishing style and output directory.
205 The old behavior of allowing the file to be published anywhere and
206 with any style has been moved to `C-c C-T'.
208 *** Clicking `mouse-2' now does the right thing when
209 mouse-yank-at-point is non-nil.
211 ** Muse Mode highlighting (lisp/muse-colors.el)
213 *** New option: muse-colors-inline-images.
214 This determines whether or not to inline an image.  The default is to
215 enable this behavior.
217 **** `C-c C-i' toggles whether images are inlined.
219 **** New option: muse-colors-inline-image-method.
220 This determines how to find an image that we want to inline.  The
221 default is to look in the current directory.  If set to
222 'muse-colors-use-publishing-directory, it will look in the directory
223 where the current page will be published.
225 *** Make faces conform the namespace better.
226 `muse-link-face' is renamed to `muse-link'.
227 `muse-bad-link-face' is renamed to `muse-bad-link'.
228 `muse-verbatim-face' is renamed to `muse-verbatim'.
230 *** Handle muse-emphasis faces better.
232 *** Make links blue by default, like most other Emacs modes do.
234 *** Source-level change: The regexps in `muse-colors-markup' are now
235 permitted to have non-shy groupings.
237 ** New modules
239 *** lisp/muse-backlink.el -- Provide backlink support for Muse.
241 *** lisp/muse-groff.el --  This introduces the publishing styles
242 "groff" and "groff-pdf".
244 *** lisp/muse-import-docbook.el -- Convert Docbook XML into Muse format.
246 *** lisp/muse-import-xml.el -- Helper file for muse-import-docbook.el.
248 *** lisp/muse-latex2png.el -- Publish embedded LaTeX content to a PNG file.
249 This introduces the <latex> tag.
251 *** lisp/muse-xml-common.el -- Common functionality used by XML-based
252 publishing styles, such as HTML, XML, and DocBook.
254 *** experimental/muse-mathml.el -- This introduces the "mathml"
255 publishing style and the <mathml> tag.
257 *** experimental/muse-protocol-iw.el: Implements a simpler URL-like
258 interwiki protocol that handles subdirectories.
260 *** experimental/muse-split.el -- Splits published Muse files into several
261 smaller files.
263 ** Project settings (lisp/muse-project.el)
265 *** Introduce the `with-muse-project' macro, which makes it easier
266 to switch to a given Muse project and execute some code.
268 *** Fix an error with `custom-quote'.
270 *** Ignore buffers that have no associated filename.
271 This fixes an annoyance where Muse prompts to save BBDB and ERC
272 buffers before publishing.
274 *** If we cannot find a project to publish, indicate this in an
275 error message.  This fixes an infinite loop.
277 *** Update the file-alist whenever a Muse file is saved.
279 *** Prevent infinite recursion when updating the file alist.
281 *** In addition to Arch and CVS metadata directories, also ignore
282 these for Darcs and SVN.  Also, don't erroneously ignore files with
283 "#" in them.
285 *** Make links to subdirectories work.
286 The idea is to include as much of the path that is needed in order to
287 disambiguate the link.  For example: "web/TestPage".
289 *** New variable: muse-current-output-style.
290 This holds the output style that is currently being used to publish a
291 file.
293 *** Permit non-Muse files in projects to be linked to.
295 *** Handle relative links to other Muse pages.
296 Relative links are prefixed with "./" or "../".
298 *** New option: muse-project-publish-private-files
299 If this is non-nil (the default), files will be published even if they
300 have "o-r" permissions set (that is, if no one except the owner and
301 possibly group are allowed to read them).  To get back the old
302 behavior, set this to nil.
304 *** Publishing functions can now be customized on per-project basis
305 You can now use :publish-project and :publish to specify what function
306 to call for publishing entire projects or just a single file.
307 :publish-project is meant to be specified in the first part of a
308 project entry, along with the directories.  :publish is meant to be
309 used in a (optionally derived) publishing style: after specifying such
310 a style, use its name in the latter part of a project entry.
312 ** Publishing (lisp/muse-publish.el)
314 *** Implement escaping of specials throughout the entire document.
315 This makes it much easier to publish documents to multiple kinds of
316 formats, since you no longer have to worry about putting <verbatim>
317 around specials.
319 *** Make escaping of specials context-sensitive.
320 Muse now realizes that URLs, normal document text, <example> regions,
321 and the like have different special characters to escape.
323 *** Distinguish links and footnotes better.
325 *** Simplify markup string for anchors.
327 *** Allow text like "%N%" in markup strings.
328 This makes it much easier to re-use the same text or put strings in
329 a different order.
331 *** Support nested lists.
332 Muse now determines the nested level of a list by its initial
333 whitespace.  Ordered lists, unordered lists, and definition lists can
334 all be nested.  It is even possible to force a line break in a list
335 item by inserting a blank line on the same level between the lines.
336 Blockquotes may also be nested inside of a list.
338 *** Create parent directories when publishing for the first time.
340 *** Allow empty elements in tables.
342 *** Allow initial and trailing whitespace in tables, but strip it
343 out of the published result.
345 *** Handle case where we are trying to publish a file that has not
346 been saved.
348 *** Handle nested emphasis types better.
349 It should now publish exactly the way it looks in Muse Mode.
351 *** Fix XEmacs issue where text at beginning of buffer is read-only.
353 *** Allow publishing styles to specify a function to use for
354 escaping specials in a particular context.  This is especially handy
355 for HTML URLs, since they have a larger subset of special characters
356 than normal characters.
358 See `muse-xml-decide-specials' in muse-xml-common.el for details.
359 This functionality already exists for escaping specials in strings.
361 *** Fix an infinite loop problem.
363 *** Preserve whitespace around emdash.
364 This allows for more flexibility, since some people seem to prefer to
365 have the emdash directly against the surrounding text, while others
366 like it to be spaced.
368 *** If the #disable-tables publishing directive exists on the current
369 Muse page, do not generate a table.
371 *** Don't give an error when trying to define or derive an existing
372 style.  Just replace it.
374 *** Get rid of a warning that occurs when batch publishing.
376 *** Ignore list items that are part of higher-priority constructs
377 like emphasis.
379 *** Don't markup emdash in a link, since otherwise it will be
380 incorrectly escaped.
382 *** Improve the published descriptions for implicit links and explicit
383 links with no provided description.
385 *** Require at least once space after "::" in definition lists, so
386 we avoid an ambiguity with interwiki link syntax.
388 *** For headers and footers, use a better algorithm to detect whether
389 we have been given a filename or the real contents.
391 *** New option: muse-publish-markup-header-footer-tags.
392 This specifies which tags may be used when publishing headers and
393 footers.
395 *** New option: muse-publish-contents-depth.
396 This specifies the maximum depth of headings to include with
397 <contents> tags.
399 *** Allow `muse-publish-markup-buffer' to work even if the buffer
400 is not associated with a file.
402 *** Fix a compilation bug with XEmacs beta.
404 *** Allow the <lisp> tag to take the "markup" attribute.
405 see the Tag Summary section in the manual for details.
407 *** Publish image links with descriptions as captioned images.
408 This has been implemented for all Muse publishing styles.
410 The major change is that image links with descriptions will be
411 centered and the description will be displayed just below the image as
412 a "caption".  Thus, it is meant to only be used as its own paragraph,
413 not surrounded by other text.  Images without descriptions may still
414 have surrounding text.
416 *** Source-level change: Use 'image instead of 'image-link to indicate
417 images without descriptions.  Use 'image-link instead of
418 'url-with-image to indicate URLs that have an image as their
419 description.
421 *** Self-nested tags are now supported.
422 Tags with the same name can now be nested inside one another.  This
423 only applies to the new <quote> tag and the <class> tag currently, but
424 it may be useful for custom tags as well.
426 To activate this, set the 4th element in a `muse-publish-markup-tag'
427 to non-nil.  Note that this involved a change to the structure of
428 `muse-publish-markup-tag', so be sure to change any custom tags
429 appropriately.
431 *** Fix bug with WikiName link descriptions and PDF output.
433 *** New convenience function: muse-style-derived-p
434 The new muse-style-derived-p function allows you to make custom tags
435 or inline <lisp> code that acts differently depending on whether the
436 current style is derived from (or equal to) another style.
438 For an example of its use, see `muse-publish-latex-tag' in
439 lisp/muse-latex2png.el.
441 *** New tags, see the Tag Summary section in the manual for details
443 **** <comment> -- Designate entire regions as comments.
445 **** <include> -- Insert the given file at publish time.
447 **** <markup> -- Mark up the text between the initial and ending tags.
449 **** <perl> -- Evaluate perl code.
451 **** <python> -- Evaluate python code.
453 **** <quote> -- Publish the region as a blockquote.
455 **** <ruby> -- Evaluate ruby code.
457 ** Texinfo publishing (lisp/muse-texinfo.el)
459 *** Escape commas in URLs.
461 *** Make it so that links to other info or PDF documents use the proper
462 suffix.
464 ** URL protocols (lisp/muse-protocols.el)
466 *** Add support for DOI's.
467 DOI's (digitial object identifiers) are a standard identifier used in
468 the publishing industry.
470 *** Add support for "dict:" URLs.
471 This is used to look up terms on the Wikipedia website.
473 **** New option: muse-wikipedia-country.
474 This specified the country code to use for Wikipedia.
476 ** Wiki (lisp/muse-wiki.el)
478 *** If the document does not have a valid title string, use the
479 empty string.
481 *** Fix some bugs.
483 *** New option: muse-wiki-wikiword-match-project-files.
484 Whether to extend WikiName functionality to also match
485 existing filenames, regardless of whether they are named in
486 WikiWord format.
488 If non-nil, Muse will color and publish implicit links to any
489 file in your project.  The default is nil.
491 *** Match filenames in the project before the general WikiWord
492 regexp.
494 *** Take the value of `muse-wiki-hide-nop-tag' into account.
496 *** New option: muse-wiki-ignore-implicit-links-to-current-page.
497 Whether to ignore implicit links to the current page.
499 If non-nil, Muse will not recognize implicit links to the current
500 page, both when formatting and publishing.
502 *** For interwiki links, prefer files that have the same file extension
503 as the current file.
505 *** Check the entire explicit link for a project name or complete
506 interwiki link, not just part of it.  This allows page names with
507 invalid WikiName characters to be referred to by using an explicit
508 link.
510 ** XML publishing (lisp/muse-xml.el)
512 *** Update examples/muse.rnc to handle nested list items.
514 *** Fix table generation when some attributes are not given.
516 * Changes in Muse 3.02.8
518 ** Building Muse
520 *** Compile the contents of the contrib directory.
522 *** The debian/ directory has been moved into its own branch.
523 It is now available at mwolson@gnu.org--2006/muse--debian--0.
525 *** Further parametrize the build system, so that it can be easily
526 used by other Emacs Lisp projects.
528 *** Include autoloads file (lisp/muse-autoloads.el) with releases.
530 ** CGI library (contrib/cgi.el)
532 *** Make this not depend on cl.el at runtime.
534 *** Re-add the example calendar application.
536 ** HTTP daemon (contrib/httpd.el)
538 *** Update this to work with newer versions of Emacs.
540 * Changes in Muse 3.02.7
542 ** Muse Mode highlighting (lisp/muse-colors.el)
544 *** Fix bug that caused Muse not to work with recent builds of Emacs 22.
546 * Changes in Muse 3.02.6
548 ** Building Muse
550 *** Autoloads for Muse are now generated in the muse-autoloads.el
551 file at build time.
553 ** HTML publishing (lisp/muse-html.el)
555 *** Don't escape "%" and "+" in URLs.
557 ** Muse Mode (lisp/muse-mode.el)
559 *** <lisp> tags are now evaluated at display time.
560 The actual contents of the buffer will not change, just the displayed
561 text.  To toggle this behavior, set `muse-colors-evaluate-lisp-tags'.
563 ** Publishing (lisp/muse-publish.el)
565 *** When errors happen during publishing, a more explanatory message
566 is displayed.
568 *** It is now possible to specify non-breaking-space with "~~"
569 (two tildes).  This helps prevent proper names from being split up in
570 the output.
572 *** Escape specials in all forms of emphasis.
574 *** Escape "[" and "]" in links that are entered using muse-make-link.
576 *** Errors from invalid lisp code in a <lisp> tag will be published
577 as a comment.  If you have `muse-publish-comments-p' set to nil, the
578 effect is to remove the error message.
580 *** Fix several publishing issues involving comments and numbered lists.
582 ** Wiki (lisp/muse-wiki.el)
584 *** Interwiki links in extended links that have special characters are
585 now handled properly.
587 ** XML publishing (lisp/muse-xml.el)
589 *** The XML publishing style is now considered stable.
590 Its schema is available in `examples/muse.rnc'.
592 * Changes in Muse 3.02.5
594 ** LaTeX publishing (lisp/muse-latex.el)
596 *** Use a better algorithm for determining how many times we need to
597 call pdflatex for publishing.  Anything with a Table of Contents needs
598 2 passes.
600 ** Muse Mode (lisp/muse-mode.el)
602 *** The 3 levels of emphasis now have corresponding muse-emphasis-N faces.
603 This permits the user to customize them, which may be useful if a font
604 does not have italic and/or bold versions.
606 *** Visiting pages with anchors works better.
608 *** Fix fill bug with semicolons in the middle of paragraphs.
610 *** Fix a bug with editing the link at point.
612 *** Fix a display bug with text like =<verbatim><example></verbatim>=.
614 ** Project settings (lisp/muse-project.el)
616 *** Fix an edge case that yielded a stringp: nil error.
618 *** Prevent auto-save files from being recognized as Muse files.
620 ** Wiki (lisp/muse-wiki.el)
622 *** By default, WikiWords can have consecutive capital letters.
624 *** Fix an error that occurs when muse-colors is not loaded.
626 *** It is now possible to specify a suffix for WikiWord links.
627 For example: WikiName''''s.  The WikiName part will be displayed and
628 colored as a link, but the "s" will be left alone.
630 * Changes in Muse 3.02.02
632 ** Configuration
634 *** A bug with customizing `muse-project-alist' has been fixed.
636 *** We use a file extension for Muse files by default.
637 To obtain the old behavior, set `muse-file-extension' to nil and
638 `muse-mode-auto-p' to t.
640 To go along with the new behavior, be sure to rename all of your Muse
641 files to have a ".muse" extension.
643 *** New option: `muse-wiki-ignore-bare-project-names'.
644 This causes Muse to ignore bare project names if specified.  The
645 default is to turn bare project names into links.
647 *** New option: `muse-publish-comments-p'.
648 This causes Muse to publish comments as markup.  The default is to
649 remove comments before publishing rather than trying to mark them up.
651 *** New option: `muse-wiki-allow-nonexistent-wikiword'.
652 Enabling this will cause WikiWords with no corresponding file to be
653 colored as bad links.  The default is not to color them and turn them
654 into links.
656 ** Muse Mode (lisp/muse-mode.el)
658 *** An error with intangible links has been fixed.
660 *** Visiting a page with an anchor works better than before.
662 *** Flyspell behaves better with Emacs21 than before.
664 *** Links to nonexistent files will be colored red by default.
665 This happened previously, but the algorithm was buggy and didn't cover
666 implicit links.
668 ** Project handling (lisp/muse-project.el)
670 *** A convenience macro called `with-muse-project' has been added.
671 This allows a code block to be executed after changing the current
672 Muse project.  It is analogous to emacs-wiki's
673 `with-emacs-wiki-project' function.
675 ** Publishing (lisp/muse-publish.el)
677 *** An issue involving anchors at the end of a line has been
678 addressed.
680 *** Non-word characters are now allowed before an anchor.
682 *** Comments may now be published, if desired.
683 This behavior may be controlled with the `muse-publish-comments-p'
684 option.  The default is to remove comments before publishing rather
685 than trying to mark them up.
687 *** Publishing directives may now include a dash character.
689 ** LaTeX publishing (lisp/muse-latex.el)
691 *** A bug with footnotes has been addressed.
692 An attempt has been made to make generated footnote markup look more
693 "natural" to experienced LaTeX users.
695 *** Table headers are underlined and table footers are overlined.
697 *** PDF publishing will cause pdflatex to be called as needed.
698 The previous behavior was to always call pdflatex twice.  Currently,
699 if pdflatex succeeds, it will not be called again.  Otherwise, call it
700 up to three times.
702 *** Escaping of special characters should be drastically improved.
703 An attempt has been made to get escaping done right in most contexts.
704 The only quirk is that you must surround dollar signs with equal signs
705 to ensure escaping.  This makes publishing PDF documents much more
706 useful.
708 ** Texinfo publishing (lisp/muse-texinfo.el.el)
710 *** An attempt was made to hone some of the markup.
712 * Changes in Muse 3.02.01
714 ** Muse Mode (lisp/muse-mode.el)
716 *** Links should no longer prevent moving the point, and help text for
717 links should no longer cause errors to occur.
719 ** Project handling (lisp/muse-project.el)
721 *** `muse-project-alist' -- This variable should now save customizations
722 to the correct form in the .emacs file.  Before, it was saving an
723 intermediate form of the variable.
725 If you have used the customize interface in the previous release of
726 Muse to set `muse-project-alist', please do the following to import
727 your settings.
729  - Open your .emacs file.
730  - Move the point to where `muse-project-alist' is set.
731  - Type `M-: (setq muse-project-alist-using-customize t) RET'.
732  - Type `C-M-x'.
733  - Type `M-x customize-save-variable RET muse-project-alist RET'.
735 *** `muse-project-alist' -- A bug involving the deleting of items
736 using Emacs21 and XEmacs21 has been fixed.
738 ** Publishing (lisp/muse-publish.el)
740 *** If 2 or more blank lines separate list or table items, each item
741 will be published in a separate list or table.
743 *** The #date directive is now populated by default with the last
744 modified time of each file, rather than the current time of day.  To
745 use this value, add '<lisp>(muse-publishing-directive "date")<lisp>'
746 to your header or footer.
748 ** HTML publishing (lisp/muse-html.el)
750 *** `muse-xhtml-style-sheet' -- New option that indicates the style
751 settings to use for XHTML documents.  This may be either a filename or
752 a string of stylesheet settings.
754 * Changes in Muse 3.02
756 ** New modules
758 *** lisp/muse-wiki.el --- Provide automatic linking for WikiWords and
759 InterWiki links.  These words are clickable and publish as links.
760 Project names from `muse-project-alist' are available for InterWiki
761 linking by default.  The list of InterWiki names and handlers may be
762 customized through `muse-wiki-interwiki-alist'.
764 WikiWords that do not correspond with real files will not be displayed
765 as links nor published as links.  It is expected that this behavior
766 will be made optional in future versions of Muse.
768 **** This module includes a few helper functions that may be added to
769 `muse-publish-desc-transforms' in order to modify link descriptions at
770 publish time.
772 **** The concept of "implicit links" and "explicit links" has been
773 introduced.  Explicit links are surrounded by brackets, i.e.
774 [[http://blah.org][this is a explicit link]].  Implicit links are URLs
775 and email addresses that are not surrounded by brackets: they will not
776 be colorized or published if surrounded by double-quotes.
778 ***** `muse-wiki-publish-pretty-title' causes words to be Title-cased,
779 ignoring words like `the' and `at' which should not be changed.
781 ***** `muse-wiki-publish-pretty-interwiki' changes the delimiter of
782 interwiki links according to the text of the
783 `muse-wiki-interwiki-replacement' option.
785 *** lisp/muse-protocols.el --- URL protocols that Muse recognizes.
786 This automatically-included module provides an easily customizable
787 list of URL protocols, how to browse them, and how to resolve them for
788 publishing.  Customize `muse-url-protocols' to add and remove
789 protocols.
791 ** Compatibility fixes
793 *** Muse has been tested with XEmacs 21.4, both Mule and non-Mule versions.
794 There are no known problems remaining.  To make things work by
795 default, the iso-8859-1 charset is used as a default option in some
796 places.
798 ** Configuration
800 *** `muse-file-extension' -- New option that allows the file extension
801 for Muse files to be specified.  For example, setting this to "muse"
802 assumes that you have renamed your Muse files with a ".muse"
803 extension.  Using this (and setting `muse-mode-auto-p' to nil) will
804 prevent miscellaneous non-Muse files from being accidentally opened in
805 Muse Mode.
807 *** `muse-ignored-extensions' -- New option that determines which file
808 extensions to omit from the ending of a Muse page name.
810 *** `muse-ignored-extensions-regexp' -- This is no longer customizable.
811 It will be automatically generated from `muse-file-extension' and
812 `muse-ignored-extensions'.
814 *** `muse-project-alist' -- The customize interface for this option has
815 been greatly improved, and much effort has been spent in order to make
816 this user-friendly.
818 *** The `:force-publish' tag may be specified in `muse-project-alist'.
819 This causes a particular list of files to be re-created every time the
820 publishing process is invoked, even if they haven't been changed
821 according to their timestamps.  One use for this is to keep an index
822 of available pages by adding the following to a file in this list.
824 <lisp>(muse-index-as-string t t t)</lisp>
826 *** `muse-project-ignore-regexp' -- By default, version control directories
827 are now included in this regexp so that they don't appear when you hit
828 C-c C-f to browse files in a project.
830 *** The `muse-project-alist-styles' and `muse-project-alist-dirs' functions
831 may be used in `muse-project-alist' to recursively add styles and
832 directory listings for a given directory.  The following is an
833 example.  We use a backtick instead of a single quote to begin the
834 list.
836 (setq muse-project-alist
837       `(("Blog"
838          (,@(muse-project-alist-dirs "~/proj/wiki/blog")  ;; base dir
839           :default "guestbook")
841          ,@(muse-project-alist-styles "~/proj/wiki/blog"  ;; base dir
842                                       ;; output dir
843                                       "~/personal-site/site/blog"
844                                       ;; style
845                                       "my-blosxom"))))
847 Note that if you use the customize interface for `muse-project-alist',
848 you will still have to manually add information for any new
849 sub-directories.
851 ** Debian packaging
853 *** Debian packages for Muse have entered Debian unstable, thanks
854 to Romain Francoise, my sponsor.
856 It is possible to roll your own Muse packages if you want to do so.
857 Packages may be built by using `make debrelease', once the proper
858 options in Makefile.defs are set.  Revisions may be built using `make
859 debrevision'.
861 The manual and relevant documentation files have been included with
862 the Debian package for Muse.
864 ** Muse Mode (lisp/muse-mode.el)
866 *** Allow use of Muse with outline-minor-mode.
868 *** Filling text does the right thing with list items and footnotes.
869 List items and footnotes will no longer be concatenated when hitting
870 M-q in the midst of consecutive items.
872 *** Links will never be split in the middle when using Fill.
874 *** Some flyspell crash issues were addressed.
875 Using intangible text can cause strange problems with flyspell mode.
876 Hence, by default, the intangible property will be ignored.  A new
877 option called `muse-mode-intangible-links' indicates whether this
878 should be the case.
880 *** Links will no longer be highlighted by flyspell.
881 If you're using XEmacs or Emacs 22, flyspell will ignore links,
882 including link text.  This keeps flyspell from making the links
883 unclickable.  If you're using Emacs 21, flyspell will continue to
884 interfere with links.  If you know how to fix this, please send a
885 patch!
887 *** A few edge cases for emphasis and underlining have been addressed.
889 *** <example>, <verbatim>, and =surrounded text= are now colored using
890 the new face `muse-verbatim-face'.
892 *** All marked up text properties, like emphasis and underlining,
893 will be removed for the text between <example>, <verbatim>, <code>,
894 <literal>, and <lisp> tags.
896 *** Links to temporary files may be visited.
897 A "temporary file" in this case is a buffer that is not associated
898 with any file.  For some dynamic content import scripts with Planner,
899 this is helpful.
901 *** Typing "#title" should never crash Emacs anymore.
903 ** Muse manual (muse.texi)
905 *** Fix problem with producing a PDF version of the manual.
907 *** Document WikiNames.
909 *** Bring up-to-date with latest features.
911 *** Massively update Common Elements section.
913 *** New Directives section.
914 This describes the use of #title and #author, as well as other
915 directives that may be used.
917 *** New Comments section.
918 Describes the use of "; comment text".
920 ** Publishing (lisp/muse-publish.el)
922 *** The order of rules should be much improved.
923 This means that emphasis characters like `*' and `_' will never be
924 interpreted as such if they are within links.
926 *** The user will be notified when `muse-publish-this-file' fails to
927 publish the current file.  This happens when the timestamp of the
928 current file indicates that it is up-to-date.
930 *** Special characters are escaped in link descriptions and links on a
931 more consistent basis.  What defines a "special character" varies
932 according to the publishing style.
934 *** Errors that occur during publish time will cause a warning to be
935 displayed prominently, rather than being ignored.  It should no longer
936 be possible to mess up a Muse source file by tweaking the Muse
937 publishing process.
939 *** Errors in <lisp> tags cause a warning to be displayed and
940 return "<!--INVALID LISP CODE-->".  Muse will try to continue
941 publishing the page.
943 *** An emdash ("--") can now be used after a list, as long as there is
944 a blank line between the end of the list and the emdash.
946 *** The <code> tag has been introduced.
947 It does the same thing that =equal signs= do: escape specials and
948 publish as teletype text.  Use it for short command snippets and the
949 like.  <example> is a better choice for large blocks of code, since it
950 preserves whitespace.
952 *** An edge case involving links at the beginning of a paragraph
953 has been addressed.
955 *** An edge case involving consecutive directives of the same size
956 has been addressed.
958 *** Every publishing style is now capable of specifying strings to use
959 for sections beyond the third level.
961 *** Every publishing style may specify an end-of-section string.
962 This is used, for example, by the experimental XML style and the
963 DocBook style.
965 *** Every publishing style may specify a method of handling "internal
966 link" markup.  An internal link is a link that refers to an anchor on
967 the current page.
969 *** Every publishing style may specify a link suffix to use.
970 This allows the file extensions in links to other Muse files to be
971 different from their actual extension.  Blosxom makes use of this
972 (since its published files are .txt and the dynamically-generated
973 output is .html), and it could come in handy for PHP stuff.
975 If a link suffix is not specified via :link-suffix, the value of
976 :suffix will be used.
978 ** Blosxom publishing (lisp/muse-blosxom.el)
980 *** muse-blosxom-new-entry: A #category directive is added by default.
981 Nothing is done with this yet, but it could be handy for tag-based
982 (multiple category) blogging, once we figure out a good way to do that
983 in both Muse and Pyblosxom.  Ideas are welcome, and patches even more
986 ** DocBook publishing (lisp/muse-docbook.el)
988 *** The markup has been comprehensively improved.
989 Published documents will now pass validation tests and look better in
990 general.
992 *** It is now possible to specify the encoding of DocBook documents.
993 The default encoding is utf-8.
995 *** Footnotes will be embedded into paragraphs, since this is
996 The DocBook Way.
998 *** Tables will be sorted by section.
999 Headers first, then footers, then the rest of the table.
1001 *** Anchors are now handled correctly and publish to the best available
1002 form.  Links to anchors are published with the <link> tag.
1004 ** HTML publishing (lisp/muse-html.el)
1006 *** Fix minor issue with anchors.
1008 *** Paragraph publishing will no longer insert <div> tags before images.
1009 This was causing too much hassle for some programs that were trying to
1010 extend Muse, like the Muse port of Planner.
1012 *** The `&', `<', and '>' characters will be escaped using their specific
1013 HTML escape codes, rather than with "&#NNN;".  This makes the
1014 published output display correctly in more web browsers.
1016 *** Use HTML 4.0 Transitional by default for `muse-html-header'.
1018 *** Include empty alt element in markup string for images that lack a
1019 description.
1021 *** Tables will be sorted by section.
1022 Headers first, then footers, then the rest of the table.
1024 *** `muse-xhtml-extension' -- The default extension for XHTML publishing.
1025 This is a new option.
1027 ** Journal publishing (lisp/muse-journal.el)
1029 *** Use "div class=..." rather than "div id=..." for sections.
1031 ** LaTeX publishing (lisp/muse-latex.el)
1033 *** A newline will be appended to the default footer for the latex and
1034 latexpdf publishing styles.  This keeps the PDF-building process from
1035 failing due to lack of a newline at end of file.
1037 *** Anchors and links to them now work properly.
1039 *** When generating PDF files, call pdflatex twice.
1040 This should ensure that the table of contents gets generated, if one
1041 is due to be published.
1043 *** PDF files with spaces may be published.
1044 A bug preventing this has been fixed.
1046 *** Teletype text is now published using \\texttt{...}.
1048 *** An attempt has been made to escape special characters more
1049 consistently.
1051 ** Texinfo publishing (lisp/muse-texinfo.el)
1053 *** Fix a fatal error that occurs when publishing tables.
1055 *** Generate the contents in the header by default rather than the footer.
1056 This is the way that most Texinfo manuals do it.
1058 *** The info-pdf publishing style currently produces the best PDF output
1059 on the maintainer's machine, so it is now used to publish the PDF
1060 version of the Muse Manual.
1062 *** The characters `{' and `}' will be treated as special characters that
1063 need to be escaped at publish-time.
1065 *** Improve dots and enddots markup strings.
1067 *** Surround underlined text with "_" since Texinfo doesn't seem to have
1068 any better options for producing underlined text.
1070 *** Anchors and links to them now work properly.