diff --git a/templates/basepage.qtpl b/templates/basepage.qtpl index 2483ad6..408e16f 100644 --- a/templates/basepage.qtpl +++ b/templates/basepage.qtpl @@ -15,6 +15,8 @@ Page prints a page implementing Page interface. {%= p.Title() %} {%= p.Head() %} + + diff --git a/templates/basepage.qtpl.go b/templates/basepage.qtpl.go index 4b4c4a4..7612dde 100644 --- a/templates/basepage.qtpl.go +++ b/templates/basepage.qtpl.go @@ -62,6 +62,8 @@ func StreamPageTemplate(qw422016 *qt422016.Writer, p Page) { //line templates/basepage.qtpl:16 qw422016.N().S(` + + @@ -71,139 +73,139 @@ func StreamPageTemplate(qw422016 *qt422016.Writer, p Page) { `) -//line templates/basepage.qtpl:26 +//line templates/basepage.qtpl:28 p.StreamBody(qw422016) -//line templates/basepage.qtpl:26 +//line templates/basepage.qtpl:28 qw422016.N().S(` `) -//line templates/basepage.qtpl:29 +//line templates/basepage.qtpl:31 } -//line templates/basepage.qtpl:29 +//line templates/basepage.qtpl:31 func WritePageTemplate(qq422016 qtio422016.Writer, p Page) { -//line templates/basepage.qtpl:29 +//line templates/basepage.qtpl:31 qw422016 := qt422016.AcquireWriter(qq422016) -//line templates/basepage.qtpl:29 +//line templates/basepage.qtpl:31 StreamPageTemplate(qw422016, p) -//line templates/basepage.qtpl:29 +//line templates/basepage.qtpl:31 qt422016.ReleaseWriter(qw422016) -//line templates/basepage.qtpl:29 +//line templates/basepage.qtpl:31 } -//line templates/basepage.qtpl:29 +//line templates/basepage.qtpl:31 func PageTemplate(p Page) string { -//line templates/basepage.qtpl:29 +//line templates/basepage.qtpl:31 qb422016 := qt422016.AcquireByteBuffer() -//line templates/basepage.qtpl:29 +//line templates/basepage.qtpl:31 WritePageTemplate(qb422016, p) -//line templates/basepage.qtpl:29 +//line templates/basepage.qtpl:31 qs422016 := string(qb422016.B) -//line templates/basepage.qtpl:29 +//line templates/basepage.qtpl:31 qt422016.ReleaseByteBuffer(qb422016) -//line templates/basepage.qtpl:29 +//line templates/basepage.qtpl:31 return qs422016 -//line templates/basepage.qtpl:29 +//line templates/basepage.qtpl:31 } // Base page implementation. Other pages may inherit from it if they need // overriding only certain Page methods -//line templates/basepage.qtpl:33 +//line templates/basepage.qtpl:35 type BasePage struct{} -//line templates/basepage.qtpl:34 +//line templates/basepage.qtpl:36 func (p *BasePage) StreamTitle(qw422016 *qt422016.Writer) { -//line templates/basepage.qtpl:34 +//line templates/basepage.qtpl:36 qw422016.N().S(`Default title`) -//line templates/basepage.qtpl:34 +//line templates/basepage.qtpl:36 } -//line templates/basepage.qtpl:34 +//line templates/basepage.qtpl:36 func (p *BasePage) WriteTitle(qq422016 qtio422016.Writer) { -//line templates/basepage.qtpl:34 +//line templates/basepage.qtpl:36 qw422016 := qt422016.AcquireWriter(qq422016) -//line templates/basepage.qtpl:34 +//line templates/basepage.qtpl:36 p.StreamTitle(qw422016) -//line templates/basepage.qtpl:34 +//line templates/basepage.qtpl:36 qt422016.ReleaseWriter(qw422016) -//line templates/basepage.qtpl:34 +//line templates/basepage.qtpl:36 } -//line templates/basepage.qtpl:34 +//line templates/basepage.qtpl:36 func (p *BasePage) Title() string { -//line templates/basepage.qtpl:34 +//line templates/basepage.qtpl:36 qb422016 := qt422016.AcquireByteBuffer() -//line templates/basepage.qtpl:34 +//line templates/basepage.qtpl:36 p.WriteTitle(qb422016) -//line templates/basepage.qtpl:34 +//line templates/basepage.qtpl:36 qs422016 := string(qb422016.B) -//line templates/basepage.qtpl:34 +//line templates/basepage.qtpl:36 qt422016.ReleaseByteBuffer(qb422016) -//line templates/basepage.qtpl:34 +//line templates/basepage.qtpl:36 return qs422016 -//line templates/basepage.qtpl:34 +//line templates/basepage.qtpl:36 } -//line templates/basepage.qtpl:35 +//line templates/basepage.qtpl:37 func (p *BasePage) StreamHead(qw422016 *qt422016.Writer) { -//line templates/basepage.qtpl:35 +//line templates/basepage.qtpl:37 } -//line templates/basepage.qtpl:35 +//line templates/basepage.qtpl:37 func (p *BasePage) WriteHead(qq422016 qtio422016.Writer) { -//line templates/basepage.qtpl:35 +//line templates/basepage.qtpl:37 qw422016 := qt422016.AcquireWriter(qq422016) -//line templates/basepage.qtpl:35 +//line templates/basepage.qtpl:37 p.StreamHead(qw422016) -//line templates/basepage.qtpl:35 +//line templates/basepage.qtpl:37 qt422016.ReleaseWriter(qw422016) -//line templates/basepage.qtpl:35 +//line templates/basepage.qtpl:37 } -//line templates/basepage.qtpl:35 +//line templates/basepage.qtpl:37 func (p *BasePage) Head() string { -//line templates/basepage.qtpl:35 +//line templates/basepage.qtpl:37 qb422016 := qt422016.AcquireByteBuffer() -//line templates/basepage.qtpl:35 +//line templates/basepage.qtpl:37 p.WriteHead(qb422016) -//line templates/basepage.qtpl:35 +//line templates/basepage.qtpl:37 qs422016 := string(qb422016.B) -//line templates/basepage.qtpl:35 +//line templates/basepage.qtpl:37 qt422016.ReleaseByteBuffer(qb422016) -//line templates/basepage.qtpl:35 +//line templates/basepage.qtpl:37 return qs422016 -//line templates/basepage.qtpl:35 +//line templates/basepage.qtpl:37 } -//line templates/basepage.qtpl:36 +//line templates/basepage.qtpl:38 func (p *BasePage) StreamBody(qw422016 *qt422016.Writer) { -//line templates/basepage.qtpl:36 +//line templates/basepage.qtpl:38 } -//line templates/basepage.qtpl:36 +//line templates/basepage.qtpl:38 func (p *BasePage) WriteBody(qq422016 qtio422016.Writer) { -//line templates/basepage.qtpl:36 +//line templates/basepage.qtpl:38 qw422016 := qt422016.AcquireWriter(qq422016) -//line templates/basepage.qtpl:36 +//line templates/basepage.qtpl:38 p.StreamBody(qw422016) -//line templates/basepage.qtpl:36 +//line templates/basepage.qtpl:38 qt422016.ReleaseWriter(qw422016) -//line templates/basepage.qtpl:36 +//line templates/basepage.qtpl:38 } -//line templates/basepage.qtpl:36 +//line templates/basepage.qtpl:38 func (p *BasePage) Body() string { -//line templates/basepage.qtpl:36 +//line templates/basepage.qtpl:38 qb422016 := qt422016.AcquireByteBuffer() -//line templates/basepage.qtpl:36 +//line templates/basepage.qtpl:38 p.WriteBody(qb422016) -//line templates/basepage.qtpl:36 +//line templates/basepage.qtpl:38 qs422016 := string(qb422016.B) -//line templates/basepage.qtpl:36 +//line templates/basepage.qtpl:38 qt422016.ReleaseByteBuffer(qb422016) -//line templates/basepage.qtpl:36 +//line templates/basepage.qtpl:38 return qs422016 -//line templates/basepage.qtpl:36 +//line templates/basepage.qtpl:38 } diff --git a/www/style.css b/www/style.css index 163a6fb..9122be4 100644 --- a/www/style.css +++ b/www/style.css @@ -1,16 +1,36 @@ +:root { + --bg-primary: #f6f6f6; + --text-primary: #333333; + --text-secondary: #666666; + --link-color: cornflowerblue; + --link-hover: lightslategray; +} + +@media (prefers-color-scheme: dark) { + :root { + --bg-primary: #1a1a1a; + --text-primary: #e0e0e0; + --text-secondary: #a0a0a0; + --link-color: #87ceeb; + --link-hover: #b0c4de; + } +} + body { font-family: sans-serif; padding: 2.5em; - background-color: #f6f6f6; + background-color: var(--bg-primary); + color: var(--text-primary); + transition: background-color 0.3s, color 0.3s; } a { - color: cornflowerblue; + color: var(--link-color); transition: all 0.1s ease-in-out; text-decoration: none; } a:hover { - color: lightslategray; + color: var(--link-hover); text-decoration: underline; }