I'm dreaming of extending the TaviSubPages idea with the use of namespace. This is giving me some headache, and I need input. Lets say we have the following set of pages:

Showing a page hierarchy of maximum 4 levels. In a future version it should be possible to introduce namespace into this structure. Thusly if introducing a namespace mapping to the TaviDocumentation/UsingMacros level, a reference to TitleSearch would go to the listed page, and TitleSearch/BasicExample likewise. The problem arises when, within UsingMacros, one wants to reference either TaviDocumentation or some page like BasicUse. How does one make this look nice...

The example levels given in the listing, are the levels the subpages would need to map them to the same name spaces, so that a reference within the name space would be equal, no matter what syntax is used.

Alt 1: Changing namespace changes ordinary WikiNames

When changing the name space the ordinary WikiName would refer according to namespace. If on UsingMacros the SomeName would refer to:

Default
SomeName equals ~/SomeName
Level=0 (current)
SomeName equals ~/TaviDocumentation/UsingMacros/SomeName
Level=1 (1 above current)
SomeName equals ~/TaviDocumentation/SomeName

This would raise the need of how to make references out of the namespace, and this could be done by:

/MakingTables
Refers to a neighbouring page (As of today)
//TitleSearch
Refers to a child page, or subpage
~/TaviDocumentation
Refers to the all-time root/home of pages
/~
Refers to current namespace home page (i.e. if Level=0 on UsingMacros, it would refer to UsingMacros)

Could this scheme work? Will it be intuitively enough? Should we add some visual guides elsewhere on the page to note that namespacing occurs? Which syntax to use to set the namespace, i.e. %%level=0%%?

Alt 2: Using ~ to denote namespace

Another solution could be to use the ~ to denote 'current' namespace, so that ~/TitleSearch would be meaningful. This would allow SomeName to refer to the global at all times, and namespacing only to occur when the ~-character was used. And then it could be an option to display leading ~/ or not...

Still when editing the UsingMacros, with [level=0] namespace, the following would be true:

~/TitleSearch or //TitleSearch
Equals TaviDocumentation/UsingMacros/TitleSearch
~/TitleSearch/BasicExample
Equals TaviDocumentation/UsingMacros/TitleSearch
TaviDocumentation
Equals TaviDocumentation
/MakingTables
Equals TaviDocumentation/MakingTables
~/
Equals UsingMacros, and should be display as UsingMacros

Comments