emacs-wiki-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[emacs-wiki-discuss] muse: muse-wiki.el: suggestion for the rendering of


From: Jim Ottaway
Subject: [emacs-wiki-discuss] muse: muse-wiki.el: suggestion for the rendering of bare project names
Date: Thu, 20 Oct 2005 20:50:18 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

I have started to use muse-wiki, mostly for its interwiki facility.  I
don't really like the way that any ``bare'' project name is rendered
as a link.  This is fine if the project has an infrequently used word
as a name, or if it has an unusual orthography such as camel case. If,
on the other hand, a project has for a name a common word such as
`notes', it might be better not to highlight each occurence of the
word on a page.

Since I, and perhaps others therefore, would prefer to be able to give
projects such simple names, I suggest that there should be an option
to ignore these when they have no page specifier.  Thus `notes' would
not be turned into a link, but `notes::index' would.

I have implemented this in the patch below.  By default the behaviour
is turned off; setting the new variable
muse-wiki-ignore-bare-project-names to something non-nil turns it on.
I can't see any obvious undesirable side effects, but I am not that
familiar with the muse code at the moment.

Location: http://www.users.zetnet.co.uk/jeho/archives/2005
Archive name: address@hidden
Branch: muse--jeho--1.0
Patch: 8

For special cases where one might want to have a bare project name
that links to a project's default page, I also have some code for
defining aliases, using muse-wiki-interwiki-alist:

(defun jeho-make-resolver (project)
  "Return a resolver for finding either a page in PROJECT or its default page."
  `(lambda (tag)
     (muse-wiki-resolve-project-page ,project tag)))
       
(defun jeho-add-project-alias (alias project)
  "Add ALIAS for PROJECT.
A link that is exactly ALIAS will link to the default page, a link
with a tag to will resolve to the page named by tag in the aliased project."
  (unless (muse-project project)
    (error "No project %s defined" project))
  (setq muse-wiki-interwiki-alist 
        (cons (cons alias (jeho-make-resolver project))
              (delete (assoc alias muse-wiki-interwiki-alist)
                      muse-wiki-interwiki-alist)))
  (muse-wiki-update-interwiki-regexp muse-wiki-interwiki-alist)
  muse-wiki-interwiki-alist)

So one could have, say, (jeho-add-project-alias "NotesWiki" "notes"),
or even (jeho-add-project-alias "notes" "notes").  But I am not sure
whether this should be added to muse-wiki.el, since it might add some
confusion over the purpose of muse-wiki-interwiki-alist.

-- 
Jim Ottaway




reply via email to

[Prev in Thread] Current Thread [Next in Thread]