etc/IDEAS.muse: Update for upcoming release.
[muse-el.git] / etc / IDEAS.muse
blob8b0b31ec311bcb4f1a6193e9feddbec82a5fade8
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 write functions that call the
37 right program to do the publishing for us.  If the markup format has
38 some project-aware tools, write Elisp wrappers for those at the
39 project-publish level.
41  - Markdown: http://daringfireball.net/projects/markdown/
43    mwolson: I hate this format, but it's popular.
45  - reStructuredText: http://docutils.sourceforge.net/rst.html
47    mwolson: I like this format from an initial glance.
49  - AsciiDoc: http://www.methods.co.nz/asciidoc/index.html
51    Git uses this, but it has heavy dependencies.
53  - Org Mode: http://orgmode.org/
55    Just use org-publish functions.
57  - Like Muse's default markup, but allow tags to be specified in
58    Texinfo style: namely, "@tagname{contents}" instead of
59    "<tagname>contents</tagname>" for small regions and
60    "@tagname\ncontents\n@end tagname" for large regions.
62    This might be a pain to implement, and only one person has asked
63    for it.
65  - Take markup features from phpBB and make a format out of it.  This
66    could interest the forum crowd in our work.
68    mwolson: I do not have interest in making a new markup format at
69    the moment.
71 *** Publishing to plain text
73  - The file experimental/muse-message.el also needs some attention, so
74    that it can do plain text.  Maybe it should be renamed to
75    muse-plain-text.el.
77  - People have requested being able to publish Muse format to other
78    stuff like rst and markdown.
80    mwolson: I'm not in any hurry to implement this.
82 *** Make tags for every "main" Muse markup syntax
84 The idea is to have something to fall back on.  One use case is
85 putting a list into a table.
87 *** Allow pages made by M-x muse-index to be refreshed automatically
89 The idea is to update the contents of the index page whenever a new
90 page is saved.  This should be controlled by a new customizable option
91 called `muse-index-update', which is either nil or non-nil.
93 `muse-index' should be modified to add the generated buffer into a new
94 variable called `muse-index-buffers'.
96 A new function called `muse-index-update-buffers' should be made,
97 which goes through the list `muse-index-buffers', doing the following.
98 It must check `muse-index-update' first to see whether it should do
99 anything.  It must take no arguments.
101   (let ((index (muse-index-as-string as-list exclude-private)))
102     (dolist (buffer muse-index-buffers)
103       (with-current-buffer buffer
104         (erase-buffer)
105         (insert index)
106         (current-buffer))))
108 This function should be added to after-save-hook in muse-mode.el.