From 4a6f987bf7f9d73e9dd33d225fd2d73e9bf69a88 Mon Sep 17 00:00:00 2001 From: grm Date: Wed, 16 Sep 2026 19:10:13 +0300 Subject: Merge the Layout and Design tabs into one form with a single Save The look and the layout of a blog were split over two tabs that cross-linked each other, and the Layout tab saved every toggle, move and add straight away through a dozen tiny forms. Now one Design tab holds it all, organised by part of the blog (colours & fonts, header, menu, content, side columns, footer, logo & icon) behind a sticky side index, and one Save stores the theme, every module and the menu atomically (BlogStore.SaveDesign). Module settings are edited inline; Discard changes throws the edits away; a validation error shows the form again exactly as it was sent. The image pickers no longer render the whole library four times over: a select of the newest images, and a script-driven panel that fetches the library page by page (GET /files as JSON) with lazy thumbnails. New options: posts per page, site title size, footer alignment. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01Sd8UPWrvyYCLj97JexNw3A --- internal/web/templates/dashboard/module_form.html | 41 ----------------------- 1 file changed, 41 deletions(-) delete mode 100644 internal/web/templates/dashboard/module_form.html (limited to 'internal/web/templates/dashboard/module_form.html') diff --git a/internal/web/templates/dashboard/module_form.html b/internal/web/templates/dashboard/module_form.html deleted file mode 100644 index a0fe95b..0000000 --- a/internal/web/templates/dashboard/module_form.html +++ /dev/null @@ -1,41 +0,0 @@ -{{define "title"}}{{.Data.name}} · {{.Blog.Title}}{{end}} -{{define "content"}} -{{$m := .Data.module}} -
-

{{.Data.name}} {{tf "in the %s" (lower .Data.area)}}

-
- - {{if or (eq $m.Kind "recent") (eq $m.Kind "archive") (eq $m.Kind "sitemap") (eq $m.Kind "tags") (eq $m.Kind "tagcloud") (eq $m.Kind "search") (and (eq $m.Kind "html") (or (eq $m.Area "left") (eq $m.Area "right") (eq $m.Area "footer")))}} - - {{end}} - {{if eq $m.Kind "recent"}} -
-

{{t "The newest published posts from every page of your blog, newest first."}}

- {{else if eq $m.Kind "archive"}} -

{{t "Every published post grouped by year and month, newest first. Years and months fold open and shut; the latest year starts open."}}

- {{else if eq $m.Kind "sitemap"}} -

{{t "Links to every page of your blog."}}

- {{else if eq $m.Kind "tags"}} -
-

{{t "Your tags with the number of posts in each, most used first. Only published posts count."}}

- {{else if eq $m.Kind "tagcloud"}} -

{{t "Every tag in alphabetical order, bigger the more posts use it."}}

- {{else if eq $m.Kind "search"}} -

{{t "A box that searches the published posts of every page by title and text; the results open on your blog’s search page. Case does not matter, and several words find posts that contain them in that order, with anything in between."}}

- {{else if eq $m.Kind "html"}} - - -

{{t "Put into your page exactly as written — embeds, badges and scripts all work. Anything broken here (an unclosed tag, say) can break the page around it, so check your blog after saving. 20 KB at most."}}

- {{else if eq $m.Kind "text"}} - - -

{{t "Plain text; each line becomes its own paragraph."}}

- {{end}} -

- - {{t "View blog"}} ↗ - {{t "Back to layout"}} -

-
-
-{{end}} -- cgit v1.2.3