[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