mirror of
https://github.com/next-theme/hexo-theme-next.git
synced 2026-01-20 19:02: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 %}
|
{%- if theme.mermaid.enable %}
|
||||||
<script{{ pjax }}>
|
<script{{ pjax }}>
|
||||||
if (document.querySelectorAll('.mermaid').length) {
|
var mermaidElements = document.querySelectorAll('.mermaid');
|
||||||
|
if (mermaidElements.length) {
|
||||||
NexT.utils.getScript('{{ theme.vendors.mermaid }}', () => {
|
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({
|
mermaid.init({
|
||||||
theme : '{{ theme.mermaid.theme }}',
|
theme : '{{ theme.mermaid.theme }}',
|
||||||
logLevel : 3,
|
logLevel : 3,
|
||||||
|
|||||||
@ -7,8 +7,8 @@
|
|||||||
const { escapeHTML } = require('hexo-util');
|
const { escapeHTML } = require('hexo-util');
|
||||||
|
|
||||||
module.exports = function(args, content) {
|
module.exports = function(args, content) {
|
||||||
return `<div class="mermaid">
|
return `<pre class="mermaid">
|
||||||
${args.join(' ')}
|
${args.join(' ')}
|
||||||
${escapeHTML(content)}
|
${escapeHTML(content)}
|
||||||
</div>`;
|
</pre>`;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -13,9 +13,9 @@ describe('mermaid', () => {
|
|||||||
const mermaid = require('../../scripts/tags/mermaid');
|
const mermaid = require('../../scripts/tags/mermaid');
|
||||||
|
|
||||||
it('default', () => {
|
it('default', () => {
|
||||||
mermaid(['graph', 'TD'], result).should.eql(`<div class="mermaid">
|
mermaid(['graph', 'TD'], result).should.eql(`<pre class="mermaid">
|
||||||
graph TD
|
graph TD
|
||||||
${escapeHTML(result)}
|
${escapeHTML(result)}
|
||||||
</div>`);
|
</pre>`);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user