[pmwiki-users] automatic page titles (aless)
    john.rankin at affinity.co.nz 
    john.rankin at affinity.co.nz
       
    Fri Aug  1 15:48:38 CDT 2008
    
    
  
> Date: Fri, 01 Aug 2008 16:31:54 +0700
> From: aless <alessors at gmail.com>
> Subject: Re: [pmwiki-users] automatic page titles
> [...]
>> Apostrophes (single quotes) need to be removed, because PmWiki uses
>> page names as file names and in the url. [...]
>> You could try and change the $MakePageNamePatterns array, which
>> function MakePageName uses. Define it in config.php.
>
> I found also the AlternateNamingScheme recipe in the Cookbook
> (http://www.pmwiki.org/wiki/Cookbook/AlternateNamingScheme), and
> following the instructions I came up with this array that should transform
>
> l'albero di natale => L_albero_di_natale:
>
> $MakePageNamePatterns = array(
>      "/'/" => '',                           # strip single-quotes
>      "/[^$PageNameChars]+/" => ' ',         # convert non-alnums to spaces
>      "/(^\\w)/e" => "strtoupper('$1')",     # initial caps
>
>      "/\\s+/" => '_'                        # Convert spaces to
> underscores
> );
It should be possible to handle the apostrophe too. One option
would be to use the ~ character in the pagename and url as a
surrogate for the ' and then convert "~" to "'" on output, in much
the same way as the above code converts '_' to ' '. This is done in
the custom $AsSpacedFunction.
You then have to add ~ to the allowed $PageNameChars, otherwise
PmWiki will remove it:
$PageNameChars = '-~[:alnum:]';
I'm not sure if ~ is treated as part of alnum, but I suspect not.
Hope this helps. I can provide more detailed instructions if you
need them.
JR
    
    
More information about the pmwiki-users
mailing list