fixup readme
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
parent
ba5b9e8eb8
commit
9d51b6fb91
34
README.md
34
README.md
@ -22,12 +22,6 @@ The plugin parses **protobuf** files, generates an **ast**, and walks a local **
|
|||||||
3. the `ast` is given to [Golang's `text/template` engine](https://golang.org/pkg/text/template/) for each *user* template files
|
3. the `ast` is given to [Golang's `text/template` engine](https://golang.org/pkg/text/template/) for each *user* template files
|
||||||
4. the *funcmap* enriching the template engine is based on [Masterminds/sprig](https://github.com/Masterminds/sprig), and contains type-manipulation, iteration and language-specific helpers
|
4. the *funcmap* enriching the template engine is based on [Masterminds/sprig](https://github.com/Masterminds/sprig), and contains type-manipulation, iteration and language-specific helpers
|
||||||
|
|
||||||
## Web editor
|
|
||||||
|
|
||||||
![Web editor screenshot](https://github.com/moul/protoc-gen-gotemplate/raw/master/assets/web-editor.jpg)
|
|
||||||
|
|
||||||
[Demo server](http://protoc-gen-gotemplate.m.42.am/)
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
`protoc-gen-gotemplate` requires a **template_dir** directory *(by default `./templates`)*.
|
`protoc-gen-gotemplate` requires a **template_dir** directory *(by default `./templates`)*.
|
||||||
@ -61,15 +55,14 @@ $> protoc --gotemplate_out=debug=true,template_dir=/path/to/template/directory:.
|
|||||||
| `single-package-mode` | *false* | `true` or `false` | if *true*, `protoc` won't accept multiple packages to be compiled at once (*!= from `all`*), but will support `Message` lookup across the imported protobuf dependencies
|
| `single-package-mode` | *false* | `true` or `false` | if *true*, `protoc` won't accept multiple packages to be compiled at once (*!= from `all`*), but will support `Message` lookup across the imported protobuf dependencies
|
||||||
| `debug` | *false* | `true` or `false` | if *true*, `protoc` will generate a more verbose output
|
| `debug` | *false* | `true` or `false` | if *true*, `protoc` will generate a more verbose output
|
||||||
| `all` | *false* | `true` or `false` | if *true*, protobuf files without `Service` will also be parsed
|
| `all` | *false* | `true` or `false` | if *true*, protobuf files without `Service` will also be parsed
|
||||||
| `components` | `micro` | `micro, grpc, http, chi, gorilla | some values cant coexists like gorilla/chi or grpc/http
|
| `components` | `micro` | `micro|grpc|http|chi|gorilla` | some values cant coexists like gorilla/chi or grpc/http
|
||||||
|
|
||||||
##### Hints
|
##### Hints
|
||||||
|
|
||||||
Shipping the templates with your project is very smart and useful when contributing on git-based projects.
|
Shipping the templates with your project is very smart and useful when contributing on git-based projects.
|
||||||
|
|
||||||
Another workflow consists in having a dedicated repository for generic templates which is then versioned and vendored with multiple projects (npm package, golang vendor package, ...)
|
Another workflow consists in having a dedicated repository for generic templates which is then versioned and vendored with multiple projects (npm package, golang vendor package, ...)
|
||||||
|
|
||||||
See [examples](./examples).
|
|
||||||
|
|
||||||
## Funcmap
|
## Funcmap
|
||||||
|
|
||||||
This project uses [Masterminds/sprig](https://github.com/Masterminds/sprig) library and additional functions to extend the builtin [text/template](https://golang.org/pkg/text/template) helpers.
|
This project uses [Masterminds/sprig](https://github.com/Masterminds/sprig) library and additional functions to extend the builtin [text/template](https://golang.org/pkg/text/template) helpers.
|
||||||
@ -135,28 +128,7 @@ See the project helpers for the complete list.
|
|||||||
|
|
||||||
* Install the **Go** compiler and tools from https://golang.org/doc/install
|
* Install the **Go** compiler and tools from https://golang.org/doc/install
|
||||||
* Install **protobuf**: `go get -u github.com/golang/protobuf/{proto,protoc-gen-go}`
|
* Install **protobuf**: `go get -u github.com/golang/protobuf/{proto,protoc-gen-go}`
|
||||||
* Install **protoc-gen-gotemplate**: `go get -u moul.io/protoc-gen-gotemplate`
|
* Install **protoc-gen-gotemplate**: `go get -u github.com/unistack-org/protoc-gen-micro`
|
||||||
|
|
||||||
## Docker
|
|
||||||
|
|
||||||
* automated docker hub build: [https://hub.docker.com/r/moul/protoc-gen-gotemplate/](https://hub.docker.com/r/moul/protoc-gen-gotemplate/)
|
|
||||||
* Based on [http://github.com/znly/protoc](http://github.com/znly/protoc)
|
|
||||||
|
|
||||||
Usage:
|
|
||||||
|
|
||||||
```console
|
|
||||||
$> docker run --rm -v "$(pwd):$(pwd)" -w "$(pwd)" moul/protoc-gen-gotemplate -I. --gotemplate_out=./output/ ./*.proto
|
|
||||||
```
|
|
||||||
|
|
||||||
## Projects using `protoc-gen-gotemplate`
|
|
||||||
|
|
||||||
* [kafka-gateway](https://github.com/moul/kafka-gateway/): Kafka gateway/proxy (gRPC + http) using Go-Kit
|
|
||||||
* [translator](https://github.com/moul/translator): Translator Micro-service using Gettext and Go-Kit
|
|
||||||
* [acl](https://github.com/moul/acl): ACL micro-service (gRPC/protobuf + http/json)
|
|
||||||
|
|
||||||
## See also
|
|
||||||
|
|
||||||
* [pbhbs](https://github.com/gponsinet/pbhbs): protobuf gen based on handlebarjs template
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user