# goldmark-fenced_codeblock_extension **Repository Path**: OhYee/goldmark-fenced_codeblock_extension ## Basic Information - **Project Name**: goldmark-fenced_codeblock_extension - **Description**: No description available - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-04-04 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # goldmark-fenced_codeblock_extension [![Sync to Gitee](https://github.com/OhYee/goldmark-fenced_codeblock_extension/workflows/Sync%20to%20Gitee/badge.svg)](https://gitee.com/OhYee/goldmark-fenced_codeblock_extension) [![version](https://img.shields.io/github/v/tag/OhYee/goldmark-fenced_codeblock_extension)](https://github.com/OhYee/goldmark-fenced_codeblock_extension/tags) A extension for [goldmark](http://github.com/yuin/goldmark) to enhance fenced codeblock ```go ext.RenderMap{ Language: []string{"red", "green"}, RenderFunction: Renderer, } ``` ```go 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("%s", raw)) case "green": w.WriteString(fmt.Sprintf("%s", raw)) default: w.WriteString(fmt.Sprintf("%s", raw)) } return ast.WalkContinue, nil } ``` Then, you can use this in markdown ```markdown  ```red  RED  ``` ``` and get `RED`