https://github.com/mackee/seyfert
Template Engine for Golang code, like Generics.
https://github.com/mackee/seyfert
Last synced: about 1 year ago
JSON representation
Template Engine for Golang code, like Generics.
- Host: GitHub
- URL: https://github.com/mackee/seyfert
- Owner: mackee
- License: mit
- Created: 2016-11-23T01:39:06.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2016-12-11T02:03:49.000Z (over 9 years ago)
- Last Synced: 2025-04-01T12:52:54.975Z (about 1 year ago)
- Language: Go
- Size: 8.79 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# seyfert
> Template engine for Golang code.
**THIS IS A ALPHA QUALITY RELEASE. API MAY CHANGE WITHOUT NOTICE.**
## Table of Contents
* [Install](https://github.com/mackee/seyfert/blob/master/README.md#install)
* [Usage](https://github.com/mackee/seyfert/blob/master/README.md#usage)
* [Contribute](https://github.com/mackee/seyfert/blob/master/README.md#contribute)
* [License](https://github.com/mackee/seyfert/blob/master/README.md#license)
## Install
```
$ go get github.com/mackee/seyfert
```
## Usage
**Source**:
```go
package main
import (
"github.com/mackee/seyfert"
)
var tmpl = byte(`
package main
//+seyfert
type T_ struct {
//+expand F
}
//+seyfert
func (t T_) String() string {
return t.Name
}
`)
func main() {
binds := seyfert.Binds{
"T": "Person",
}
fiedsSet := seyfert.FieldsSet{
"F": seyfert.Fields{
seyfert.Field{
Name: "Name",
Type: "string",
Tag: `json:"name"`,
},
seyfert.Field{
Name: "Age",
Type: "int",
Tag: `json:"age"`,
},
},
}
err := seyfert.Render(tmpl, "person.gen.go", binds, fieldsSet, "main")
if err != nil {
panic(err)
}
}
```
**Generated File**:
```go
package main
//+seyfert
type Person struct {
Name string `json:"name"`
Age string `json:"age"`
}
//+seyfert
func (t Person) String() string {
return t.Name
}
```
See also: https://github.com/mackee/seyfert/blob/master/_example/genreqparser
## Contribute
PRs accepted.
## License
MIT © mackee