Ultimately, what I'd like to see as the next generation of this plugin would be as follows:
In my humble opinion, TWiki should allow the user to configure the rendering for autolink display within the actual wiki page written, not where the page is referenced (perhaps stored in a %META{...} declaration). To illustrate, I'll use my personal preferences as an example:
TomKagan. Within the %META{...} for my own home page, a new variable could look something like: '%META:DISPLAY{name="Mr. Thomas Kagan"}%'. Referencing that particular page within a another page would be via the normal
WikiWord syntax. However, instead of the rendered hyperlink displaying as:
TomKagan, TWiki would automatically substitute: '[[Main.TomKagan][Mr. Thomas Kagan]]' for each occurence instead. The display would then be:
Mr. Thomas Kagan. With some further thought, it should be straightforward to extend this mechanism and allow a configurable default rendering for the site, then an optional override per zone(web), then per page(topic), then finally per link via explicit [[...][...]] use. With a little more thought, you could also extend the %META{...}% to allow for differences in rendering within its own zone versas within another zone.
Rendering links this way would allow a TWiki user/administrator to tailor autolink rendering to handle all the cases mentioned here and then some, including the ideas in
BetterLinks. Yet, it would also reduce complexity presented to a user when writing content (until they wanted to use the feature). Additionally, it would clean up a few of the 'special cases' I've noticed creeping into the code ('Main.' prefix removed by default, not displaying '.WebHome', etc). I'm not sure what it would do to performance though. However, I can envision a few ways to optimize it.
Taking this idea to its extreme conclusion, the new autolink control syntax should allow complete control over what is rendered, up to and including producing a different XHTML element. I could see this being used to create a glossary zone(web). Instead of a normal link, the %META{...}% within the page could cause rendering as follows (sort of): '<acronym style="border-bottom: 1px dotted #000; cursor: help;" class="footnote" lang="fr" title="Nationale des Chemins de Fer: %GETTEXT("Glossary.FrenchAcronym.%TEXT%"}%>FrenchAcronym</acronym>' for the first reference, and just a plain 'FrenchAcronym' on subsequent references within the same page.
--
TomKagan - 27 Dec 2002
(moved comment from RenderingWikiWordsToIncludeContext) --
TomKagan - 10 Jun 2003
My comment also affects other plugins, not only this one in particular.
I have seen various approaches to turning a WikiWord into something more legible but none of these seems really satisfying.
Has anyone considered going the other way, that is, taking a marked-up text like [[developer H. Müller]] and turning
(i.e. "normalizing") it into a valid WikiWord like "DeveloperHMueller" for the topic name?
--
EberhardSchulz - 09 Dec 2003
This is being discussed in
Codev.TopicSaveErrorWithTopicsContainingSpace.
--
ArthurClemens - 09 Dec 2003
There are some words that don't work quite right. Try 'JokeEntryWWIIPropaganda'. I have a different set of regexps (I'm using 4 vs. 2 here) as shown in
SpacedOutTWikiWords that will correctly render this and other examples.
--
MattWalsh - 28 Feb 2004
Could you please meld them into this plugin for us, Matt? Thanks
--
MartinCleaver - 28 Feb 2004