github.com/e154/smart-home@v0.17.2-0.20240311175135-e530a6e5cd45/doc/themes/docsy/assets/js/mermaid.js (about) 1 {{ with .Site.Params.mermaid }} 2 {{ if .enable }} 3 (function($) { 4 var needMermaid = false; 5 $('.language-mermaid').parent().replaceWith(function() { 6 needMermaid = true; 7 return $('<pre class="mermaid">').text($(this).text()); 8 }); 9 10 if (!needMermaid) { 11 mermaid.initialize({startOnLoad: false}); 12 return; 13 } 14 15 var params = {{ . | jsonify | safeJS }}; 16 17 // site params are stored with lowercase keys; lookup correct casing 18 // from Mermaid default config. 19 var norm = function(defaultConfig, params) { 20 var result = {}; 21 for (const key in defaultConfig) { 22 const keyLower = key.toLowerCase(); 23 if (defaultConfig.hasOwnProperty(key) && params.hasOwnProperty(keyLower)) { 24 if (typeof defaultConfig[key] === "object") { 25 result[key] = norm(defaultConfig[key], params[keyLower]); 26 } else { 27 result[key] = params[keyLower]; 28 } 29 } 30 } 31 return result; 32 }; 33 var settings = norm(mermaid.mermaidAPI.defaultConfig, params); 34 settings.startOnLoad = true; 35 mermaid.initialize(settings); 36 })(jQuery); 37 {{ end }} 38 {{ end }}