mirror of https://github.com/ElemeFE/element
				
				
				
			
		
			
				
	
	
		
			25 lines
		
	
	
		
			750 B
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			750 B
		
	
	
	
		
			JavaScript
		
	
	
| const mdContainer = require('markdown-it-container');
 | |
| 
 | |
| module.exports = md => {
 | |
|   md.use(mdContainer, 'demo', {
 | |
|     validate(params) {
 | |
|       return params.trim().match(/^demo\s*(.*)$/);
 | |
|     },
 | |
|     render(tokens, idx) {
 | |
|       const m = tokens[idx].info.trim().match(/^demo\s*(.*)$/);
 | |
|       if (tokens[idx].nesting === 1) {
 | |
|         const description = m && m.length > 1 ? m[1] : '';
 | |
|         const content = tokens[idx + 1].type === 'fence' ? tokens[idx + 1].content : '';
 | |
|         return `<demo-block>
 | |
|         ${description ? `<div>${md.render(description)}</div>` : ''}
 | |
|         <!--element-demo: ${content}:element-demo-->
 | |
|         `;
 | |
|       }
 | |
|       return '</demo-block>';
 | |
|     }
 | |
|   });
 | |
| 
 | |
|   md.use(mdContainer, 'tip');
 | |
|   md.use(mdContainer, 'warning');
 | |
| };
 |