aboutsummaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
authorGabriel A. Giovanini <mail@gabrielgio.me>2024-05-05 19:02:43 +0200
committerGabriel A. Giovanini <mail@gabrielgio.me>2024-05-05 19:02:43 +0200
commitf5b5f72f7eaf14692b8036c3698037c647b2423a (patch)
treef74eb37277771fd1dceec702d1f3820fb553dc2a /templates
parent129c73757036a8073467a2046bc73e95918f1ca1 (diff)
downloadcerrado-f5b5f72f7eaf14692b8036c3698037c647b2423a.tar.gz
cerrado-f5b5f72f7eaf14692b8036c3698037c647b2423a.tar.bz2
cerrado-f5b5f72f7eaf14692b8036c3698037c647b2423a.zip
feat: Add qtc templating
Diffstat (limited to 'templates')
-rw-r--r--templates/base.qtpl44
-rw-r--r--templates/base.qtpl.go217
-rw-r--r--templates/helloworld.qtpl16
-rw-r--r--templates/helloworld.qtpl.go131
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
+}