func loadTemplates()

in pkg/handlers/template_utils.go [58:91]


func loadTemplates() error {
	templateConfigs = make(map[string]*Template)
	return fs.WalkDir(template.Templates, ".", func(path string, d fs.DirEntry, err error) error {
		if err != nil {
			return err
		}

		if d.IsDir() {
			return nil
		}

		if !strings.EqualFold(d.Name(), "draft.yaml") {
			return nil
		}

		draftConfig, err := config.NewConfigFromFS(template.Templates, path)
		if err != nil {
			return err
		}

		if _, ok := templateConfigs[strings.ToLower(draftConfig.TemplateName)]; ok {
			return fmt.Errorf("duplicate template name: %s", draftConfig.TemplateName)
		}

		newTemplate := &Template{
			Config:        draftConfig,
			src:           sanatizeTemplateSrcDir(path),
			templateFiles: template.Templates,
		}

		templateConfigs[strings.ToLower(draftConfig.TemplateName)] = newTemplate
		return nil
	})
}