# 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
[](https://gitee.com/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`