Documentation
¶
Index ¶
- type ContentGenerator
- type DefaultContentGenerator
- type DefaultPathProcessor
- type DefaultTemplateFilter
- type DefaultTemplateScanner
- type DefaultVariableLoader
- type GeneratedFile
- type Generator
- func (g *Generator) GenerateFiles(cfg *config.Config) ([]GeneratedFile, error)
- func (g *Generator) WithContentGenerator(generator ContentGenerator) *Generator
- func (g *Generator) WithPathProcessor(processor PathProcessor) *Generator
- func (g *Generator) WithTemplateFilter(filter TemplateFilter) *Generator
- func (g *Generator) WithTemplateScanner(scanner TemplateScanner) *Generator
- func (g *Generator) WithVariableLoader(loader VariableLoader) *Generator
- type PathProcessor
- type TemplateFile
- type TemplateFilter
- type TemplateScanner
- type VariableLoader
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ContentGenerator ¶
type ContentGenerator interface {
// GenerateContent 生成单个文件的内容
GenerateContent(templateFile TemplateFile, outputPath string, engine interface{}) (string, error)
}
ContentGenerator 定义内容生成器接口
type DefaultContentGenerator ¶
type DefaultContentGenerator struct{}
DefaultContentGenerator 默认的内容生成器实现
func NewDefaultContentGenerator ¶
func NewDefaultContentGenerator() *DefaultContentGenerator
NewDefaultContentGenerator 创建默认的内容生成器
func (*DefaultContentGenerator) GenerateContent ¶
func (g *DefaultContentGenerator) GenerateContent(templateFile TemplateFile, outputPath string, engine interface{}) (string, error)
GenerateContent 生成单个文件的内容
type DefaultPathProcessor ¶
type DefaultPathProcessor struct{}
DefaultPathProcessor 默认的路径处理器实现
func NewDefaultPathProcessor ¶
func NewDefaultPathProcessor() *DefaultPathProcessor
NewDefaultPathProcessor 创建默认的路径处理器
func (*DefaultPathProcessor) ProcessOutputPath ¶
func (p *DefaultPathProcessor) ProcessOutputPath(templateFile TemplateFile, outputDir string, variables map[string]interface{}) (string, error)
ProcessOutputPath 处理模板的输出路径
type DefaultTemplateFilter ¶
type DefaultTemplateFilter struct {
SkipChildTemplates bool // 是否跳过子模板
SkipTemplateSuffixes string // 要跳过的模板文件后缀,多个后缀用逗号分隔
SkipTemplatePrefixes string // 要跳过的模板路径前缀,多个前缀用逗号分隔
TemplateDir string // 模板目录,用于计算相对路径
}
DefaultTemplateFilter 默认的模板过滤器实现
func NewDefaultTemplateFilter ¶
func NewDefaultTemplateFilter(skipChild bool, skipSuffixes, skipPrefixes, templateDir string) *DefaultTemplateFilter
NewDefaultTemplateFilter 创建默认的模板过滤器
func (*DefaultTemplateFilter) ShouldInclude ¶
func (f *DefaultTemplateFilter) ShouldInclude(path, relativePath string) (bool, string)
ShouldInclude 检查是否应该包含指定的模板文件
type DefaultTemplateScanner ¶
type DefaultTemplateScanner struct{}
DefaultTemplateScanner 默认的模板扫描器实现
func NewDefaultTemplateScanner ¶
func NewDefaultTemplateScanner() *DefaultTemplateScanner
NewDefaultTemplateScanner 创建默认的模板扫描器
func (*DefaultTemplateScanner) ScanTemplates ¶
func (s *DefaultTemplateScanner) ScanTemplates(templateDir string, filter TemplateFilter) ([]TemplateFile, error)
ScanTemplates 扫描模板目录,返回符合条件的模板文件列表
type DefaultVariableLoader ¶
DefaultVariableLoader 默认的变量加载器实现
func NewDefaultVariableLoader ¶
func NewDefaultVariableLoader(templateDir, variablesDir, outputDir string) *DefaultVariableLoader
NewDefaultVariableLoader 创建默认的变量加载器
func (*DefaultVariableLoader) FindVariableFiles ¶
func (l *DefaultVariableLoader) FindVariableFiles(variablesDir string, additionalFiles []string) ([]string, error)
FindVariableFiles 查找变量文件
func (*DefaultVariableLoader) LoadVariables ¶
func (l *DefaultVariableLoader) LoadVariables(variablesDir string, additionalFiles []string) (map[string]interface{}, error)
LoadVariables 加载变量文件并返回变量映射
type GeneratedFile ¶
type GeneratedFile struct {
// 模板文件路径
TemplatePath string
// 目标文件路径
OutputPath string
// 生成的内容
Content string
}
GeneratedFile 表示一个生成的文件
type Generator ¶
type Generator struct {
// contains filtered or unexported fields
}
Generator 代码生成器
func (*Generator) GenerateFiles ¶
func (g *Generator) GenerateFiles(cfg *config.Config) ([]GeneratedFile, error)
GenerateFiles 执行生成过程但不写入文件,而是返回生成的文件列表
func (*Generator) WithContentGenerator ¶
func (g *Generator) WithContentGenerator(generator ContentGenerator) *Generator
WithContentGenerator 设置内容生成器
func (*Generator) WithPathProcessor ¶
func (g *Generator) WithPathProcessor(processor PathProcessor) *Generator
WithPathProcessor 设置路径处理器
func (*Generator) WithTemplateFilter ¶
func (g *Generator) WithTemplateFilter(filter TemplateFilter) *Generator
WithTemplateFilter 设置模板过滤器
func (*Generator) WithTemplateScanner ¶
func (g *Generator) WithTemplateScanner(scanner TemplateScanner) *Generator
WithTemplateScanner 设置模板扫描器
func (*Generator) WithVariableLoader ¶
func (g *Generator) WithVariableLoader(loader VariableLoader) *Generator
WithVariableLoader 设置变量加载器
type PathProcessor ¶
type PathProcessor interface {
// ProcessOutputPath 处理模板的输出路径
ProcessOutputPath(templateFile TemplateFile, outputDir string, variables map[string]interface{}) (string, error)
}
PathProcessor 定义路径处理器接口
type TemplateFile ¶
TemplateFile 表示一个模板文件
type TemplateFilter ¶
TemplateFilter 定义模板过滤器接口 返回值: (是否包含该模板, 排除原因)
type TemplateScanner ¶
type TemplateScanner interface {
// ScanTemplates 扫描模板目录,返回符合条件的模板文件列表
ScanTemplates(templateDir string, filter TemplateFilter) ([]TemplateFile, error)
}
TemplateScanner 定义模板扫描器接口
type VariableLoader ¶
type VariableLoader interface {
// LoadVariables 加载变量文件并返回变量映射
LoadVariables(variablesDir string, additionalFiles []string) (map[string]interface{}, error)
// FindVariableFiles 查找变量文件
FindVariableFiles(variablesDir string, additionalFiles []string) ([]string, error)
}
VariableLoader 定义变量加载器接口