From 682ec9cd1498f58151bef765e1247fed690ab252 Mon Sep 17 00:00:00 2001 From: Physcik Date: Fri, 26 Dec 2025 16:29:44 +0500 Subject: Render start --- src/Render/Templates.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'src/Render/Templates.go') diff --git a/src/Render/Templates.go b/src/Render/Templates.go index 544a2ac..ab24878 100644 --- a/src/Render/Templates.go +++ b/src/Render/Templates.go @@ -2,11 +2,16 @@ package render import ( "fmt" + "log/slog" + "net/http" "os" + "text/template" settings "physick.ru/Settings" ) +const indexTemplateName string = "index.html" + func getTemplateString(templName string) (string, error) { var fullPath = fmt.Sprintf("%s/%s", settings.Current.TemplatesLocation, templName) var file, fopenerr = os.ReadFile(fullPath) @@ -15,3 +20,31 @@ func getTemplateString(templName string) (string, error) { } return string(file), nil } + +func executeIndexTemplate(content IndexTemplateContents, w http.ResponseWriter) { + var indexTempl, readErr = getTemplateString(indexTemplateName) + if readErr != nil { + slog.Error("Failed to load template", slog.Any("Error", readErr)) + w.WriteHeader(http.StatusInternalServerError) + return + } + var templ, templErr = template.New("index").Parse(indexTempl) + if templErr != nil { + slog.Error("Failed to parse the template", slog.Any("Error", templErr)) + w.WriteHeader(http.StatusInternalServerError) + return + } + var err = templ.Execute(w, content) + if err != nil { + slog.Error("Failed to execute the template", slog.Any("Error", err)) + } +} + +func getTemplate(templName string) (string, error) { + var fullPath = fmt.Sprintf("%s/%s", settings.Current.ArticlesLocation, templName) + var file, fopenerr = os.ReadFile(fullPath) + if fopenerr != nil { + return "", fopenerr + } + return string(file), nil +} -- cgit v1.3