aboutsummaryrefslogtreecommitdiffstats
path: root/internal/web/templates
diff options
context:
space:
mode:
authorgrm <grm@eyesin.space>2026-09-17 17:09:01 +0300
committergrm <grm@eyesin.space>2026-09-17 17:09:28 +0300
commitf16bd0f79c624665580615321b5d13b4be27cdad (patch)
tree3f7c47fdd8c8ff2e928b04891dfa65ed3ffe8c75 /internal/web/templates
parentf79f97800f7f9ba1ef2b3e2e56040a952a9668a5 (diff)
downloadblogspace-f16bd0f79c624665580615321b5d13b4be27cdad.tar.gz
blogspace-f16bd0f79c624665580615321b5d13b4be27cdad.tar.bz2
blogspace-f16bd0f79c624665580615321b5d13b4be27cdad.zip
Add the Gizmo look for announcements: framed boxes that share a row
gizmolab's "next event" and "next assembly" boxes were hand-written HTML in the home page's intro; they are announcements by nature, so now they can be: a fourth style, a box framed in the theme's link colour with an italic heading. Headed Gizmo boxes in the same spot share a row on wide screens (the notices wrapper is a flex row, stacking on old browsers like .cols); one without a heading takes the whole row, which is how a banner line goes above a pair of boxes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Sd8UPWrvyYCLj97JexNw3A
Diffstat (limited to 'internal/web/templates')
-rw-r--r--internal/web/templates/dashboard/section_form.html2
-rw-r--r--internal/web/templates/dashboard/sections.html2
-rw-r--r--internal/web/templates/layouts/blog.html4
3 files changed, 6 insertions, 2 deletions
diff --git a/internal/web/templates/dashboard/section_form.html b/internal/web/templates/dashboard/section_form.html
index 0171aaa..0a0e4ea 100644
--- a/internal/web/templates/dashboard/section_form.html
+++ b/internal/web/templates/dashboard/section_form.html
@@ -20,8 +20,10 @@
<option value="note"{{if eq $s.Style "note"}} selected{{end}}>{{t "Highlighted"}}</option>
<option value="warning"{{if eq $s.Style "warning"}} selected{{end}}>{{t "Warning"}}</option>
<option value="plain"{{if eq $s.Style "plain"}} selected{{end}}>{{t "Plain"}}</option>
+ <option value="gizmo"{{if eq $s.Style "gizmo"}} selected{{end}}>{{t "Gizmo"}}</option>
</select></label>
</div>
+ <p class="muted small">{{t "Gizmo is a box framed in your link colour. Gizmo boxes with a heading share a row on wide screens (up to three); one without a heading takes the whole row."}}</p>
<p class="muted small">{{t "“Top” of a side column means above its modules, “bottom” below them. If that column is not shown on your blog (see"}} <a href="/b/{{.Blog.Subdomain}}/design#columns">{{t "Design"}}</a>) {{t "the announcement moves to the main content instead."}}</p>
<label for="ed-body">{{t "Text"}}</label>
{{template "editor" (dict "name" "body" "value" $s.BodyMD "format" $s.Format "rows" 10 "tall" false "upload" (print "/b/" .Blog.Subdomain "/files/upload") "preview" (print "/b/" .Blog.Subdomain "/preview") "csrf" .CSRF)}}
diff --git a/internal/web/templates/dashboard/sections.html b/internal/web/templates/dashboard/sections.html
index 4d62f29..9f0e314 100644
--- a/internal/web/templates/dashboard/sections.html
+++ b/internal/web/templates/dashboard/sections.html
@@ -17,7 +17,7 @@
</td>
<td><a href="{{$u}}/{{.ID}}/edit">{{if .Title}}{{.Title}}{{else}}({{t "untitled"}}){{end}}</a>{{if not .Enabled}}<span class="tag off">{{t "hidden"}}</span>{{end}}</td>
<td>{{if eq .Column "main"}}{{t "Main content"}}{{else if eq .Column "left"}}{{t "Left column"}}{{else}}{{t "Right column"}}{{end}}, {{t .Position}}</td>
- <td>{{if eq .Style "note"}}{{t "Highlighted"}}{{else if eq .Style "warning"}}{{t "Warning"}}{{else}}{{t "Plain"}}{{end}}</td>
+ <td>{{if eq .Style "note"}}{{t "Highlighted"}}{{else if eq .Style "warning"}}{{t "Warning"}}{{else if eq .Style "gizmo"}}{{t "Gizmo"}}{{else}}{{t "Plain"}}{{end}}</td>
<td class="nowrap">
<form method="post" action="{{$u}}/{{.ID}}/toggle" class="inline"><input type="hidden" name="_csrf" value="{{$.CSRF}}"><button class="mini">{{if .Enabled}}{{t "Hide"}}{{else}}{{t "Show"}}{{end}}</button></form>
<a class="danger" href="{{$u}}/{{.ID}}/delete">{{t "delete"}}</a>
diff --git a/internal/web/templates/layouts/blog.html b/internal/web/templates/layouts/blog.html
index 6e8b819..76475b9 100644
--- a/internal/web/templates/layouts/blog.html
+++ b/internal/web/templates/layouts/blog.html
@@ -43,10 +43,12 @@
</body>
</html>{{end}}
-{{define "notices"}}{{range .}}<aside class="notice notice-{{.Style}}">
+{{define "notices"}}{{if .}}<div class="notices">
+{{range .}}<aside class="notice notice-{{.Style}}{{if .Title}} headed{{end}}">
{{if .Title}}<h3 class="notice-title">{{.Title}}</h3>{{end}}
<div class="notice-body">{{html .BodyHTML}}</div>
</aside>
+{{end}}</div>
{{end}}{{end}}
{{/* One layout module. .m is the store.Module, .root the page data; the same