Skip to content

Commit 7b391c6

Browse files
committed
address issues with slotted templates
1 parent 83ec781 commit 7b391c6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+210
-461
lines changed

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88

99
## Unreleased
1010

11+
## [v0.8.2](https://github.com/stackus/goht/compare/v0.8.1...v0.8.2) - 2025-07-23
12+
13+
### Fixed
14+
15+
- Accessing slotted templates were inaccessible inside a `@render` command.
16+
17+
### Added
18+
19+
- Slotted templates from a parent template will not be passed down into the child templates. Slotted templates with their own set of slotted templates will take precedence over the parent template's slotted templates.
20+
1121
## [v0.8.1](https://github.com/stackus/goht/compare/v0.8.0...v0.8.1) - 2025-05-06
1222

1323
### Fixed

compiler/nodes.go

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ func (n *node) handleNode(p *parser, indent int) error {
228228
return PositionalError{
229229
Line: t.line,
230230
Column: t.col,
231-
Err: fmt.Errorf(t.lit),
231+
Err: fmt.Errorf("%s", t.lit),
232232
}
233233
default:
234234
return n.errorf("unexpected: %s", p.peek())
@@ -1449,7 +1449,7 @@ func (n *RenderCommandNode) Source(tw *templateWriter) error {
14491449

14501450
vName := tw.GetVarName()
14511451

1452-
fnLine := vName + " := goht.TemplateFunc(func(ctx context.Context, __w io.Writer, __sts ...goht.SlottedTemplate) (__err error) {\n"
1452+
fnLine := vName + " := goht.TemplateFunc(func(ctx context.Context, __w io.Writer, _ ...goht.SlottedTemplate) (__err error) {\n"
14531453

14541454
if _, err := tw.WriteIndent(fnLine); err != nil {
14551455
return err
@@ -1499,7 +1499,7 @@ func (n *RenderCommandNode) Source(tw *templateWriter) error {
14991499
} else {
15001500
tw.Add(n.origin, r)
15011501
}
1502-
if _, err := tw.Write(".Render(goht.PushChildren(ctx, " + vName + "), __buf); __err != nil { return }\n"); err != nil {
1502+
if _, err := tw.Write(".Render(goht.PushChildren(ctx, " + vName + "), __buf, __sts...); __err != nil { return }\n"); err != nil {
15031503
return err
15041504
}
15051505

@@ -1533,7 +1533,7 @@ func NewChildrenCommandNode(t token) *ChildrenCommandNode {
15331533
}
15341534

15351535
func (n *ChildrenCommandNode) Source(tw *templateWriter) error {
1536-
_, err := tw.WriteIndent("if __err = __children.Render(ctx, __buf); __err != nil { return }\n")
1536+
_, err := tw.WriteIndent("if __err = __children.Render(ctx, __buf, __sts...); __err != nil { return }\n")
15371537
return err
15381538
}
15391539

@@ -1562,7 +1562,17 @@ func (n *SlotCommandNode) Source(tw *templateWriter) error {
15621562

15631563
itw := tw.Indent(1)
15641564

1565-
if _, err := itw.WriteIndent("if __err = __st.Render(ctx, __buf, __st.SlottedTemplates()...); __err != nil { return }\n"); err != nil {
1565+
// lines := []string{
1566+
// "__sts := append(__st.SlottedTemplates(), __sts...)\n",
1567+
// "_ = __sts\n",
1568+
// }
1569+
// for _, line := range lines {
1570+
// if _, err := itw.WriteIndent(line); err != nil {
1571+
// return err
1572+
// }
1573+
// }
1574+
1575+
if _, err := itw.WriteIndent("if __err = __st.Render(ctx, __buf, append(__st.SlottedTemplates(), __sts...)...); __err != nil { return }\n"); err != nil {
15661576
return err
15671577
}
15681578

compiler/testdata/attributes.goht.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/testdata/comments.goht.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/testdata/conditionals.goht.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/testdata/ego_template.goht.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/testdata/elements.goht.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/testdata/filters.goht.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/testdata/imports.goht.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/testdata/interpolation.goht.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)