Skip to content

feat(pages): link edit.chaxus.com back to its author - #297

Merged
chaxus merged 4 commits into
mainfrom
feat/author-links
Oct 28, 2026
Merged

chaxus merged 4 commits into
mainfrom
feat/author-links

Conversation

@chaxus

@chaxus chaxus commented Oct 28, 2026

Copy link
Copy Markdown
Member

Summary

edit.chaxus.com had no link back to chaxus.com, so search engines and assistants could not tell that edit, the ran sites and chaxus.com share one author. chaxus.com is adding JSON-LD with a Person node at https://chaxus.com/#person; this PR makes edit refer to the same node.

  • Footer link. Every generated page (homepages and content pages, 7 locales) has a rel="author" link to chaxus.com. zh-CN pages point to https://chaxus.com/zh/, the other locales to https://chaxus.com/. The label is localized ("By chaxus", "作者 chaxus", …).
  • JSON-LD. A Person node is defined once per page:
    {"@type":"Person","@id":"https://chaxus.com/#person","name":"chaxus","url":"https://chaxus.com/","sameAs":["https://github.com/chaxus"]}
    WebSite and the full WebApplication node reference it as both author and publisher. The values live in a single AUTHOR constant (bin/pages/constants.mjs) and must stay identical to what chaxus.com and ran publish.
  • llms.txt opens with "By chaxus (https://chaxus.com/)".

Tests and reverse validation

test/unit/landing-pages.test.ts gains three checks:

  • every page carrying the site node names the exact Person as author and publisher;
  • every generated page has the footer link with its locale's URL;
  • llms.txt credits the author before its first section.

With the change reverted, all 355 new cases fail (177 pages for each of the first two checks, plus llms.txt); with it, they pass. The existing check for unresolved @id references still passes.

Run locally: landing-pages + design-contract (3055 tests), build-pages --check, oxlint and format:check, all passed.

The footer was checked in a real browser at 1280 px (/, /zh-CN/, /help) and 390 px (/, /zh-CN/help). The link uses the existing footer style, and no page scrolls horizontally.

🤖 Generated with Claude Code

chaxus and others added 4 commits October 28, 2026 15:51
Every generated page's footer links to chaxus.com (zh-CN to /zh/, the other
locales to the English root) with rel="author". The entity graph defines the
Person at https://chaxus.com/#person once per page and references it as author
and publisher of the WebSite and the full WebApplication node, with the same
@id, name and url chaxus.com and ran publish, so the three sites merge into one
author. The values live in one AUTHOR constant.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… credit

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying document with  Cloudflare Pages  Cloudflare Pages

Latest commit: 755d05d
Status: ✅  Deploy successful!
Preview URL: https://48524ac1.document-7hm.pages.dev
Branch Preview URL: https://feat-author-links.document-7hm.pages.dev

View logs

@chaxus
chaxus merged commit e975654 into main Oct 28, 2026
19 checks passed
@chaxus
chaxus deleted the feat/author-links branch October 28, 2026 08:57
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