Merge pull request #572 from ericchiang/dev-cleanup-template-generation
dev-branch: generate string literals instead of escaped strings
This commit is contained in:
commit
03ad99464f
3 changed files with 354 additions and 6 deletions
|
@ -27,6 +27,10 @@ var requiredTmpls = []string{
|
|||
|
||||
// TemplateConfig describes.
|
||||
type TemplateConfig struct {
|
||||
// TODO(ericchiang): Asking for a directory with a set of templates doesn't indicate
|
||||
// what the templates should look like and doesn't allow consumers of this package to
|
||||
// provide their own templates in memory. In the future clean this up.
|
||||
|
||||
// Directory of the templates. If empty, these will be loaded from memory.
|
||||
Dir string `yaml:"dir"`
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -32,12 +32,15 @@ func ignoreFile(p string) (ok bool, err error) {
|
|||
return false, err
|
||||
}
|
||||
|
||||
// Maps aren't deterministic, use a struct instead.
|
||||
|
||||
type fileData struct {
|
||||
name string
|
||||
data string
|
||||
}
|
||||
|
||||
func main() {
|
||||
// ReadDir guarentees result in sorted order.
|
||||
dir, err := ioutil.ReadDir("web/templates")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
|
@ -57,6 +60,9 @@ func main() {
|
|||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if bytes.Contains(data, []byte{'`'}) {
|
||||
log.Fatalf("file %s contains escape character '`' and cannot be compiled into go source", p)
|
||||
}
|
||||
files = append(files, fileData{file.Name(), string(data)})
|
||||
}
|
||||
|
||||
|
@ -69,7 +75,7 @@ func main() {
|
|||
fmt.Fprintln(f, "// defaultTemplates is a key for file name to file data of the files in web/templates.")
|
||||
fmt.Fprintln(f, "var defaultTemplates = map[string]string{")
|
||||
for _, file := range files {
|
||||
fmt.Fprintf(f, "\t%q: %q,\n", file.name, file.data)
|
||||
fmt.Fprintf(f, "\t%q: `%s`,\n", file.name, file.data)
|
||||
}
|
||||
fmt.Fprintln(f, "}")
|
||||
|
||||
|
|
Reference in a new issue