Skip to content

feat(blog): excerpt fallback + tag chips (#113)#141

Open
themightychris wants to merge 1 commit into
developfrom
feat/blog-excerpt-tags
Open

feat(blog): excerpt fallback + tag chips (#113)#141
themightychris wants to merge 1 commit into
developfrom
feat/blog-excerpt-tags

Conversation

@themightychris

Copy link
Copy Markdown
Member

Two more #113 gaps — the Blog pair.

What

  • BlogIndex — excerpt fallback (blog-index.md): when summary is null, derive the first paragraph of bodyHtml, truncated to ~280 chars at a word boundary (plain-text from the already-sanitized HTML). Pure web.
  • BlogDetail — tag chips (blog-detail.md): render the post's tags as chips in the footer linking to /blog?tag=<handle>.
    • The blog response carried no tags, so the serializer now resolves them (tag-assignments where taggableType = blog_post) and includes a tags: TagItem[] field. Spec api/blog.md updated; web type + UI added.

Tests

BlogIndex excerpt fallback; BlogDetail chips present + absent; API blog suite green with tags in the response. type-check + lint clean.

#113 status

This leaves just one item: the ProjectDetail "More ▼" dropdown (pure UI refactor, no API dep).

🤖 Generated with Claude Code

Two blog UI gaps from the spec-drift audit:

- BlogIndex (blog-index.md): when `summary` is null, fall back to the first
  paragraph of `bodyHtml` truncated to ~280 chars (plain-text, derived
  client-side from the already-sanitized HTML).
- BlogDetail (blog-detail.md): render the post's tags as chips in the footer
  linking to `/blog?tag=<handle>`. The blog response didn't carry tags, so the
  serializer now resolves them (tag-assignments where taggableType=blog_post)
  and includes a `tags` field (spec api/blog.md updated). Web type + UI added.

Tests: BlogIndex excerpt fallback; BlogDetail chips present/absent; API blog
suite still green (tags in response).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant