[pmwiki-users] wiki trail navigation
john.rankin at affinity.co.nz
Mon May 19 20:37:14 CDT 2014
On 20/05/14 4:31 AM, Petko Yotov wrote:
> John Rankin writes:
>> We have a link on a trail page that reads:
>> * [[1960: to Rob on his 46th birthday]]
>> The pagename resolves to 1960ToRobOnHis46thBirthday, but the colon
>> after 1960 causes the page to be omitted from the trail. ReadTrail in
>> trails.php matches [^|:]*? in the link name, so skips the entry.
> Correct. Colons are not allowed in page names, and it assumes that
> this is not a link to a page in the trail, for example an InterMap link.
>> To get around this, we have written:
>> * [[1960 to Rob on his 46th birthday |1960: to Rob on his 46th
>> Is there a simpler way?
> * [[1960 to Rob on his 46th birthday|+]]
Right, because we also need to add a title to that page to insert the
>> Also, $Titlespaced resolves to "1960 To Rob On His46th Birthday". I
>> wonder whether AsSpaced might look for and space (lower)(\d+lower).
>> Or would this be undesirable?
> If it is desirable to change the default "spacing" way, PmWiki can use
> a different function to space the page names:
> $AsSpacedFunction = "MyOwnAsSpaced"; # use MyOwnAsSpaced() to space
I did it this way. However, it would be nice if one could set a match /
replace array pair in local/config.php, which PmWiki then applies. In
$LocalAsSpacedRules = array('/([[:lower:]])(\d+[[:lower:]])/' => '$1 $2');
My code sets $PmAsSpacedFunction = $AsSpacedFunction then MyOwnAsSpaced
function calls $PmAsSpacedFunction first, before applying the extra
rule. However, if the site uses utf-8, $PmAsSpacedFunction needs to be
set *after* loading xlpage-utf-8, which redefines $AsSpacedFunction.
> Or, simply set the page title in a (:title ...:) directive instead.
From a user perspective, it looks like a spacing error, so I think it's
better to fix in software.
More information about the pmwiki-users