diff options
| author | Physcik <mynameisgennadiy@vk.com> | 2025-12-26 16:29:44 +0500 |
|---|---|---|
| committer | Physcik <mynameisgennadiy@vk.com> | 2025-12-26 16:29:44 +0500 |
| commit | 682ec9cd1498f58151bef765e1247fed690ab252 (patch) | |
| tree | e1b7a52f59ac18a178475839bb71e6accd1e8b08 /src/Render/Templates.go | |
| parent | 39f7384dfc295bd80bfe8514335930cfdf6d85a0 (diff) | |
Render start
Diffstat (limited to 'src/Render/Templates.go')
| -rw-r--r-- | src/Render/Templates.go | 33 |
1 files changed, 33 insertions, 0 deletions
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 +} |
