From 3994e8b4b6e10d7df60d63fcf1163ac31e6dfc5a Mon Sep 17 00:00:00 2001 From: xushiwei Date: Sun, 7 Jan 2024 22:59:56 +0800 Subject: [PATCH] initYapFS bugfix --- demo/classfile/blog.yapx.gox | 8 ++------ demo/classfile/gop_autogen.go | 13 +++++-------- demo/classfile/yap/article.yap | 2 +- yap.go | 8 ++++++-- 4 files changed, 14 insertions(+), 17 deletions(-) diff --git a/demo/classfile/blog.yapx.gox b/demo/classfile/blog.yapx.gox index 2ad8e51..894fe66 100644 --- a/demo/classfile/blog.yapx.gox +++ b/demo/classfile/blog.yapx.gox @@ -1,10 +1,6 @@ -type article struct { - ID string -} - get "/p/:id", ctx => { - ctx.yap "article", article{ - ID: ctx.param("id"), + ctx.yap "article", { + "id": ctx.param("id"), } } diff --git a/demo/classfile/gop_autogen.go b/demo/classfile/gop_autogen.go index 003d808..cbfcb23 100644 --- a/demo/classfile/gop_autogen.go +++ b/demo/classfile/gop_autogen.go @@ -2,20 +2,17 @@ package main import "github.com/goplus/yap" -type article struct { - ID string -} type blog struct { yap.App } -//line demo/classfile/blog.yapx.gox:5 +//line demo/classfile/blog.yapx.gox:1 func (this *blog) MainEntry() { -//line demo/classfile/blog.yapx.gox:5:1 +//line demo/classfile/blog.yapx.gox:1:1 this.Get("/p/:id", func(ctx *yap.Context) { -//line demo/classfile/blog.yapx.gox:6:1 - ctx.Yap__1("article", article{ID: ctx.Param("id")}) +//line demo/classfile/blog.yapx.gox:2:1 + ctx.Yap__1("article", map[string]string{"id": ctx.Param("id")}) }) -//line demo/classfile/blog.yapx.gox:11:1 +//line demo/classfile/blog.yapx.gox:7:1 this.Run__1(":8080") } func main() { diff --git a/demo/classfile/yap/article.yap b/demo/classfile/yap/article.yap index 6b0bd8f..7985956 100644 --- a/demo/classfile/yap/article.yap +++ b/demo/classfile/yap/article.yap @@ -3,6 +3,6 @@ -Article {{.ID}} +Article {{.id}} diff --git a/yap.go b/yap.go index 3490410..81dbe4b 100644 --- a/yap.go +++ b/yap.go @@ -44,8 +44,12 @@ func New(fs ...fs.FS) *Engine { } func (p *Engine) initYapFS(fsys fs.FS) { - if sub, e := fs.Sub(fsys, "yap"); e == nil { - fsys = sub + const name = "yap" + if f, e := fsys.Open(name); e == nil { + f.Close() + if sub, e := fs.Sub(fsys, name); e == nil { + fsys = sub + } } p.fs = fsys p.tpls = make(map[string]Template)