[Pmwiki-users] Re: Pmwiki new version

Patrick R. Michaud pmichaud
Wed Jun 9 00:08:57 CDT 2004


On Wed, Jun 09, 2004 at 04:50:53PM +1200, John Rankin wrote:
> On Wednesday, 9 June 2004 2:18 PM, Patrick R. Michaud <pmichaud at pobox.com> wrote:
> >So, if we go with characters that repeat as well as have distinctive
> >start and ends, we're basically left with 
> >   {{directive param}}  - reserved from 0.6 free links
> >   ((directive param))  - used by other links
> 
> Well I'd like containerised *and* doubled. I think what's emerging is
> something like:
> 
>    In an ideal world, we'd quite like to choose {{directive param}}
>    for a number of reasons, but we have been using it for free links.

Actually, even in an ideal world I still prefer [:directive param:] over
{{directive param}}--I just think the curly braces look "soft" to me
where a directive should be emphatic/blocked.  

> Pm states elsewhere:
> "For compatibility issues, I'd rather reserve the {{...}} to be a
> PmWiki-0.6 form of free-links, at least for the time being.  After
> a suitable transition period we might be able to redefine {{...}}
> for other purposes, but I'd like to leave it alone for now."
> 
> For me this is the weakest of the many otherwise excellent arguments
> put forward. 

Okay, let me rephrase it to what I really intended to say--I don't
have a problem with using {{...}} to designate something other than free 
links, but for a while I'd like it to be possible for a site to 
continue to locally customize {{...}} for free links if the site desires.  
So, I'm not saying I want to reserve {{...}} from being used at all
(e.g., in a local customization) -- I just don't want to designate
it for something in the core markup at this time.

This is not an idle wish on my part--I have a couple of sites with 
literally hundreds of daily active users, thus

> In some ways, it's easy and simple to say to people:
>   - we used to do free links with {{...}}; now we use [[...]]
>   - we used to do directives with [[...]]; now we use {{...}}
>   - this brings PmWiki into line with other wikis' llink syntax

is not quite so easy and simple as it may sound.  Getting the word
out to all of them, and getting them to change habits is not going to
be a trivial task, and I'd like the possibility of a transition period  
at the user/markup level.  Plus, the fact that this change is more
in line with other wikis' syntax is relatively unimportant (and thus
unconvincing) to these users.

So, all I'm asking for is that we not do anything that prevents 
{{free link}} markup during a transition period.  Also, I do recognize
that it's a lot easier for me to deal with issues resulting from 
code/markup changes than it is for others to do so, so I don't have
any qualms about making my conversion tasks more difficult if it 
substantially improves things for others.

In this particular case I might be willing to accept the notion that 
{{directive param}} is sufficiently different from {{free link}} because the 
directives will be reserved words.  In general I don't want to have the 
situation where [text in single brackets] is normal text but [directive 
param] is special by virtue of a keyword, because I'd like there to be 
a relatively easy way for modules to strip a page of its directives 
without having to know all of the defined directive keywords (e.g., to 
produce "excerpt text" in search results, RSS feeds, etc.).  And I'd 
like the directives to look distinctive in the markup, since they 
fundamentally do not act like normal inline text.

The compatibility module I'm planning really does emulate 0.6 syntax,
dynamically converting [[noheader]], [[$Title]], and {{free link|s}}ing 
markup into [:noheader:], {$Name}, and [[free link(s)]]ing as the
page is being rendered, so that a site can continue to read and write
pages in the old syntax if desired, while migrating users to the new
syntax.

Some other thoughts:  just because I don't want to put {{...}} into the
core markup (because it was previously used for free links) doesn't mean
that others can't customize it for their own purposes--e.g., automatically
converting {{directive params}} into [:directive params:] for processing.

And, PmWiki 2.0 includes the ability to also perform markup conversions 
when a page is saved.  Thus, one can locally customize {{...}} to
be converted to [:...:] (or whatever sequence we adopt) when the page 
is saved, making it easy to type while still preserving readability 
as well as the possibility of using {{...}} for some other purpose 
in the future.

> I think I prefer the look of:
>     ((noheader))((nofooter))((notitle))

I could be convinced to use this, but doubled parens do occur in text 
(e.g., math formulas) and single or double-parens might need to occur 
in a directive's parameter list (e.g., arithmetic, conditional, or other
expressions).  

Pm



More information about the pmwiki-users mailing list