mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-15 11:58:11 -05:00
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.
|