[PR #8180] [MERGED] [AI] docs: fix broken blog links and add enforce-doc-links remark plugin #131747

Closed
opened 2026-06-16 00:32:02 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/8180
Author: @StephenBrown2
Created: 6/10/2026
Status: ✅ Merged
Merged: 6/10/2026
Merged by: @MatissJanis

Base: master ← Head: docs-extensions


📝 Commits (5)

  • 860c37c [AI] docs: fix broken blog links and add enforce-doc-links remark plugin
  • 655b35e [autofix.ci] apply automated fixes
  • 1c64846 [AI] docs: add vfile to spell-check allowlist
  • a29b2a0 [AI] docs: fix build failures from cross-plugin and absolute links
  • 07eb6da [AI] docs: fix blog→docs links to use absolute URLs

📊 Changes

6 files changed (+265 additions, -7 deletions)

View changed files

📝 .github/actions/docs-spelling/allow/keywords.txt (+1 -0)
📝 packages/docs/docs/experimental/budget-automation.md (+2 -2)
📝 packages/docs/docs/getting-started/envelope-budgeting.md (+1 -1)
📝 packages/docs/docusaurus.config.js (+5 -2)
📝 packages/docs/scripts/generate-upcoming-release-notes.mjs (+2 -2)
➕ packages/docs/src/remark/enforce-doc-links.js (+254 -0)

📄 Description

Description

  • Fix three docs/ pages that linked to blog posts using URL slugs instead of file paths, with an extra ../ level in the relative path
  • Add src/remark/enforce-doc-links.js: remark plugin that enforces link hygiene in docs/ and blog/ at build time:
    • no absolute internal links
    • .md/.mdx extension required
    • slug-style links caught via frontmatter cache
  • Upgrade onBrokenMarkdownLinks from 'warn' to 'throw' so broken .md file-path links fail the build rather than being silently ignored

Claude helped with all of it, after giving it a nice ripgrep query to start from.

I've reviewed the generated packages/docs/src/remark/enforce-doc-links.js and it looks good to me, but if we don't want that level of enforcement it can certainly be removed.

Related issue(s)

Related to #8155 which broke the markdown link but wasn't caught by docusaurus
Helps enforce the conventions updated in #8173, which fixed the link but missed those in this PR.

Testing

Checklist

  • [-] Release notes added (see link above)
  • No obvious regressions in affected areas
  • Self-review has been performed - I have read every line of this diff and can explain what each change does and why it is needed

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/8180 **Author:** [@StephenBrown2](https://github.com/StephenBrown2) **Created:** 6/10/2026 **Status:** ✅ Merged **Merged:** 6/10/2026 **Merged by:** [@MatissJanis](https://github.com/MatissJanis) **Base:** `master` ← **Head:** `docs-extensions` --- ### 📝 Commits (5) - [`860c37c`](https://github.com/actualbudget/actual/commit/860c37cc3f685e0b5348c989b0b935a7cd164d6e) [AI] docs: fix broken blog links and add enforce-doc-links remark plugin - [`655b35e`](https://github.com/actualbudget/actual/commit/655b35ee739fbeff36dd7c4f12fda6a2cda4e09a) [autofix.ci] apply automated fixes - [`1c64846`](https://github.com/actualbudget/actual/commit/1c6484657a13569f9751c256e9e62cfe6f1a518b) [AI] docs: add vfile to spell-check allowlist - [`a29b2a0`](https://github.com/actualbudget/actual/commit/a29b2a040569fa21c2c1fa88c54bd11b941ded89) [AI] docs: fix build failures from cross-plugin and absolute links - [`07eb6da`](https://github.com/actualbudget/actual/commit/07eb6daeffb41638c7acadc23ba85788dc7aae26) [AI] docs: fix blog→docs links to use absolute URLs ### 📊 Changes **6 files changed** (+265 additions, -7 deletions) <details> <summary>View changed files</summary> 📝 `.github/actions/docs-spelling/allow/keywords.txt` (+1 -0) 📝 `packages/docs/docs/experimental/budget-automation.md` (+2 -2) 📝 `packages/docs/docs/getting-started/envelope-budgeting.md` (+1 -1) 📝 `packages/docs/docusaurus.config.js` (+5 -2) 📝 `packages/docs/scripts/generate-upcoming-release-notes.mjs` (+2 -2) ➕ `packages/docs/src/remark/enforce-doc-links.js` (+254 -0) </details> ### 📄 Description <!-- Thank you for submitting a pull request! Make sure to follow the instructions to write release notes for your PR — it should only take a minute or two: https://actualbudget.org/docs/contributing/#writing-good-release-notes. Try running yarn generate:release-notes *before* pushing your PR for an interactive experience. --> ## Description - Fix three docs/ pages that linked to blog posts using URL slugs instead of file paths, with an extra ../ level in the relative path - Add `src/remark/enforce-doc-links.js`: remark plugin that enforces link hygiene in `docs/` and `blog/` at build time: - no absolute internal links - .md/.mdx extension required - slug-style links caught via frontmatter cache - Upgrade `onBrokenMarkdownLinks` from `'warn'` to `'throw'` so broken `.md` file-path links fail the build rather than being silently ignored Claude helped with all of it, after giving it a nice ripgrep query to start from. I've reviewed the generated `packages/docs/src/remark/enforce-doc-links.js` and it looks good to me, but if we don't want that level of enforcement it can certainly be removed. ## Related issue(s) Related to #8155 which broke the markdown link but wasn't caught by docusaurus Helps enforce the conventions updated in #8173, which fixed the link but missed those in this PR. ## Testing <!-- What did you test? How can we reproduce the issue you are fixing or how can we test the feature you built? --> ## Checklist - [-] Release notes added (see link above) - [x] No obvious regressions in affected areas - [x] Self-review has been performed - I have read every line of this diff and can explain what each change does and why it is needed <!--- actual-bot-sections ---> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-06-16 00:32:02 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#131747