Tags:
create new tag
, view all tags
Note: This suggested plugin has become redundant with recent updates to SpacedWikiWordPlugin.

Brainstorming on SpacedWikiWordPluginNextGen

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

Edit | Attach | Watch | Print version | History: r10 < r9 < r8 < r7 < r6 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r10 - 2007-05-16 - PeterThoeny
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.