facelessuser / pymdown-extensions

Extensions for Python Markdown
https://facelessuser.github.io/pymdown-extensions/
Other
951 stars 253 forks source link

support fontawesome in mermaid #2265

Closed copdips closed 9 months ago

copdips commented 9 months ago

Description

Hello,

The official mermaid.js.org supports fontawesome, but it seems that not for superfence within mkdocs-mateial. It's ok for unicode emoji only for the moment.

Could you please add the support for fontawesome ? Thanks.

Benefits

Having beautiful fontawesome in mermaid charts.

Solution Idea

No response

facelessuser commented 9 months ago

I do not provide any official mermaid support. I provide some general guidance of how one can get it to run, more specifically how I've been able to get it running, but Pymdown Extensions does not provide mermaid support out of the box, and we don't provide any styling support at all. Pymdown Extensions never attaches styling, that is something for your theme to provide. At most we provide some basic examples of styling

copdips commented 9 months ago

Thanks for your prompt response. I'm not a expert in this domain, if I understand well, even though from mkdocs-material doc: image

it says that the mermaid support is done by this function: https://github.com/facelessuser/pymdown-extensions/blob/899e811fa4e562b771a97073ad075c17d79851e8/pymdownx/superfences.py#L133-L147

the real implementation is still in mkdocs-material ?

facelessuser commented 9 months ago

So, let me explain, all that function does is preserve the code without letting the Markdown parser parse it as Markdown. It's a custom fence that will store the content in a code block which will later be processed by Material when it runs Mermaid on it. We do not transform the code into mermaid diagrams, we preserve the code, that's all.

copdips commented 9 months ago

Ok I understand better now, if fontawesome doesn't render in mkdocs-material, it might be something wrong in the mermaid.js imported in mkdocs-material, maybe a new version of this js could fix the issue. Nevertheless, nothing with pymdown. Thanks a lot for your time for the explanation. I close this issue.