Skip to content

扩展代码块语法

sunsonliu edited this page Jan 17, 2024 · 1 revision

例子

new Cherry({
    id: 'markdown-container', 
    syntax: {
      codeBlock: {
        customRenderer: {
          // 自定义语法渲染器
          myRenderer1: {
            render: (src, sign, cherryEnding)=> {
              return `<p class="my-render">${src}</p>`;
            }
          }
        },
      },
    },
});

效果image

解释上述例子

  • myRenderer1是语法的名字
  • render是对应的渲染逻辑,参数解释:
    1. src是代码块里的源码
    2. sign是代码块的签名,可以根据sign做缓存,sign不变,则可认为内容没变,直接返回缓存内容
    3. cherryEngine是cherry解析引擎的对象,可以用cherryEngine.md5(src)来获取src对应的sign