[pmwiki-users] I would like to create custom markup like github markdown backticks mermaid

Christopher Cox chriscox at endlessnow.com
Fri Oct 23 12:58:37 PDT 2026


On 10/23/26 1:11 PM, Christopher Cox wrote:
> On 10/23/26 10:35 AM, Gregor Klarič wrote:
>> Can you post the markup definition of when it is working, so for (:mermaid..... ?
> 
> Well, I fixed it!!  I did want to capture optional parms out to the side. 
> Anyway, once I had the additional capture, it worked.  The issue was:

In case a picture is worth a thousand words:

https://endlessnow.com/images/pmwiki-mermaid-2026-10-23-14-54-08.png


> 
> @list($m0, $options, $sourceblock) = $m;
> 
> in the function (dang it... should have seen that)
> 
> So, in order to use the same function in both cases, needed to supply options.
> 
> Here's the finished markup session.
> 
> Markup(
>      'mermaid2',
>      'fulltext',
>      '/^```mermaid([^\r\n]*)\R(.*?)```/si',
>      "MermaidMarkup"
> );
> 
> All working.
> 
>>
>> Am Fr., 23. Okt. 2026 um 16:39 Uhr schrieb Christopher Cox 
>> <chriscox at endlessnow.com <mailto:chriscox at endlessnow.com>>:
>>
>>     On 10/23/26 12:56 AM, Gregor Klarič wrote:
>>      > # put into  config.php or a cookbook script
>>      >
>>      > Markup('mermaid', '<[=', '/```mermaid\s*(.*?)```/s', 'MermaidMarkup');
>>      >
>>
>>     Still not working for me.  With that said, this is not some sort of 
>> wrapper to
>>     mermaid javascript.  I'm using mermaidx server side for artifact 
>> production.  I
>>     already have the markup working fine with (:mermaid ...:) ML markup
>>     (:mermaidend:)
>>
>>
>>      > function MermaidMarkup($m) {
>>      >    return Keep("<pre class='mermaid'>" . $m[1] . "</pre>");
>>      > }
>>      >
>>      > # load mermaid once
>>      > $HTMLFooterFmt['mermaid'] =
>>      >    "<script type='module'>
>>      >       import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/
>>     <https://cdn.jsdelivr.net/npm/mermaid@11/dist/>
>>      > mermaid.esm.min.mjs <https://cdn.jsdelivr.net/npm/mermaid@11/dist/
>>     <https://cdn.jsdelivr.net/npm/mermaid@11/dist/>
>>      > mermaid.esm.min.mjs>';
>>      >       mermaid.initialize({ startOnLoad: true });
>>      >     </script>";
>>      >
>>      > Am Fr., 23. Okt. 2026 um 06:47 Uhr schrieb Christopher Cox
>>      > <chriscox at endlessnow.com <mailto:chriscox at endlessnow.com>
>>     <mailto:chriscox at endlessnow.com <mailto:chriscox at endlessnow.com>>>:
>>      >
>>      >     I've been wresting with trying to create working markup for:
>>      >
>>      >     ```mermaid
>>      >     (markup language here)
>>      >     ```
>>      >
>>      >     It seems to "work", but my sourceblock is empty.
>>      >
>>      >     Markup(
>>      >           'mermaid2',
>>      >           'fulltext',
>>      >           '/```mermaid(.*?)```/si',
>>      >           "MermaidMarkup"
>>      >     );
>>      >
>>      >     I'm probably missing something easy.  Any hints?
>>      >
>>      >     _______________________________________________
>>      >     pmwiki-users mailing list
>>      > pmwiki-users at pmichaud.com <mailto:pmwiki-users at pmichaud.com>
>>     <mailto:pmwiki-users at pmichaud.com <mailto:pmwiki-users at pmichaud.com>>
>>      > http://www.pmichaud.com/mailman/listinfo/pmwiki-users <http://
>>     www.pmichaud.com/mailman/listinfo/pmwiki-users> <http://
>>      > www.pmichaud.com/mailman/listinfo/pmwiki-users <http://www.pmichaud.com/
>>     mailman/listinfo/pmwiki-users>>
>>      >
>>
>>
>>     _______________________________________________
>>     pmwiki-users mailing list
>>     pmwiki-users at pmichaud.com <mailto:pmwiki-users at pmichaud.com>
>>     http://www.pmichaud.com/mailman/listinfo/pmwiki-users <http://
>>     www.pmichaud.com/mailman/listinfo/pmwiki-users>
>>
> 
> 
> _______________________________________________
> 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