diff options
author | guillep2k <18600385+guillep2k@users.noreply.github.com> | 2020-02-01 23:17:44 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-02 10:17:44 +0800 |
commit | bcb52aef09160c1057baa97b9275e8fb63587b12 (patch) | |
tree | 30aa80530dc41a0a742a2eac87dd2141b4cfe621 /modules/public | |
parent | 9b9dd19d7dfe826789f0690f84d9f59470ad9e82 (diff) | |
download | gitea-bcb52aef09160c1057baa97b9275e8fb63587b12.tar.gz gitea-bcb52aef09160c1057baa97b9275e8fb63587b12.zip |
Implement "embedded" command to extract static resources (#9982)
* draft
* Implement extract command
* Fix nits and force args on extract
* Add !bindata stub, support Windows, fmt
* fix vendored flag
* Remove leading slash for matching
* Add docs
* Fix typos
* Add embedded view command
Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Diffstat (limited to 'modules/public')
-rw-r--r-- | modules/public/static.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/modules/public/static.go b/modules/public/static.go index 3e8865c3f9..76050632c9 100644 --- a/modules/public/static.go +++ b/modules/public/static.go @@ -7,6 +7,8 @@ package public import ( + "io/ioutil" + "gitea.com/macaron/macaron" ) @@ -17,3 +19,34 @@ func Static(opts *Options) macaron.Handler { // used when in the options there is no FileSystem. return opts.staticHandler("") } + +func Asset(name string) ([]byte, error) { + f, err := Assets.Open("/" + name) + if err != nil { + return nil, err + } + defer f.Close() + return ioutil.ReadAll(f) +} + +func AssetNames() []string { + realFS := Assets.(vfsgen۰FS) + var results = make([]string, 0, len(realFS)) + for k := range realFS { + results = append(results, k[1:]) + } + return results +} + +func AssetIsDir(name string) (bool, error) { + if f, err := Assets.Open("/" + name); err != nil { + return false, err + } else { + defer f.Close() + if fi, err := f.Stat(); err != nil { + return false, err + } else { + return fi.IsDir(), nil + } + } +} |