add installer alpha version
This commit is contained in:
@@ -55,11 +55,40 @@ type App struct {
|
||||
}
|
||||
|
||||
func New(cfg Config) (*App, error) {
|
||||
// Resolve paths relative to executable or current working directory
|
||||
if cfg.TemplatesDir == "" {
|
||||
cfg.TemplatesDir = "web/templates"
|
||||
// Try multiple locations for templates
|
||||
possiblePaths := []string{
|
||||
"web/templates",
|
||||
"./web/templates",
|
||||
"/opt/atlas/web/templates",
|
||||
}
|
||||
for _, path := range possiblePaths {
|
||||
if _, err := os.Stat(path); err == nil {
|
||||
cfg.TemplatesDir = path
|
||||
break
|
||||
}
|
||||
}
|
||||
if cfg.TemplatesDir == "" {
|
||||
cfg.TemplatesDir = "web/templates" // Default fallback
|
||||
}
|
||||
}
|
||||
if cfg.StaticDir == "" {
|
||||
cfg.StaticDir = "web/static"
|
||||
// Try multiple locations for static files
|
||||
possiblePaths := []string{
|
||||
"web/static",
|
||||
"./web/static",
|
||||
"/opt/atlas/web/static",
|
||||
}
|
||||
for _, path := range possiblePaths {
|
||||
if _, err := os.Stat(path); err == nil {
|
||||
cfg.StaticDir = path
|
||||
break
|
||||
}
|
||||
}
|
||||
if cfg.StaticDir == "" {
|
||||
cfg.StaticDir = "web/static" // Default fallback
|
||||
}
|
||||
}
|
||||
|
||||
tmpl, err := parseTemplates(cfg.TemplatesDir)
|
||||
@@ -228,6 +257,12 @@ func parseTemplates(dir string) (*template.Template, error) {
|
||||
|
||||
funcs := template.FuncMap{
|
||||
"nowRFC3339": func() string { return time.Now().Format(time.RFC3339) },
|
||||
"getContentTemplate": func(data map[string]any) string {
|
||||
if ct, ok := data["ContentTemplate"].(string); ok && ct != "" {
|
||||
return ct
|
||||
}
|
||||
return "content"
|
||||
},
|
||||
}
|
||||
|
||||
t := template.New("root").Funcs(funcs)
|
||||
|
||||
Reference in New Issue
Block a user