mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	* Add mermaid JS renderer For feature parity with GitLab. Tested in files, issues, wiki, editor. arc-green only does an inversion because the renderer seems to like to render white backgrounds on boxes. Ref: https://github.com/go-gitea/gitea/issues/3340 Fixes: https://github.com/go-gitea/gitea/issues/12307 * add feature entry, switch to neutral theme, remove border * add bindFunctions support * remove unnecessary border-radius Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
		
			
				
	
	
		
			24 lines
		
	
	
		
			662 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			662 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import {random} from '../utils.js';
 | 
						|
 | 
						|
export async function renderMermaid(els) {
 | 
						|
  if (!els || !els.length) return;
 | 
						|
 | 
						|
  const {mermaidAPI} = await import(/* webpackChunkName: "mermaid" */'mermaid');
 | 
						|
 | 
						|
  mermaidAPI.initialize({
 | 
						|
    startOnLoad: false,
 | 
						|
    theme: 'neutral',
 | 
						|
    securityLevel: 'strict',
 | 
						|
  });
 | 
						|
 | 
						|
  for (const el of els) {
 | 
						|
    mermaidAPI.render(`mermaid-${random(12)}`, el.textContent, (svg, bindFunctions) => {
 | 
						|
      const div = document.createElement('div');
 | 
						|
      div.classList.add('mermaid-chart');
 | 
						|
      div.innerHTML = svg;
 | 
						|
      if (typeof bindFunctions === 'function') bindFunctions(div);
 | 
						|
      el.closest('pre').replaceWith(div);
 | 
						|
    });
 | 
						|
  }
 | 
						|
}
 |