[pmwiki-users] Automated WikiTrails.

Roman romat2 at gmail.com
Tue Aug 29 07:08:31 CDT 2006


I think that you could combine name= and list= parameters. First would
select only certain story (e.g. name=Stories.StoryOne-*) and second
would filter it further (list=chapters).

Roman

On 8/29/06, Stirling Westrup <sti at pooq.com> wrote:
> Stirling Westrup wrote:
> > Roman wrote:
>
> >>> The intent is that all I need to do to add a new chapter to StoryTitle
> >>> is to simply save it in the Stories group with its chapter number and it
> >>> will gain an appropriate wikitrail while the StoryTitle page will be
> >>> automatically updated.
> >> If you put this to Site/LocalTemplates:
> >>
> >> [[#trailstory]]
> >> (:if equal {$FullName} {=$FullName}:)%wikitrail%[[{<$FullName}|<<
> >> Previous Story - {{<$FullName}$Title}]] | [[StoryTitle/]] |
> >> [[{>$FullName}|Next Story - {{>$FullName}$Title} >>]](:if:)
> >> [[#trailstoryend]]
> >>
> >> then this to Story GroupHeader
> >>
> >> (:pagelist name=StoryTitle.StoryTitle-* fmt=#trailstory:)
> >>
> >> and this to StoryTitle/
> >>
> >> (:pagelist name=StoryTitle.StoryTitle-*:)
> >>
> >> will it do what you want?
> >>
>
> I've now tried the above, and I can't get it to work right. The problem
> is that if I put in a custom list= it needs to know the name of the
> current page to work correctly.
>
> Assume I have a Stories group with pages named StoryOne-01, StoryOne-02,
> StoryOne-03, StoryTwo-01, StoryTwo-02, and so on.
>
> If I use a custom list=chapters pagelist parameter defined like this:
>
>  $SearchPatterns['chapters'][] = '/-\\d+$/';
>
> Then I can indeed match all of the above without pulling in any of the
> other pages in the Stories group. The trouble is, they all show up in
> the SAME pagelist and so my dynamic wikitrail will link from the end of
> one story to the start of the next. I don't want that. I want each trail
> to be limited to its own story.
>
> I tried using extended page vars to narrow things down to only match
> pages with the same base as the current page, but it doesn't work. If I
> try this:
>
> (:set basename="{$Name:regreplace /-\d+$/ //}":)
> (:pagelist list=chapters name={$basename}-* fmt=#trailstory:)
>
> Then the pagelist is empty. I suspect that the pagelist is being invoked
> before the (:set:) is executed, resulting in an argument of name=-*,
> which will exclude everything.
>
> Even if I could solve the above problem, there is also a problem with
> the trailstory format definition as well. I need to strip off the ending
> chapter number to get the name of the story so I can build a link to the
> main page for the story. Again, I thought something involving regreplace
> would work, but I run into the exact same problem.
>
> At this point its looking like I might need to write a custom fmt
> handler in php to get this working, but that's a lot messier (and harder
> to modify) than I would like.
>
> Does anyone have any good ideas how to solve this?
>
> _______________________________________________
> pmwiki-users mailing list
> pmwiki-users at pmichaud.com
> http://www.pmichaud.com/mailman/listinfo/pmwiki-users
>




More information about the pmwiki-users mailing list