[pmwiki-users] Numbered Sections cookbook recipe

Hans-Jürgen Godau juergen at godau-witten.de
Wed Nov 13 08:18:12 PST 2019


thank you. I will consider the new core feature, so maybe the recipe is
made superfluous for me.

Am Mi., 13. Nov. 2019 um 15:56 Uhr schrieb Petko Yotov <5ko at 5ko.fr>:

> Thanks for sharing this.
>
> >  $prefix=PSS($m[1]);
> >  $text=PSS($m[2]);
>
> You need to remove the PSS() calls from the new version. PSS() strips
> one level of backslashes. It  was previously needed in markup
> replacements because preg_replace() with /eval added one level of
> backslashes. The new PHP 5.5-7.2 way doesn't add backslashes, and using
> PSS() may remove legitimate backslashes from the wiki text.
>
> > Maybe Petko could change this in the download-version?
>
> If the maintainer is unreachable, as the recipe is licensed GPL, you can
> publish the changes yourself, and even take over the maintenance of the
> recipe.
>
> BTW, if you also need a table of contents, the latest PmWiki version
> includes a new table of contents feature that can also automatically
> number sections, see $PmTOC['NumberedHeadings'] at this page:
>
>    https://www.pmwiki.org/wiki/PmWiki/TableOfContents
>
> Core numbered headings currently depend on the table of contents, but
> that should be refactored to become an independent function. Now, if the
> sections are less than 3 (configurable), there is no TOC and the
> headings are not numbered.
>
> Petko
>
> On 13/11/2019 15:23, Hans-Jürgen Godau wrote:
> > I wanted to have numbered sections in my wiki-page, so I tried the
> > numbered
> > sections recipe and noticed, it still uses the deprecated "/e" Markup.
> > so I
> > changed the source with the following diff's:
> > -------------------------
> > --- Downloads/archive/pmwiki/numberedsections.php
> > +++ numberedsections.php
> > @@ -88,8 +88,8 @@
> >  ##
> >  SDV ($DDNumFmt, '1.1.1.1.1.1');
> >
> > -Markup('dd-num1','>include','/^(!{1,6})(?:\s*)(.*)$/e',
> > "DDMkNumTitle(PSS('$1'),PSS('$2'))");
> >
> -Markup('dd-num2','directives','/\\(:(no)?numbered-sections(?:\s+(.*?))?:\\)/e',
> > "DDRunNum('$1',PSS('$2'))");
> > +Markup('dd-num1','>include','/^(!{1,6})(?:\s*)(.*)$/',
> > "DDMkNumTitle");
> >
> +Markup('dd-num2','directives','/\\(:(no)?numbered-sections(?:\s+(.*?))?:\\)/',
> > "DDRunNum");
> >
> >  ##
> >  ## If numbered sections are enabled in the group or site header or
> > footer,
> > ensure they are not inherited
> > @@ -101,8 +101,9 @@
> >  $SiteHeaderFmt = $SiteHeaderFmt.'(:nonumbered-sections:)';
> >  $SiteFooterFmt = '(:nonumbered-sections:)'.$SiteFooterFmt;
> >
> > -
> > -function DDMkNumTitle ($prefix, $text) {
> > +function DDMkNumTitle ($m) {
> > +  $prefix=PSS($m[1]);
> > +  $text=PSS($m[2]);
> >    global $DDNumFmt, $DDNumHdrEnable, $DDFmtSet, $DDDebug;
> >    static $FmtNb, $OrNb, $TcNb, $sp, $numoffset, $CurLvl;
> >
> > @@ -158,8 +159,10 @@
> >      return chr(ord($num)-1);
> >  }
> >
> > -function DDRunNum ($nonum, $argstr) {
> > +function DDRunNum ($m) {
> >    global $DDNumHdrEnable, $DDFmtSet, $DDNumFmt, $DDDebug;
> > +  $nonum = $m[1];
> > +  $argstr = PSS($m[2]);
> >
> >    $args = ParseArgs($argstr);
> > -------------------------
> > Maybe Petko could change this in the download-version?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.pmichaud.com/pipermail/pmwiki-users/attachments/20191113/97133caf/attachment.html>


More information about the pmwiki-users mailing list