فهرست منبع

Revert "perf(template): use `ParseFS` to directly parse the embedded template data"

This reverts commit 4336a0bd859a492c9c96ae3cfbff01f4b1718270.
Frédéric Guillot 8 ماه پیش
والد
کامیت
20825a92c5
2فایلهای تغییر یافته به همراه9 افزوده شده و 16 حذف شده
  1. 9 2
      internal/template/engine.go
  2. 0 14
      internal/template/engine_test.go

+ 9 - 2
internal/template/engine.go

@@ -55,6 +55,7 @@ func (e *Engine) ParseTemplates() error {
 		}
 		commonTemplateContents.Write(fileData)
 	}
+
 	dirEntries, err = viewTemplateFiles.ReadDir("templates/views")
 	if err != nil {
 		return err
@@ -85,10 +86,15 @@ func (e *Engine) ParseTemplates() error {
 
 	for _, dirEntry := range dirEntries {
 		templateName := dirEntry.Name()
+		fileData, err := standaloneTemplateFiles.ReadFile("templates/standalone/" + dirEntry.Name())
+		if err != nil {
+			return err
+		}
+
 		slog.Debug("Parsing template",
 			slog.String("template_name", templateName),
 		)
-		e.templates[templateName] = template.Must(template.New("base").Funcs(e.funcMap.Map()).ParseFS(standaloneTemplateFiles, "templates/standalone/"+dirEntry.Name()))
+		e.templates[templateName] = template.Must(template.New("base").Funcs(e.funcMap.Map()).Parse(string(fileData)))
 	}
 
 	return nil
@@ -113,7 +119,8 @@ func (e *Engine) Render(name string, data map[string]any) []byte {
 	})
 
 	var b bytes.Buffer
-	if err := tpl.ExecuteTemplate(&b, "base", data); err != nil {
+	err := tpl.ExecuteTemplate(&b, "base", data)
+	if err != nil {
 		panic(err)
 	}
 

+ 0 - 14
internal/template/engine_test.go

@@ -1,14 +0,0 @@
-// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
-// SPDX-License-Identifier: Apache-2.0
-
-package template // import "miniflux.app/v2/internal/template"
-
-import (
-	"testing"
-)
-
-func TestParseTemplates(t *testing.T) {
-	if err := NewEngine(nil).ParseTemplates(); err != nil {
-		t.Fatal(err)
-	}
-}