-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mermaid graphs on multiple pages only render on first synchronous load #504
Comments
Hi, This seems to be caused by the variable <script>
function makeid(len) {
var text = new Array(len);
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
for (var i = 0; i < len; i++) text[i] = possible.charAt(Math.floor(Math.random() * possible.length));
return text.join("");
}
mermaid.initialize({ startOnLoad: false });
window.$docsify = {
markdown: {
renderer: {
code: function(code, lang) {
if (lang === "mermaid") {
var id = makeid(10);
var svg = mermaid.render(id, code)
return (
'<div class="mermaid">' + svg + '</div>'
);
}
return this.origin.code.apply(this, arguments);
}
}
},
}
</script> |
Well thank you very much, it did solve my case. I didn't notice mermaid #render method took an id as first param wasn't obvious for me while reading the demo and/or doc. Thank you very much ! |
Thanks a lot, I have encountered this problem too after following docsify's documentation. This is the problem: I see the element tab on Chrome, there are several graphs with same id But could anyone explain the reason why this happens? |
Please makes sure these boxes are checked before submitting your PR, thank you! * [x] Make sure you are merging your commits to `master` branch. * [x] Add some descriptions and refer relative issues for you PR. * [x] DO NOT include files inside `lib` directory.
Please makes sure these boxes are checked before submitting your PR, thank you! * [x] Make sure you are merging your commits to `master` branch. * [x] Add some descriptions and refer relative issues for you PR. * [x] DO NOT include files inside `lib` directory.
Hi all,
Thanks a lot for the awesome work done on docsify, love it !
I'm having troubles with 2 mermaid graphs on two separate pages.
When I access each of these pages synchronously, each graph renders correctly.
But when I try to navigate from one page to the other, the second one asynchronously loaded doesn't have any graph rendered.
On click, it does go through the following snippet :
Mermaid seems to generate the proper svg graph based on raw text.
But when the destination page is rendered it looks like it didn't replace raw text by svg graph in place resulting in the page rendered without any graph.
I guess i'm missing something, thanks for your help.
The text was updated successfully, but these errors were encountered: