forked from Shiloh/githaven
b6a95a8cb3
* Dropped unused codekit config * Integrated dynamic and static bindata for public * Ignore public bindata * Add a general generate make task * Integrated flexible public assets into web command * Updated vendoring, added all missiong govendor deps * Made the linter happy with the bindata and dynamic code * Moved public bindata definition to modules directory * Ignoring the new bindata path now * Updated to the new public modules import path * Updated public bindata command and drop the new prefix
47 lines
1.3 KiB
Markdown
47 lines
1.3 KiB
Markdown
# go-bindata-assetfs
|
|
|
|
Serve embedded files from [jteeuwen/go-bindata](https://github.com/jteeuwen/go-bindata) with `net/http`.
|
|
|
|
[GoDoc](http://godoc.org/github.com/elazarl/go-bindata-assetfs)
|
|
|
|
### Installation
|
|
|
|
Install with
|
|
|
|
$ go get github.com/jteeuwen/go-bindata/...
|
|
$ go get github.com/elazarl/go-bindata-assetfs/...
|
|
|
|
### Creating embedded data
|
|
|
|
Usage is identical to [jteeuwen/go-bindata](https://github.com/jteeuwen/go-bindata) usage,
|
|
instead of running `go-bindata` run `go-bindata-assetfs`.
|
|
|
|
The tool will create a `bindata_assetfs.go` file, which contains the embedded data.
|
|
|
|
A typical use case is
|
|
|
|
$ go-bindata-assetfs data/...
|
|
|
|
### Using assetFS in your code
|
|
|
|
The generated file provides an `assetFS()` function that returns a `http.Filesystem`
|
|
wrapping the embedded files. What you usually want to do is:
|
|
|
|
http.Handle("/", http.FileServer(assetFS()))
|
|
|
|
This would run an HTTP server serving the embedded files.
|
|
|
|
## Without running binary tool
|
|
|
|
You can always just run the `go-bindata` tool, and then
|
|
|
|
use
|
|
|
|
import "github.com/elazarl/go-bindata-assetfs"
|
|
...
|
|
http.Handle("/",
|
|
http.FileServer(
|
|
&assetfs.AssetFS{Asset: Asset, AssetDir: AssetDir, AssetInfo: AssetInfo, Prefix: "data"}))
|
|
|
|
to serve files embedded from the `data` directory.
|