From e2ef22fc5f57bf95a2347cd9f80c6b1d908f06d5 Mon Sep 17 00:00:00 2001 From: Taran Vohra Date: Thu, 26 Sep 2024 17:16:22 +0530 Subject: [PATCH] generate upto URL with 3 segments to support the new site url format (#2493) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Samy Pessé --- .changeset/tiny-lobsters-remember.md | 5 +++++ packages/gitbook/src/lib/middleware.test.ts | 15 +++++++++++++++ packages/gitbook/src/lib/middleware.ts | 2 +- 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 .changeset/tiny-lobsters-remember.md diff --git a/.changeset/tiny-lobsters-remember.md b/.changeset/tiny-lobsters-remember.md new file mode 100644 index 000000000..09c57a4d2 --- /dev/null +++ b/.changeset/tiny-lobsters-remember.md @@ -0,0 +1,5 @@ +--- +'gitbook': minor +--- + +Support resolution of new site URLs without the variant prefix /v/ diff --git a/packages/gitbook/src/lib/middleware.test.ts b/packages/gitbook/src/lib/middleware.test.ts index 7efa364f9..6723c6598 100644 --- a/packages/gitbook/src/lib/middleware.test.ts +++ b/packages/gitbook/src/lib/middleware.test.ts @@ -22,6 +22,11 @@ describe('getURLLookupAlternatives', () => { { extraPath: 'c', url: 'https://docs.mycompany.com/a/b', + primary: false, + }, + { + extraPath: '', + url: 'https://docs.mycompany.com/a/b/c', primary: true, }, ], @@ -229,6 +234,11 @@ describe('getURLLookupAlternatives', () => { { extraPath: 'c/d', url: 'https://docs.mycompany.com/a/b', + primary: false, + }, + { + extraPath: 'd', + url: 'https://docs.mycompany.com/a/b/c', primary: true, }, ], @@ -254,6 +264,11 @@ describe('getURLLookupAlternatives', () => { { extraPath: 'b/c/d', url: 'https://docs.mycompany.com/a/~', + primary: false, + }, + { + extraPath: 'c/d', + url: 'https://docs.mycompany.com/a/~/b', primary: true, }, ], diff --git a/packages/gitbook/src/lib/middleware.ts b/packages/gitbook/src/lib/middleware.ts index f86281d29..c3aef41a9 100644 --- a/packages/gitbook/src/lib/middleware.ts +++ b/packages/gitbook/src/lib/middleware.ts @@ -91,7 +91,7 @@ export function getURLLookupAlternatives(input: URL) { } // Otherwise match with the first two segments of the path - for (let i = 1; i <= 2; i++) { + for (let i = 1; i <= 3; i++) { if (pathSegments.length >= i) { const shortURL = new URL(url); shortURL.pathname = pathSegments.slice(0, i).join('/');