diff options
Diffstat (limited to 'modules/svg')
-rw-r--r-- | modules/svg/discover_bindata.go | 32 | ||||
-rw-r--r-- | modules/svg/discover_nobindata.go | 31 | ||||
-rw-r--r-- | modules/svg/svg.go | 13 |
3 files changed, 76 insertions, 0 deletions
diff --git a/modules/svg/discover_bindata.go b/modules/svg/discover_bindata.go new file mode 100644 index 0000000000..51fd8a4a6c --- /dev/null +++ b/modules/svg/discover_bindata.go @@ -0,0 +1,32 @@ +// Copyright 2020 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +// +build bindata + +package svg + +import ( + "path" + "path/filepath" + + "code.gitea.io/gitea/modules/public" +) + +// Discover returns a map of discovered SVG icons in bindata +func Discover() map[string]string { + svgs := make(map[string]string) + + for _, file := range public.AssetNames() { + matched, _ := filepath.Match("img/svg/*.svg", file) + if matched { + content, err := public.Asset(file) + if err == nil { + filename := path.Base(file) + svgs[filename[:len(filename)-4]] = string(content) + } + } + } + + return svgs +} diff --git a/modules/svg/discover_nobindata.go b/modules/svg/discover_nobindata.go new file mode 100644 index 0000000000..04ce447de8 --- /dev/null +++ b/modules/svg/discover_nobindata.go @@ -0,0 +1,31 @@ +// Copyright 2020 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +// +build !bindata + +package svg + +import ( + "io/ioutil" + "path" + "path/filepath" + + "code.gitea.io/gitea/modules/setting" +) + +// Discover returns a map of discovered SVG icons in the file system +func Discover() map[string]string { + svgs := make(map[string]string) + + files, _ := filepath.Glob(path.Join(setting.StaticRootPath, "public", "img", "svg", "*.svg")) + for _, file := range files { + content, err := ioutil.ReadFile(file) + if err == nil { + filename := path.Base(file) + svgs[filename[:len(filename)-4]] = string(content) + } + } + + return svgs +} diff --git a/modules/svg/svg.go b/modules/svg/svg.go new file mode 100644 index 0000000000..1d1f8a90eb --- /dev/null +++ b/modules/svg/svg.go @@ -0,0 +1,13 @@ +// Copyright 2020 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package svg + +// SVGs contains discovered SVGs +var SVGs map[string]string + +// Init discovers SVGs and populates the `SVGs` variable +func Init() { + SVGs = Discover() +} |