logicsrc/apps/logicsrc-web/src
Anthony Ettinger 00622f5882
blog: honor canonical_url so guest posts point at their source (#151)
* blog: honor canonical_url so guest posts point at their source

A post syndicated from another blog carries the original URL in
blog_posts.canonical_url (the autoblog webhook already stores it). The post
page ignored it and always self-canonicalized, so a guest post would
compete with its source for the same words. Now the page selects
canonical_url and author, sets rel=canonical to the original when present
(self otherwise), points JSON-LD mainEntityOfPage at it, and shows readers
an "Originally published on <host>" line with the author byline.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MxNif5tsYq4LczgG7aE8Jp

* blog: author is jsonb, render a name not [object Object]

The blog_posts.author column is jsonb (e.g. { name, url }), not text.
Extract a display name for the byline and JSON-LD instead of rendering the
object directly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MxNif5tsYq4LczgG7aE8Jp

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-12 08:25:21 -07:00
..
app blog: honor canonical_url so guest posts point at their source (#151) 2026-09-12 08:25:21 -07:00
components Add ASDLC, the Agentic Software Development Lifecycle 2026-09-06 15:02:31 +00:00
lib docs: OpenStream benchmark reports, published per release (#150) 2026-09-12 06:23:46 -07:00
proxy.ts Charge AI training crawlers for access (x402 gateway) (#141) 2026-09-05 14:49:39 -07:00
styles.css feat(web): put the one-line install in front of everyone 2026-07-30 12:55:30 -07:00