Skip to content

docs(zh): zh headings carry the English explicit anchor id (#1359) - #1966

Merged
os-warren merged 1 commit into
mainfrom
claude/issue-1359-zh-explicit-anchors
Sep 28, 2026
Merged

os-warren merged 1 commit into
mainfrom
claude/issue-1359-zh-explicit-anchors

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Fixes #1359

Implements the maintainer ruling on #1359 (comment 5481236425, verbatim 「其他同意」 → option B, unified scope), items 1-4 only. Dispatch scope note 5823995849: the carriage-guard rider is out; no new guard, no test file touched.

What changed

A zh (Hans/Hant) heading now carries the same English explicit anchor id its English twin answers to, via the fumadocs [#id] spelling, and the links that were de-anchored because the id did not exist are links with the id again.

Target headings (English id added, text unchanged)

file:line old → new
content/docs/marketing/campaigns.zh-Hans.mdx:66 ## 营销活动加入流程 → ... [#campaign-enrollment-flow]
content/docs/marketing/campaigns.zh-Hant.mdx:68 ## 行銷活動加入流程 → ... [#campaign-enrollment-flow]
content/docs/reference/security-and-compliance.zh-Hans.mdx:150 ### 静态加密 → ... [#at-rest]
content/docs/reference/security-and-compliance.zh-Hans.mdx:178 ### 字段级控制 → ... [#field-level-controls]
content/docs/reference/security-and-compliance.zh-Hant.mdx:152 ### 靜態加密 → ... [#at-rest]
content/docs/reference/security-and-compliance.zh-Hant.mdx:180 ### 欄位級控制 → ... [#field-level-controls]
content/docs/sales/quotes.zh-Hans.mdx:85 ## 生成报价 → ... [#generating-a-quote]
content/docs/sales/quotes.zh-Hant.mdx:87 ## 生成報價 → ... [#generating-a-quote]
content/docs/service/sla-and-escalation.zh-Hans.mdx:67 ## 工单升级 → ... [#case-escalation]
content/docs/service/sla-and-escalation.zh-Hant.mdx:69 ## 工單升級 → ... [#case-escalation]
content/docs/administration/profiles.zh-Hans.mdx:79 ## 字段级安全 → ... [#field-level-security]

Same-page links restored (the conservative form PR #1358 shipped, text kept / link removed, is a link again)

file:line old → new
marketing/campaigns.zh-Hans.mdx:64 「营销活动加入流程」 → [营销活动加入流程](#campaign-enrollment-flow)
marketing/campaigns.zh-Hant.mdx:66 「行銷活動加入流程」 → [行銷活動加入流程](#campaign-enrollment-flow)
reference/security-and-compliance.zh-Hans.mdx:90 加密一节 → [加密](#field-level-controls) 一节
reference/security-and-compliance.zh-Hans.mdx:240 静态加密一节 → [静态加密](#at-rest) 一节
reference/security-and-compliance.zh-Hant.mdx:92 加密一節 → [加密](#field-level-controls) 一節
reference/security-and-compliance.zh-Hant.mdx:242 靜態加密一節 → [靜態加密](#at-rest) 一節

#866 group C cross-page links re-anchored (8)

file:line old → new
marketing/campaign-members.zh-Hans.mdx:14 /zh-Hans/docs/marketing/campaigns → ...#campaign-enrollment-flow
marketing/campaign-members.zh-Hant.mdx:16 /zh-Hant/docs/marketing/campaigns → ...#campaign-enrollment-flow
sales/opportunities.zh-Hans.mdx:184 /zh-Hans/docs/sales/quotes → ...#generating-a-quote
sales/opportunities.zh-Hant.mdx:186 /zh-Hant/docs/sales/quotes → ...#generating-a-quote
service/cases.zh-Hans.mdx:124 /zh-Hans/docs/service/sla-and-escalation → ...#case-escalation
service/cases.zh-Hant.mdx:126 /zh-Hant/docs/service/sla-and-escalation → ...#case-escalation
service/index.zh-Hans.mdx:30 /zh-Hans/docs/service/sla-and-escalation → ...#case-escalation
service/index.zh-Hant.mdx:32 /zh-Hant/docs/service/sla-and-escalation → ...#case-escalation

Ruling item 4: administration/sharing-and-security.zh-Hans.mdx:182 profiles#字段级安全 → profiles#field-level-security (one line. Open PR #1956 also edits this file and profiles.zh-Hans.mdx ; measured against its current diff, no hunk overlaps: its hunks sit at profiles :41-53 and sharing-and-security :27, :45, :114, :205, mine at :79 and :182).

Changeset: .changeset/zh-headings-carry-the-english-anchor-id.md, empty frontmatter (docs only, releases nothing).

Verification (all on 4a42859e)

  • Rendered ids (fumadocs 16.9.3 / fumadocs-mdx 15.0.10): apps/docs pnpm build exit 0; the prerendered HTML under .next/server/app carries id="campaign-enrollment-flow" (zh-Hans, zh-Hant, en campaigns), at-rest + field-level-controls (both zh security-and-compliance), generating-a-quote (both zh quotes), case-escalation (both zh sla-and-escalation), field-level-security (zh-Hans profiles); zero localized ids remain on those headings, the visible heading text carries no literal [#, and the rendered links point at the English ids (e.g. href="/zh-Hans/docs/service/sla-and-escalation#case-escalation").
  • Anchor guard sees the zh ids: test/docs-anchor-links.test.ts 18/18 passed. Reverse check (one-off, not committed): mutating [#case-escalation] to [#case-escalatio] on sla-and-escalation.zh-Hans.mdx turned it red naming cases.zh-Hans.mdx:124 and index.zh-Hans.mdx:30 (1 failed / 17 passed); restored with git checkout HEAD --, git diff HEAD empty, blob hash equals HEAD.
  • pnpm verify chain, each step's exit: validate 0 · typecheck 0 · lint 0 · lint:i18n-gate 0 · hygiene 0 · hygiene:tokens 0 · build 0 · test 0 (173 files, 3716 passed, 1 skipped).

Acceptance notes

Left alone on purpose (same rule, not named by the ruling's items 1-4 or this dispatch's file surface; reported to the seat, not fixed here):


Generated by Claude Code

@vercel

vercel Bot commented Sep 28, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
hotcrm Ignored Ignored Sep 28, 2026 6:23am UTC

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

2 participants