79 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
{{ $js := .Site.Data.lib.js }}
 | 
						|
{{ $css := .Site.Data.lib.css }}
 | 
						|
 | 
						|
{{ if in .Params.Libraries "mermaid" }}
 | 
						|
  {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\" title=\"mermaid\"></script>" $js.mermaid.url $js.mermaid.sri | safeHTML }}
 | 
						|
  <script>
 | 
						|
    {{ $themeVariant := (index .Site.Params.themeOptions 0) }}
 | 
						|
    var themeVariant = localStorage.getItem('theme') || JSON.parse({{ $themeVariant | jsonify }});
 | 
						|
 | 
						|
    if (themeVariant === "dark" || themeVariant === "hacker") {
 | 
						|
      mermaid.initialize({ theme: 'dark' });
 | 
						|
    } else {
 | 
						|
      mermaid.initialize({ theme: 'default' });
 | 
						|
    }   
 | 
						|
 | 
						|
    // mermaid Fix Mermaid.js clash with Highlight.js.  
 | 
						|
    let mermaids = [];
 | 
						|
    [].push.apply(mermaids, document.getElementsByClassName('language-mermaid'));
 | 
						|
    for (i = 0; i < mermaids.length; i++) {
 | 
						|
      $(mermaids[i]).unwrap('pre');  // Remove <pre> wrapper.
 | 
						|
      $(mermaids[i]).replaceWith(function () {
 | 
						|
        // Convert <code> block to <div> and add `mermaid` class so that Mermaid will parse it.
 | 
						|
        return $("<div />").append($(this).contents()).addClass('mermaid');
 | 
						|
      });
 | 
						|
    }
 | 
						|
</script>
 | 
						|
{{ end }}
 | 
						|
 | 
						|
{{ if in .Params.Libraries "katex" }}
 | 
						|
  {{ printf "<link rel=\"stylesheet\" href=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\">" $css.katex.url $css.katex.sri | safeHTML }}
 | 
						|
  {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\" title=\"katex\"></script>" $js.katex.url $js.katex.sri | safeHTML }}
 | 
						|
  {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\" title=\"katex\"></script>" $js.katex_auto_render.url $js.katex_auto_render.sri | safeHTML }}
 | 
						|
  <script>
 | 
						|
    var mathElements = document.getElementsByClassName('math');
 | 
						|
    var options = [
 | 
						|
      { left: "$$", right: "$$", display: true },
 | 
						|
      { left: "\\(", right: "\\)", display: false },
 | 
						|
      { left: "\\[", right: "\\]", display: true }
 | 
						|
    ];
 | 
						|
 | 
						|
    renderMathInElement(document.getElementsByClassName('single__contents')[0], options);
 | 
						|
  </script>
 | 
						|
{{ end }}
 | 
						|
 | 
						|
{{ if in .Params.Libraries "flowchartjs" }}
 | 
						|
  {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\" title=\"raphael\"></script>" $js.raphael.url $js.raphael.sri | safeHTML }}
 | 
						|
  {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\" title=\"flowchartjs\"></script>" $js.flowchartjs.url $js.flowchartjs.sri | safeHTML }}  
 | 
						|
  
 | 
						|
  <script>        
 | 
						|
    {{ $flowchartjs := .Site.Data.flowchartjs }}
 | 
						|
    var options = JSON.parse({{ $flowchartjs | jsonify }});
 | 
						|
 | 
						|
    $('.diagram').each(function() {
 | 
						|
      var diagramContent = $(this).text(); 
 | 
						|
      $(this).text('');
 | 
						|
 | 
						|
      var diagram = flowchart.parse(diagramContent);
 | 
						|
      diagram.drawSVG('diagram', options);
 | 
						|
    });    
 | 
						|
 | 
						|
  </script>
 | 
						|
{{ end }}
 | 
						|
 | 
						|
{{ if in .Params.Libraries "mathjax" }}
 | 
						|
{{ printf "<script async src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\" title=\"mathjax\"></script>" $js.mathjax.url $js.mathjax.sri | safeHTML }}
 | 
						|
<script>
 | 
						|
  window.MathJax = {
 | 
						|
    tex: {
 | 
						|
      inlineMath: [['$', '$'], ['\\(', '\\)']],
 | 
						|
      displayMath: [['$$', '$$'], ['\\[', '\\]']],
 | 
						|
      processEscapes: false,
 | 
						|
      packages: { '[+]': ['noerrors'] }
 | 
						|
    },
 | 
						|
    loader: {
 | 
						|
      load: ['[tex]/noerrors']
 | 
						|
    },
 | 
						|
  };
 | 
						|
</script>
 | 
						|
{{ end }} |