[pmwiki-users] Wikipaths (was: PData support for pagelisting images)

Martin Fick mogulguy at yahoo.com
Thu Sep 7 16:38:09 CDT 2006

--- "Patrick R. Michaud" <pmichaud at pobox.com> wrote:

> I think it's a bit on the complicated side, and
> PmWikiPhilosophy #3 is gnawing at me with it.  With
> the {$:var}
> markup, I can already see ways in which I can use it
> right away
> (and there are many others who are clamoring for it
> as well).
> With a more complicated markup, I'm less certain.

Sure.  I will keep the idea in mind though when 
discussing markups to that maybe it could still be
possible in the future.

> However, based on what you've written and what J.
> Meijer has written (and I've had very little 
> time to read them in detail), at the moment 
> I'm mentally toying with generalized forms like:

No need to read mine in detail, it seems like 
you got the concept (many of the details are 
bad anyway)!

> {(function args)Group.PageName#section$[:?]var}

With wikipaths ideas in mind, what about:

  {(function args)Group.PageName$[?:# ...](index)var}

where (index) could be a future enhancement and
[?:# ...] means that some of these may repeat and
have more symbols added to them in the future.

That should still allow for all the same examples 
that you listed (I think) except for:

>     {OtherPage#section}         short form of
> (:include OtherPage#section:)

Instead:  {OtherPage$#section}   which now uses a $!

>     {OtherPage#section$:var}    Var: field defined
> in OtherPage#section

Instead:  {OtherPage$#section:var}   also uses the $

Also, how about using a more tradtional function form
(is it too hard from a regexp standpoint?):

>   {(function args)Group.PageName#section$[:?]var}


Of course, this would be most usefull if there were
some type of looping construct enabled by this (such 
as what Pico was alluding to with his pagelist 
requests from MySql I think).

Borrowing form the pagelist template idea a bit,
something like (using my suggested syntax):

(:foreach {OtherPage$#:phone} :)
|| {$=#} || {$=#:phone} ||

Here the = sorta represents the current iterable
object.  The #: means return all the sections with
a "phone:" in them.

This would make a table like this:

|| Martin Fick || (777)222-6666 ||
|| Patrick Michaud || (999)111-4455 ||

out of OtherPage if it looked like this:

    [[#Martin Fick]]
    phone: (777)222-6666

    [[#Patrick Michaud]]
    phone: (999)111-4455


Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the pmwiki-users mailing list