Categorygithub.com/jensneuse/byte-template
repositorypackage
0.0.0-20231025215717-69252eb3ed56
Repository: https://github.com/jensneuse/byte-template.git
Documentation: pkg.go.dev

# README

byte-template

Byte Template is a templating engine for byte slices with custom directives.

package main
import (
    "bytes"
    "fmt"
    "github.com/jensneuse/byte-template"
    "io"
)

func main() {
    template := byte_template.New(byte_template.DirectiveDefinition{
        Name:[]byte("toLower"),
        Resolve:func(w io.Writer, arg []byte) (n int,err error) {
            return w.Write(bytes.ToLower(arg))
        },
    })
    buf := bytes.Buffer{}
    _,_ = template.Execute(&buf,[]byte("/api/user/{{ toLower .name }}"),func(w io.Writer, path []byte) (n int,err error) {
        if bytes.Equal(path,[]byte("name")){
            _,err = w.Write([]byte("Jens"))
        }
        return      
    })
    fmt.Println(buf.String()) // Output: jens
}

Contributors