我正在尝试通过mkdocs(含材料)从markdown文件生成文档,以在gitlab上发布。我的文件包括代码块和美人鱼图表,它们声明相同(在语言上有所不同)。我想使用CodeHilite来美化代码块,但美人鱼块也将由它作为代码块进行处理,然后被mermaid-mkdocs插件忽略。有没有办法,我可以从codeHilite或某些其他更改中排除某些块以将两者一起使用?
答案 0 :(得分:2)
我遇到了完全相同的问题,并通过使用pymdownx
扩展名(与mkdocs主题捆绑在一起,请参见https://squidfunk.github.io/mkdocs-material/extensions/pymdown/)找到了以下解决方案:
在您的mkdocs.yml
中添加以下内容:
markdown_extensions:
- codehilite
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_div_format
extra_javascript:
- https://unpkg.com/mermaid@8.5.1/dist/mermaid.min.js
我不对mermaid2
之类的美人鱼使用任何其他mkdocs插件。
此解决方案基于https://github.com/squidfunk/mkdocs-material/issues/693#issuecomment-411885426
答案 1 :(得分:1)
如果使用 mermaid2 插件,则自述文件包含Using Mermaid and code highlighting at the same time上的一部分。
您将必须以这种方式使用监督:
markdown_extensions:
- pymdownx.superfences:
# make exceptions to highlighting of code:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:mermaid2.fence_mermaid
注意: @streuspeicher说您不必使用mermaid2插件来利用美人鱼图是正确的,如果您具有平均值 了解mkdocs,javascript库等。
我在设计mermaid2 [披露]时考虑了两种类型的用户:
初学者,他们几乎不了解CSS,JavaScript等内容,并且对美人鱼一无所知。他们只需要在插件列表下声明mermaid2
,即可使用。
另一方面,真正想通过主题,回调等来调整美人鱼使用情况的高级用户,并希望拥有一个可靠的框架来做到这一点。 >
如果您处于最佳位置(对美人鱼图有基本需求,并且对扩展,css,javascript等有信心),则可以不用美人鱼2。