Für Deutsch hier lesen: GaGa
GaGa is a slightly modified Wiki parser. Demo only on http://linuxwiki.de/gaga/GaGaEn (under this URL you'll find the german LinuxWiki running with this GaGa parser - but please don't create LinuxWiki pages using this markup until this is officially decided ).
The modification is quite simple:
any word on a page gets checked if there is a page with the same name (except words written on GaGaBlackList)
- exact matches will get a blue link, e.g.: Samba
- case-insensitive matches will get a violet link, e.g.: samba
- if there is no matching page
- normally (action=show) don't generate a link
used with action=linkall (see in the icon bar !at top right), make a link out of ANY word - use this to create new pages
- if you want to emphasize an automatically created link, just use normal markup:
- Samba (w/o additional markup)
Samba (new markup: __underlined__)
Samba (bold), Samba (italic), Samba (bold and underlined)
you can group together multiple words by connecting them with an underscore character (_) - the display will then be with a blank between the words, the whole thing is treated as a single word (and linked as a single word - use to see it).
bold_with_blanks
italic_with_blanks
underlined_with_blanks
- kind_of_invisible_link_with_blanks
- suppressing links works like usually with "!": !no_link
Subpages:
- absolute subpages: GaGaEn/Different and GaGaEn/different are different pages
- relative subpage: /different
- relative subpage with blanks: /Subpage_with_blanks
What the whole thing is about you'll see as soon as you look at the source code of this page: the page has many links, but in the source you have simple text mostly.
BTW: You may wonder why the word "at" in the previous sentence is linked to the page about the UNIX at-command. This is simply because this is a german language wiki and therefore "at" (not being a common german word) is not on the GaGaBlackList - if you use "at" in german (Linux) texts, you really mean the at command. The same thing applies to the word "find". In English, both words should be on the blacklist, of course - and you can use a freelink if you really mean the Linux commands.
The overhead for processing doesn't really care, the implementation uses Python's dict (hashing, very fast).
After an idea of ThomasWaldmann (with many ideas of SimonKågedal, RonnyBuchmann, BastianBlank ...).
Test Area
Test: links and Links are on the GaGaBlackList (because in German, they mean "left", too), but with links you can force it.
Bugs, Problems, ToDo, Ideas, Discussion
To discuss, you are invited to join our IRC channel, see IrcChat (or just hit IrcChat link at bottom of any page).
See also: GaGaParser
Q: Where can I get the sourcecode of GaGa parser? And in what language Gaga is written? --TakuyaMurata
A: You can get it from the MoinMoin CVS on SourceForge. The branch name is BRANCH-gaga-0. It is written in Python (like MoinMoin). -- ThomasWaldmann 2002-12-24 21:40:20