mirror of
https://github.com/next-theme/hexo-theme-next.git
synced 2026-01-17 18:22:33 +00:00
Fix mermaid preformatted issue
* See: https://github.com/theme-next/hexo-theme-next/pull/1539
* See: 376d71878f
* See: https://github.com/next-theme/hexo-theme-next/issues/211
This commit is contained in:
parent
742781a264
commit
9ef3a63552
10
layout/_third-party/tags/mermaid.njk
vendored
10
layout/_third-party/tags/mermaid.njk
vendored
@ -1,7 +1,15 @@
|
||||
{%- if theme.mermaid.enable %}
|
||||
<script{{ pjax }}>
|
||||
if (document.querySelectorAll('.mermaid').length) {
|
||||
var mermaidElements = document.querySelectorAll('.mermaid');
|
||||
if (mermaidElements.length) {
|
||||
NexT.utils.getScript('{{ theme.vendors.mermaid }}', () => {
|
||||
mermaidElements.forEach(element => {
|
||||
const newElement = document.createElement('div');
|
||||
newElement.innerHTML = element.innerHTML;
|
||||
newElement.className = element.className;
|
||||
element.parentNode.replaceChild(newElement, element);
|
||||
});
|
||||
|
||||
mermaid.init({
|
||||
theme : '{{ theme.mermaid.theme }}',
|
||||
logLevel : 3,
|
||||
|
||||
@ -7,8 +7,8 @@
|
||||
const { escapeHTML } = require('hexo-util');
|
||||
|
||||
module.exports = function(args, content) {
|
||||
return `<div class="mermaid">
|
||||
return `<pre class="mermaid">
|
||||
${args.join(' ')}
|
||||
${escapeHTML(content)}
|
||||
</div>`;
|
||||
</pre>`;
|
||||
};
|
||||
|
||||
@ -13,9 +13,9 @@ describe('mermaid', () => {
|
||||
const mermaid = require('../../scripts/tags/mermaid');
|
||||
|
||||
it('default', () => {
|
||||
mermaid(['graph', 'TD'], result).should.eql(`<div class="mermaid">
|
||||
mermaid(['graph', 'TD'], result).should.eql(`<pre class="mermaid">
|
||||
graph TD
|
||||
${escapeHTML(result)}
|
||||
</div>`);
|
||||
</pre>`);
|
||||
});
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user