Skip to content

fix(KNO-12271): Add target="_blank" to external links in docs#1381

Merged
rachael-t merged 6 commits intomainfrom
rt-kno-12271-update-external-links
Apr 9, 2026
Merged

fix(KNO-12271): Add target="_blank" to external links in docs#1381
rachael-t merged 6 commits intomainfrom
rt-kno-12271-update-external-links

Conversation

@rachael-t
Copy link
Copy Markdown
Contributor

@rachael-t rachael-t commented Apr 3, 2026

Description

Audits all external links in the docs to ensure they open in a new tab, preventing users from being navigated away from the docs site.

Note that this PR only updates external links that appear in prose and callouts. External links inside markdown lists (- [text](url)) and inside JSX component prop strings were intentionally left unchanged. This is because I was running into some rendering issues that require further investigation (see KNO-12286 and KNO-12420 for details). This PR at least updates most external links.

In this PR, I made the following changes:

  • External links in prose were converted to tags. Links written as [text](url) in paragraphs and callouts were converted to <a href="url" target="_blank" rel="noopener">text</a>.
  • rel="noopener noreferrer" added to purely informational reference sites. Links to Wikipedia, MDN, json-schema.org, Shopify Liquid docs, react.dev, nextjs.org, and brew.sh were given noreferrer in addition to noopener.
    • Links to Knock-owned sites/links and partner/integration sites had only noopener applied.

Tasks

KNO-12271

@linear
Copy link
Copy Markdown

linear bot commented Apr 3, 2026

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 3, 2026

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

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment Apr 9, 2026 3:15pm

Request Review

When specifying a dynamic window you must provide one of the following:

- An **[ISO-8601 timestamp](https://en.wikipedia.org/wiki/ISO_8601)** (e.g. `2022-05-04T20:34:07Z`) which must be a datetime in the future
- An <a href="https://en.wikipedia.org/wiki/ISO_8601" target="_blank" rel="noopener noreferrer">ISO-8601 timestamp</a> (e.g. `2022-05-04T20:34:07Z`) which must be a datetime in the future
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed the bold styling to keep it consistent with the batch and delay pages.

@rachael-t rachael-t marked this pull request as ready for review April 3, 2026 00:19
@rachael-t rachael-t requested a review from a team April 3, 2026 00:19
Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Risk MEDIUM: Adds target="_blank" to external links across 70 MDX content files by converting markdown links to HTML <a> tags with rel="noopener" (or rel="noopener noreferrer" for informational reference sites).

Reasons

  • All 70 changed files are .mdx content files — no components, layouts, config, or dependency changes (avoids HIGH triggers)
  • Changes span many documentation sections (concepts/, integrations/, developer-tools/, in-app-ui/, getting-started/, and more), triggering the multi-section MEDIUM rule
  • Total diff is 329 lines (189+/140-) across 70 files, which exceeds the LOW risk threshold of 50 total lines
  • The conversion from markdown link syntax to raw HTML <a> tags is mechanical but changes how MDX renders these elements, which could surface subtle rendering differences
  • No new pages, sidebar changes, or structural changes — the content meaning is preserved

Notes

  • Verify that converted <a> tags render identically to the original markdown links in the deployed preview (font, color, underline, hover state)
  • Spot-check that rel="noopener noreferrer" vs rel="noopener" was applied consistently per the stated policy (informational reference sites vs. Knock-owned/partner sites)
  • The PR description notes that links inside markdown lists and JSX component prop strings were intentionally skipped — confirm these remaining links still behave as expected
  • Watch for any accidental content changes beyond the link conversion (e.g., whitespace or text changes)
Open in Web View Automation 

Sent by Cursor Automation: Docs PR classifier

Copy link
Copy Markdown
Member

@cellomatt cellomatt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for these updates! I think it's worth looking into the formatting stuff flagged by bugbot to see if you can update it and still have it look correct/pass prettier formatting, but other than that lgtm 👍

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

There are 3 total unresolved issues (including 2 from previous reviews).

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 67602c3. Configure here.

@rachael-t rachael-t merged commit 06825a1 into main Apr 9, 2026
5 checks passed
@rachael-t rachael-t deleted the rt-kno-12271-update-external-links branch April 9, 2026 15: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.

2 participants