summaryrefslogtreecommitdiff
path: root/src/Render/Templates.go
diff options
context:
space:
mode:
authorPhyscik <mynameisgennadiy@vk.com>2025-12-26 16:29:44 +0500
committerPhyscik <mynameisgennadiy@vk.com>2025-12-26 16:29:44 +0500
commit682ec9cd1498f58151bef765e1247fed690ab252 (patch)
treee1b7a52f59ac18a178475839bb71e6accd1e8b08 /src/Render/Templates.go
parent39f7384dfc295bd80bfe8514335930cfdf6d85a0 (diff)
Render start
Diffstat (limited to 'src/Render/Templates.go')
-rw-r--r--src/Render/Templates.go33
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
+}