From 74b8603116286917ba78302d40fda46b0f998c6e Mon Sep 17 00:00:00 2001 From: Trezy Date: Thu, 14 May 2026 16:16:06 -0500 Subject: [PATCH] docs: fix links in site Signed-off-by: Trezy Signed-off-by: Trezy --- bun.lock | 2 ++ packages/docs/package.json | 2 ++ packages/docs/source.config.ts | 3 ++- packages/docs/src/lib/remark-strip-md-extension.ts | 12 ++++++++++++ 4 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 packages/docs/src/lib/remark-strip-md-extension.ts diff --git a/bun.lock b/bun.lock index 183351d..78347db 100644 --- a/bun.lock +++ b/bun.lock @@ -18,6 +18,7 @@ "dependencies": { "@happyview/design-system": "workspace:*", "@tailwindcss/postcss": "^4.2.0", + "@types/mdast": "^4.0.4", "@types/mdx": "^2.0.13", "fumadocs-core": "^16.8.10", "fumadocs-mdx": "^15.0.4", @@ -29,6 +30,7 @@ "react": "^19.2.0", "react-dom": "^19.2.0", "tailwindcss": "^4.2.0", + "unist-util-visit": "^5.1.0", "zod": "^4.4.3", }, "devDependencies": { diff --git a/packages/docs/package.json b/packages/docs/package.json index 03bb418..e035f81 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -11,6 +11,7 @@ "dependencies": { "@happyview/design-system": "workspace:*", "@tailwindcss/postcss": "^4.2.0", + "@types/mdast": "^4.0.4", "@types/mdx": "^2.0.13", "fumadocs-core": "^16.8.10", "fumadocs-mdx": "^15.0.4", @@ -22,6 +23,7 @@ "react": "^19.2.0", "react-dom": "^19.2.0", "tailwindcss": "^4.2.0", + "unist-util-visit": "^5.1.0", "zod": "^4.4.3" }, "devDependencies": { diff --git a/packages/docs/source.config.ts b/packages/docs/source.config.ts index a6d35b1..720c16d 100644 --- a/packages/docs/source.config.ts +++ b/packages/docs/source.config.ts @@ -1,5 +1,6 @@ import { defineDocs, defineConfig, frontmatterSchema } from 'fumadocs-mdx/config'; import { remarkMdxMermaid, remarkCodeTab } from 'fumadocs-core/mdx-plugins'; +import { remarkStripMdExtension } from './src/lib/remark-strip-md-extension'; import { z } from 'zod'; const neonLagoonDark = { @@ -124,7 +125,7 @@ export const blog = defineDocs({ export default defineConfig({ mdxOptions: { - remarkPlugins: [remarkMdxMermaid, remarkCodeTab], + remarkPlugins: [remarkStripMdExtension, remarkMdxMermaid, remarkCodeTab], rehypeCodeOptions: { themes: { light: neonLagoonLight, diff --git a/packages/docs/src/lib/remark-strip-md-extension.ts b/packages/docs/src/lib/remark-strip-md-extension.ts new file mode 100644 index 0000000..61f9a19 --- /dev/null +++ b/packages/docs/src/lib/remark-strip-md-extension.ts @@ -0,0 +1,12 @@ +import { visit } from 'unist-util-visit'; +import type { Root } from 'mdast'; + +export function remarkStripMdExtension() { + return (tree: Root) => { + visit(tree, 'link', (node) => { + if (node.url && !node.url.startsWith('http')) { + node.url = node.url.replace(/\.md(#|$)/, '$1'); + } + }); + }; +} -- 2.51.2