[pmwiki-users] I would like to create custom markup like github markdown backticks mermaid
Christopher Cox
chriscox at endlessnow.com
Fri Oct 23 11:11:00 PDT 2026
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:
@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>
>
More information about the pmwiki-users
mailing list