Permit tag attributes to span more than one line.
[muse-el.git] / etc / IDEAS.muse
blob4607ddd60ea75058a806d2263aa18c79bff02378
1 This is the "Ideas" page for Emacs Muse.
3 It lists various ideas for future enhancements to Emacs Muse.  It also
4 serves to keep track of various changes that the maintainer would like
5 to merge into Muse at some point.
7 * Pending code
9 This is code that may or may not be already approved, but should be
10 checked out at some point.
12 ** Waiting for a new release
14  - Jim Ottaway
15    - jeho-latex.el: a rewrite of muse-latex.el which should replace it
16      at some point.
17    - muse-latex-labels.el: addition of cross-references to LaTeX.
18      Should be merged into muse-latex.el after replacing with
19      jeho-latex.el.
21  - David D. Smith
22    - dds-emphasis-bits.el
23      - New syntax for explicitly specifying emphasis:
24        {[_-=*] some emphasized text}.
25        Also, {** some text **} and {*** some text ***} should work.
26      - Using -strike- to do strikethrough.
28 * Ideas without code
30 ** After 3.10 release
32 None of these ideas has been finalized yet.
34 *** Support for different source markup formats
36 For any of these to be done, we have to figure out how to determine
37 which markup format to use, and parametrize the publishing functions
38 somewhat.
40  - Markdown: http://daringfireball.net/projects/markdown/
42  - reStructuredText: http://docutils.sourceforge.net/rst.html
44  - Allow publishing in Org Mode's format, though this might not be
45    needed now that org-publish.el exists.
47  - Like Muse's default markup, but allow tags to be specified in
48    Texinfo style: namely, "@tagname{contents}" instead of
49    "<tagname>contents</tagname>" for small regions and
50    "@tagname\ncontents\n@end tagname" for large regions.
52  - Take markup features from phpBB and make a format out of it.  This
53    could interest the forum crowd in our work.
55 *** Publishing to some plain text formats
57 It would be interesting if Muse could generate Markdown,
58 reStructuredText, or MoinMoin-style markup pages.  The file
59 experimental/muse-message.el also needs some attention, so that it can
60 do plain text.  Maybe it should be renamed to muse-plain-text.el.
62 *** Allow pages made by M-x muse-index to be refreshed automatically
64 The idea is to update the contents of the index page whenever a new
65 page is saved.  This should be controlled by a new customizable option
66 called `muse-index-update', which is either nil or non-nil.
68 `muse-index' should be modified to add the generated buffer into a new
69 variable called `muse-index-buffers'.
71 A new function called `muse-index-update-buffers' should be made,
72 which goes through the list `muse-index-buffers', doing the following.
73 It must check `muse-index-update' first to see whether it should do
74 anything.  It must take no arguments.
76   (let ((index (muse-index-as-string as-list exclude-private)))
77     (dolist (buffer muse-index-buffers)
78       (with-current-buffer buffer
79         (erase-buffer)
80         (insert index)
81         (current-buffer))))
83 This function should be added to after-save-hook in muse-mode.el.