我希望通过简单的提交和推送在GitHub页面中使用美人鱼。
换句话说,我希望这样写在我的markdown文件中
```mermaid
graph LR
A --> B
A -->C
C -->D
```
并在_layouts / post.html上添加一些js,以某种方式将其转换为美人鱼图。
我发现这个theme声称它支持这种东西。但是这个主题对我来说太重了,js太多了,所以我认为我只能使用file,这很简单
<script>
window.Lazyload.js('{{ _sources.mermaid }}', function() {
mermaid.initialize({
startOnLoad: true
});
mermaid.init(undefined, '.language-mermaid');
});
</script>
在我的_include / mermaid.html中,我将
{{ _sources.mermaid }}
替换为美人鱼CDN<script>
window.Lazyload.js('https://cdnjs.cloudflare.com/ajax/libs/mermaid/8.0.0/mermaid.min.js', function() {
mermaid.initialize({
startOnLoad: true
});
mermaid.init(undefined, '.language-mermaid');
});
</script>
它仍然无法正常工作。在我的帖子中,它显示为常规代码块,而不是美人鱼图。
编辑:在chrome开发人员看来,我看不到对
https://cdnjs.cloudflare.com/ajax/libs/mermaid/8.0.0/mermaid.min.js
链接的任何连接。我尝试了这段代码,即在开发人员 View 中的
network
标签中建立了与美人鱼的连接,但美人鱼图仍然无法正常工作<script src="https://cdnjs.cloudflare.com/ajax/libs/mermaid/8.0.0/mermaid.min.js"></script>
<script>
var config = {
startOnReady:true,
theme: 'forest',
flowchart:{
useMaxWidth:false,
htmlLabels:true
}
};
mermaid.initialize(config);
mermaid.init(undefined, '.language-mermaid');
</script>
最佳答案
我找到了解决方案。
<!DOCTYPE html>
<html lang="en">
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mermaid/8.0.0/mermaid.min.js"></script>
</head>
<body>
<pre><code class="language-mermaid">graph LR
A-->B
</code></pre>
<div class="mermaid">graph LR
A-->B
</div>
</body>
<script>
var config = {
startOnLoad:true,
theme: 'forest',
flowchart:{
useMaxWidth:false,
htmlLabels:true
}
};
mermaid.initialize(config);
window.mermaid.init(undefined, document.querySelectorAll('.language-mermaid'));
</script>
</html>