diff options
author | Gabriel A. Giovanini <mail@gabrielgio.me> | 2024-05-05 19:02:43 +0200 |
---|---|---|
committer | Gabriel A. Giovanini <mail@gabrielgio.me> | 2024-05-05 19:02:43 +0200 |
commit | f5b5f72f7eaf14692b8036c3698037c647b2423a (patch) | |
tree | f74eb37277771fd1dceec702d1f3820fb553dc2a /templates | |
parent | 129c73757036a8073467a2046bc73e95918f1ca1 (diff) | |
download | cerrado-f5b5f72f7eaf14692b8036c3698037c647b2423a.tar.gz cerrado-f5b5f72f7eaf14692b8036c3698037c647b2423a.tar.bz2 cerrado-f5b5f72f7eaf14692b8036c3698037c647b2423a.zip |
feat: Add qtc templating
Diffstat (limited to 'templates')
-rw-r--r-- | templates/base.qtpl | 44 | ||||
-rw-r--r-- | templates/base.qtpl.go | 217 | ||||
-rw-r--r-- | templates/helloworld.qtpl | 16 | ||||
-rw-r--r-- | templates/helloworld.qtpl.go | 131 |
4 files changed, 408 insertions, 0 deletions
diff --git a/templates/base.qtpl b/templates/base.qtpl new file mode 100644 index 0000000..1683981 --- /dev/null +++ b/templates/base.qtpl @@ -0,0 +1,44 @@ +This is a base page template. All the other template pages implement this interface. + +{% import "strconv" %} + +{% interface +Page { + Title() + Content() + Script() +} + +%} + +{% code func FromUInttoString(u *uint) string { + if u != nil { + return strconv.FormatUint(uint64(*u), 10) + } + return "" + } +%} + + +Page prints a page implementing Page interface. +{% func PageTemplate(p Page) %} +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>img | {%= p.Title() %}</title> + <link rel="stylesheet" href="/static/main.css"> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + </head> + <body> + <div> + {%= p.Content() %} + </div> + </body> + {%= p.Script() %} +</html> +{% endfunc %} + +{% code type BasePage struct {} %} +{% func (p *BasePage) Title() %}Empty{% endfunc %} +{% func (p *BasePage) Body() %}HelloWorld{% endfunc %} +{% func (p *BasePage) Script() %}{% endfunc %} diff --git a/templates/base.qtpl.go b/templates/base.qtpl.go new file mode 100644 index 0000000..8d93fa8 --- /dev/null +++ b/templates/base.qtpl.go @@ -0,0 +1,217 @@ +// Code generated by qtc from "base.qtpl". DO NOT EDIT. +// See https://github.com/valyala/quicktemplate for details. + +// This is a base page template. All the other template pages implement this interface. +// + +//line base.qtpl:3 +package templates + +//line base.qtpl:3 +import "strconv" + +//line base.qtpl:5 +import ( + qtio422016 "io" + + qt422016 "github.com/valyala/quicktemplate" +) + +//line base.qtpl:5 +var ( + _ = qtio422016.Copy + _ = qt422016.AcquireByteBuffer +) + +//line base.qtpl:6 +type Page interface { +//line base.qtpl:6 + Title() string +//line base.qtpl:6 + StreamTitle(qw422016 *qt422016.Writer) +//line base.qtpl:6 + WriteTitle(qq422016 qtio422016.Writer) +//line base.qtpl:6 + Content() string +//line base.qtpl:6 + StreamContent(qw422016 *qt422016.Writer) +//line base.qtpl:6 + WriteContent(qq422016 qtio422016.Writer) +//line base.qtpl:6 + Script() string +//line base.qtpl:6 + StreamScript(qw422016 *qt422016.Writer) +//line base.qtpl:6 + WriteScript(qq422016 qtio422016.Writer) +//line base.qtpl:6 +} + +//line base.qtpl:14 +func FromUInttoString(u *uint) string { + if u != nil { + return strconv.FormatUint(uint64(*u), 10) + } + return "" +} + +// Page prints a page implementing Page interface. + +//line base.qtpl:24 +func StreamPageTemplate(qw422016 *qt422016.Writer, p Page) { +//line base.qtpl:24 + qw422016.N().S(` +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>img | `) +//line base.qtpl:28 + p.StreamTitle(qw422016) +//line base.qtpl:28 + qw422016.N().S(`</title> + <link rel="stylesheet" href="/static/main.css"> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + </head> + <body> + <div> + `) +//line base.qtpl:34 + p.StreamContent(qw422016) +//line base.qtpl:34 + qw422016.N().S(` + </div> + </body> + `) +//line base.qtpl:37 + p.StreamScript(qw422016) +//line base.qtpl:37 + qw422016.N().S(` +</html> +`) +//line base.qtpl:39 +} + +//line base.qtpl:39 +func WritePageTemplate(qq422016 qtio422016.Writer, p Page) { +//line base.qtpl:39 + qw422016 := qt422016.AcquireWriter(qq422016) +//line base.qtpl:39 + StreamPageTemplate(qw422016, p) +//line base.qtpl:39 + qt422016.ReleaseWriter(qw422016) +//line base.qtpl:39 +} + +//line base.qtpl:39 +func PageTemplate(p Page) string { +//line base.qtpl:39 + qb422016 := qt422016.AcquireByteBuffer() +//line base.qtpl:39 + WritePageTemplate(qb422016, p) +//line base.qtpl:39 + qs422016 := string(qb422016.B) +//line base.qtpl:39 + qt422016.ReleaseByteBuffer(qb422016) +//line base.qtpl:39 + return qs422016 +//line base.qtpl:39 +} + +//line base.qtpl:41 +type BasePage struct{} + +//line base.qtpl:42 +func (p *BasePage) StreamTitle(qw422016 *qt422016.Writer) { +//line base.qtpl:42 + qw422016.N().S(`Empty`) +//line base.qtpl:42 +} + +//line base.qtpl:42 +func (p *BasePage) WriteTitle(qq422016 qtio422016.Writer) { +//line base.qtpl:42 + qw422016 := qt422016.AcquireWriter(qq422016) +//line base.qtpl:42 + p.StreamTitle(qw422016) +//line base.qtpl:42 + qt422016.ReleaseWriter(qw422016) +//line base.qtpl:42 +} + +//line base.qtpl:42 +func (p *BasePage) Title() string { +//line base.qtpl:42 + qb422016 := qt422016.AcquireByteBuffer() +//line base.qtpl:42 + p.WriteTitle(qb422016) +//line base.qtpl:42 + qs422016 := string(qb422016.B) +//line base.qtpl:42 + qt422016.ReleaseByteBuffer(qb422016) +//line base.qtpl:42 + return qs422016 +//line base.qtpl:42 +} + +//line base.qtpl:43 +func (p *BasePage) StreamBody(qw422016 *qt422016.Writer) { +//line base.qtpl:43 + qw422016.N().S(`HelloWorld`) +//line base.qtpl:43 +} + +//line base.qtpl:43 +func (p *BasePage) WriteBody(qq422016 qtio422016.Writer) { +//line base.qtpl:43 + qw422016 := qt422016.AcquireWriter(qq422016) +//line base.qtpl:43 + p.StreamBody(qw422016) +//line base.qtpl:43 + qt422016.ReleaseWriter(qw422016) +//line base.qtpl:43 +} + +//line base.qtpl:43 +func (p *BasePage) Body() string { +//line base.qtpl:43 + qb422016 := qt422016.AcquireByteBuffer() +//line base.qtpl:43 + p.WriteBody(qb422016) +//line base.qtpl:43 + qs422016 := string(qb422016.B) +//line base.qtpl:43 + qt422016.ReleaseByteBuffer(qb422016) +//line base.qtpl:43 + return qs422016 +//line base.qtpl:43 +} + +//line base.qtpl:44 +func (p *BasePage) StreamScript(qw422016 *qt422016.Writer) { +//line base.qtpl:44 +} + +//line base.qtpl:44 +func (p *BasePage) WriteScript(qq422016 qtio422016.Writer) { +//line base.qtpl:44 + qw422016 := qt422016.AcquireWriter(qq422016) +//line base.qtpl:44 + p.StreamScript(qw422016) +//line base.qtpl:44 + qt422016.ReleaseWriter(qw422016) +//line base.qtpl:44 +} + +//line base.qtpl:44 +func (p *BasePage) Script() string { +//line base.qtpl:44 + qb422016 := qt422016.AcquireByteBuffer() +//line base.qtpl:44 + p.WriteScript(qb422016) +//line base.qtpl:44 + qs422016 := string(qb422016.B) +//line base.qtpl:44 + qt422016.ReleaseByteBuffer(qb422016) +//line base.qtpl:44 + return qs422016 +//line base.qtpl:44 +} diff --git a/templates/helloworld.qtpl b/templates/helloworld.qtpl new file mode 100644 index 0000000..02c0968 --- /dev/null +++ b/templates/helloworld.qtpl @@ -0,0 +1,16 @@ +{% code +type HelloPage struct { + Body string +} +%} + +{% func (p *HelloPage) Title() %}Hello{% endfunc %} + +{% func (p *HelloPage) Content() %} +HelloWorld + +{%s p.Body %} +{% endfunc %} + +{% func (p *HelloPage) Script() %} +{% endfunc %} diff --git a/templates/helloworld.qtpl.go b/templates/helloworld.qtpl.go new file mode 100644 index 0000000..9ef78f5 --- /dev/null +++ b/templates/helloworld.qtpl.go @@ -0,0 +1,131 @@ +// Code generated by qtc from "helloworld.qtpl". DO NOT EDIT. +// See https://github.com/valyala/quicktemplate for details. + +//line helloworld.qtpl:1 +package templates + +//line helloworld.qtpl:1 +import ( + qtio422016 "io" + + qt422016 "github.com/valyala/quicktemplate" +) + +//line helloworld.qtpl:1 +var ( + _ = qtio422016.Copy + _ = qt422016.AcquireByteBuffer +) + +//line helloworld.qtpl:2 +type HelloPage struct { + Body string +} + +//line helloworld.qtpl:7 +func (p *HelloPage) StreamTitle(qw422016 *qt422016.Writer) { +//line helloworld.qtpl:7 + qw422016.N().S(`Hello`) +//line helloworld.qtpl:7 +} + +//line helloworld.qtpl:7 +func (p *HelloPage) WriteTitle(qq422016 qtio422016.Writer) { +//line helloworld.qtpl:7 + qw422016 := qt422016.AcquireWriter(qq422016) +//line helloworld.qtpl:7 + p.StreamTitle(qw422016) +//line helloworld.qtpl:7 + qt422016.ReleaseWriter(qw422016) +//line helloworld.qtpl:7 +} + +//line helloworld.qtpl:7 +func (p *HelloPage) Title() string { +//line helloworld.qtpl:7 + qb422016 := qt422016.AcquireByteBuffer() +//line helloworld.qtpl:7 + p.WriteTitle(qb422016) +//line helloworld.qtpl:7 + qs422016 := string(qb422016.B) +//line helloworld.qtpl:7 + qt422016.ReleaseByteBuffer(qb422016) +//line helloworld.qtpl:7 + return qs422016 +//line helloworld.qtpl:7 +} + +//line helloworld.qtpl:9 +func (p *HelloPage) StreamContent(qw422016 *qt422016.Writer) { +//line helloworld.qtpl:9 + qw422016.N().S(` +HelloWorld + +`) +//line helloworld.qtpl:12 + qw422016.E().S(p.Body) +//line helloworld.qtpl:12 + qw422016.N().S(` +`) +//line helloworld.qtpl:13 +} + +//line helloworld.qtpl:13 +func (p *HelloPage) WriteContent(qq422016 qtio422016.Writer) { +//line helloworld.qtpl:13 + qw422016 := qt422016.AcquireWriter(qq422016) +//line helloworld.qtpl:13 + p.StreamContent(qw422016) +//line helloworld.qtpl:13 + qt422016.ReleaseWriter(qw422016) +//line helloworld.qtpl:13 +} + +//line helloworld.qtpl:13 +func (p *HelloPage) Content() string { +//line helloworld.qtpl:13 + qb422016 := qt422016.AcquireByteBuffer() +//line helloworld.qtpl:13 + p.WriteContent(qb422016) +//line helloworld.qtpl:13 + qs422016 := string(qb422016.B) +//line helloworld.qtpl:13 + qt422016.ReleaseByteBuffer(qb422016) +//line helloworld.qtpl:13 + return qs422016 +//line helloworld.qtpl:13 +} + +//line helloworld.qtpl:15 +func (p *HelloPage) StreamScript(qw422016 *qt422016.Writer) { +//line helloworld.qtpl:15 + qw422016.N().S(` +`) +//line helloworld.qtpl:16 +} + +//line helloworld.qtpl:16 +func (p *HelloPage) WriteScript(qq422016 qtio422016.Writer) { +//line helloworld.qtpl:16 + qw422016 := qt422016.AcquireWriter(qq422016) +//line helloworld.qtpl:16 + p.StreamScript(qw422016) +//line helloworld.qtpl:16 + qt422016.ReleaseWriter(qw422016) +//line helloworld.qtpl:16 +} + +//line helloworld.qtpl:16 +func (p *HelloPage) Script() string { +//line helloworld.qtpl:16 + qb422016 := qt422016.AcquireByteBuffer() +//line helloworld.qtpl:16 + p.WriteScript(qb422016) +//line helloworld.qtpl:16 + qs422016 := string(qb422016.B) +//line helloworld.qtpl:16 + qt422016.ReleaseByteBuffer(qb422016) +//line helloworld.qtpl:16 + return qs422016 +//line helloworld.qtpl:16 +} |