aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorgrm <grm@eyesin.space>2026-09-15 23:12:51 +0300
committergrm <grm@eyesin.space>2026-09-15 23:12:51 +0300
commit2c85ca1a46ddf4652f8fffc53d6bcfbe32b2b4ff (patch)
treeecd5efd574b7d7463e4b2c4361c1994c4f28f561 /README.md
parent55732bdfc25933bab26220ccd82fe5e172d9e673 (diff)
downloadblogspace-2c85ca1a46ddf4652f8fffc53d6bcfbe32b2b4ff.tar.gz
blogspace-2c85ca1a46ddf4652f8fffc53d6bcfbe32b2b4ff.tar.bz2
blogspace-2c85ca1a46ddf4652f8fffc53d6bcfbe32b2b4ff.zip
Add post tags, with a tag page and two side-column modules
Posts can now carry tags, set on the post form as a checklist of the blog's existing tags plus a comma-separated box for new ones (no JS). A tag is a name and a unique slug, so "Go" and "go" are one tag and Greek tags get readable URLs; tags no post uses any more are deleted. On the blog, tags appear under the post date and link to /tag/<slug>, which lists the published posts from every page, paginated like a page. Two new layout modules show them: a Tags list (with counts, by use) and a Tag cloud (alphabetical, sized by use). Both are only fetched when a visible module needs them. The article loop and pager move to a shared postlist partial; while there, the pager stops adding a trailing slash — /news/?p=2 was a 404 because a {page} wildcard never matches one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Sd8UPWrvyYCLj97JexNw3A
Diffstat (limited to 'README.md')
-rw-r--r--README.md7
1 files changed, 5 insertions, 2 deletions
diff --git a/README.md b/README.md
index ca63bf7..ea97880 100644
--- a/README.md
+++ b/README.md
@@ -14,10 +14,13 @@ Server-rendered HTML, no JavaScript required, works on old browsers and phones.
the superadmin can set a different limit per blog.
- **Announcements**: blog-wide notices (next meeting, this month's book, a closure)
shown at the top or bottom of the main content or of a side column; each can be hidden without deleting.
-- Every blog has **pages** (Home, About, News, …); each page holds posts.
+- Every blog has **pages** (Home, About, News, …); each page holds posts. Posts can
+ carry **tags**, shown under the date; each tag has its own page listing every post
+ with it.
- **Layout** tab: the page is five areas — header, left column, main content, right
column, footer — each holding modules in any order: blog title, logo, menu, archive
- (posts by year and month), recent posts, custom HTML, footer text, RSS link, site map.
+ (posts by year and month), recent posts, tags (with counts), tag cloud, custom HTML,
+ footer text, RSS link, site map.
Column widths are percentages; on phones the columns stack under the posts. The
**menu** mixes blog pages and outside links.
- **Design** form: colour schemes, background colour/image, fonts, link style, content box, header, menu, post dates, footer, logo and site icon (favicon).