[pmwiki-users] Re: draft/Subpageish stuff (was: Re: Question about HTML output for link targets)

Patrick R. Michaud pmichaud at pobox.com
Fri Feb 4 16:18:31 CST 2005


> I'll generate a list of characters in a later message.

Okay, here's my list.  The main purpose is to find a character that
might work for being able to denote draft and comments/talk additions
to existing page.  It's possible that we could promote these to a
full subpage capability but (for the moment) that's a secondary
consideration.

First, here's the entire set of candidate non-alphanumeric characters 
without resorting to utf-8 or unicode:

  ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~

Throwing out the characters that aren't legal in urls  (<>#%"{}|\^`)
leaves us with:
  
  ! $ & ' ( ) * + , - . / : ; = ? @ [ ] _ ~

Some characters (&, +, ?) have special meaning in urls and have to be
encoded to be used, so let's avoid them:

  ! $ ' ( ) * , - . / : ; = @ [ ] _ ~

Brackets and parens have special meaning in [[link(s)]], so exclude those:

  ! $ ' * , - . / : ; = @ _ ~

Single quotes appear often in possessives (e.g., [[John's page]]), thus:

  ! $ * , - . / : ; = @ _ ~

Finally, the $ character is too often used for variable substitution 
and would need too many confusing escapes to be useful.

  ! * , - . / : ; = @ _ ~

Okay, these seem to be the characters we have available to build
something with.  We can use a single character, or we can combine two
or more to make a token of some sort.  Here's some thoughts for the
single-character varieties:

"!" as in Group.Page!Draft looks a little too emphatic for me.

"*" makes me think too much of "wildcard", but it can also mean "footnote".
I'm not sure people would be comfortable seeing Group.Page*Draft in urls; 
I know I don't want to see '*' in filenames (i.e., it'd have to be remapped).

"," seems to work, as in Group.Page,Draft.

"-" works as in Group.Page-Draft, although "-" is already valid in 
pagenames.  This has both advantages and disadvantages.  It's unlikely
that it would be useful as a generic "subpage" delimiter.  Still,
reusing "-" in this manner seems less troublesome than trying to
reuse period and slash.

"." and "/" are already used as group+page separators, so we should only 
use these if we can clearly resolve ambiguities with the existing group
and page syntax.  "/" is used by UseMod for subpages.

":" is currently used for InterMap links, thus something like "PmWiki:Draft"
would be too ambiguous.  "Draft:PmWiki" has some potential though, since
the number of alternate-page views is likely to be limited (and it's
also what MediaWiki uses).

";" also as in Group.Page;Draft has potential, although the character
needs remapping in any filenames.

"=" will make for very confusing urls and (:directives:), so I think it's
a bad choice.

"@" can work as in Group.Page at Draft, but looks a bit too much like an
email address.  Plus "@" always looks like it has too much ink to me.

"_" is used by many sites as a word separator (replacement for space), 
reusing it will likely cause *lots* of problems so it's a bad choice.

"~" is available but could be confused with [[~author]] links to
profile pages.  

Of the doubled-character variants, only "~~" and "::" look to me like
they would have any promise.

Pm



More information about the pmwiki-users mailing list