Skip to content

Commit 39fda0b

Browse files
authored
Merge pull request #3 from dannykopping/fix-2
Loads templates from embedded FS & improves Web UI errors
2 parents 8c292d9 + 185e012 commit 39fda0b

File tree

4 files changed

+20
-8
lines changed

4 files changed

+20
-8
lines changed

serve.go

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package errata
33
import (
44
"bytes"
55
"embed"
6+
"errors"
67
"fmt"
78
"io/fs"
89
"net/http"
@@ -130,8 +131,19 @@ func (s *Server) render(w http.ResponseWriter, path string, data pongo2.Context)
130131
s.errorHandler(w, NewFileNotReadableErr(err, path))
131132
}
132133

133-
tmpl, err := pongo2.FromBytes(b)
134+
set := pongo2.NewSet("web", pongo2.NewFSLoader(web))
135+
136+
tmpl, err := set.FromBytes(b)
134137
if err != nil {
138+
// pongo2 needs errata!
139+
if err, ok := err.(*pongo2.Error); ok {
140+
var pathErr *fs.PathError
141+
if err.OrigError.Error() == "unable to resolve template" || errors.As(err.OrigError, &pathErr) {
142+
s.errorHandler(w, NewTemplateExecutionErr(err))
143+
return
144+
}
145+
}
146+
135147
s.errorHandler(w, NewInvalidSyntaxErr(err, path))
136148
return
137149
}
@@ -195,7 +207,7 @@ func (s *Server) errorHandler(w http.ResponseWriter, err error) {
195207
}
196208
}
197209

198-
http.Error(w, err.Error(), statusCode)
210+
http.Error(w, fmt.Sprintf("%+v", err), statusCode)
199211
}
200212

201213
type HTTPStatusCodeExtractor interface {

web/list.gohtml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{% import "web/item.gohtml" erratum %}
22
{% import "web/sidebar.gohtml" sidebar %}
3-
{% ssi "web/header.gohtml" %}
3+
{% ssi "web/header.gohtml" parsed %}
44

55
<div class="docs-wrapper">
66
{{ sidebar(Errors) }}
@@ -21,4 +21,4 @@
2121
</div>
2222
</div><!--//docs-wrapper-->
2323

24-
{% ssi "web/footer.gohtml" %}
24+
{% ssi "web/footer.gohtml" parsed %}

web/search-miss.gohtml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{% ssi "web/header.gohtml" %}
1+
{% ssi "web/header.gohtml" parsed %}
22

33
<div class="docs-wrapper">
44
<div class="docs-content">
@@ -10,4 +10,4 @@
1010
</div>
1111
</div><!--//docs-wrapper-->
1212

13-
{% ssi "web/footer.gohtml" %}
13+
{% ssi "web/footer.gohtml" parsed %}

web/single.gohtml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{% import "web/item.gohtml" erratum %}
2-
{% ssi "web/header.gohtml" %}
2+
{% ssi "web/header.gohtml" parsed %}
33

44
<div class="docs-wrapper">
55
<div class="docs-content">
@@ -11,4 +11,4 @@
1111
</div>
1212
</div><!--//docs-wrapper-->
1313

14-
{% ssi "web/footer.gohtml" %}
14+
{% ssi "web/footer.gohtml" parsed %}

0 commit comments

Comments
 (0)