mirror of
https://github.com/jc21/nginx-proxy-manager.git
synced 2024-08-30 18:22:48 +00:00
32 lines
615 B
Go
32 lines
615 B
Go
package nginx
|
|
|
|
import (
|
|
"io/fs"
|
|
"io/ioutil"
|
|
|
|
"npm/embed"
|
|
|
|
"github.com/aymerick/raymond"
|
|
)
|
|
|
|
// WriteTemplate will load, parse and write a template file
|
|
func WriteTemplate(templateName, outputFilename string, data map[string]interface{}) error {
|
|
// get template file content
|
|
subFs, _ := fs.Sub(embed.NginxFiles, "nginx")
|
|
template, err := fs.ReadFile(subFs, templateName)
|
|
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
// Render
|
|
parsedFile, err := raymond.Render(string(template), data)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
// Write it
|
|
// nolint: gosec
|
|
return ioutil.WriteFile(outputFilename, []byte(parsedFile), 0644)
|
|
}
|