代码拉取完成,页面将自动刷新
A extension for goldmark to enhance fenced codeblock
ext.RenderMap{
Language: []string{"red", "green"},
RenderFunction: Renderer,
}
func Renderer(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) {
n := node.(*ast.FencedCodeBlock)
language := string(n.Language(source))
buf := bytes.NewBuffer([]byte{})
l := n.Lines().Len()
for i := 0; i < l; i++ {
line := n.Lines().At(i)
buf.Write(line.Value(source))
}
raw := buf.String()
switch language {
case "red":
w.WriteString(fmt.Sprintf("<span style=\"color:red\">%s</span>", raw))
case "green":
w.WriteString(fmt.Sprintf("<span style=\"color:green\">%s</span>", raw))
default:
w.WriteString(fmt.Sprintf("<span>%s</span>", raw))
}
return ast.WalkContinue, nil
}
Then, you can use this in markdown
```red
RED
```
and get <span style="color:red">RED</span>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。