Мы генерируем документацию с помощью mkdocs с темой материала и до сих пор использовали расширение codehilite. Я добавил русалку, используя метод, описанный здесь: https://github.com/squidfunk/mkdocs-material/issues/693.
Во-первых, моя уценка:
# Examples
## Mermaid
```mermaid
graph LR
a[Start] -- b[(Storage)]-->d[End]
```
## Code
```
#!/usr/bin/python
import tensorflow as tf
```
Мой mkdocs.yml:
# Project information
site_name: Test
site_description: 'Mermaid with CodeHiLite'
theme:
name: material
feature:
tabs: false
extra_javascript:
- 'custom_content/mermaid.min.js'
markdown_extensions:
- codehilite
В этой конфигурации код русалки не отображается в виде диаграммы, но код выделен синтаксисом.
Если я расширю свой mkdocs.yml, чтобы добавить русалку вот так:
# Project information
site_name: Test
site_description: 'Mermaid with CodeHiLite'
theme:
name: material
feature:
tabs: false
extra_javascript:
- 'custom_content/mermaid.min.js'
markdown_extensions:
- codehilite
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_div_format
тогда диаграммы русалок отображаются правильно, но код не выделяется синтаксисом.
Если я изменю уценку, чтобы добавить язык в блок кода
``` python
#!/usr/bin/python
import tensorflow as tf
```
тогда и код, и диаграмма отображаются правильно. У меня проблема в том, что в существующей документации не указан язык, и до сих пор это работало.
Есть идеи, как заставить эти два расширения лучше работать вместе? Или мне просто нужно будет сказать разработчикам, чтобы они обновили свою уценку?