From be9cad8a61127c5fb0e6a3d822f1a96ca1104834 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Thu, 5 Jan 2023 22:54:39 +0100 Subject: [PATCH] docs: use `URL` instead of strings to check urls --- website/readme-fns.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/website/readme-fns.js b/website/readme-fns.js index 655325b6e9..ba35b43eb3 100644 --- a/website/readme-fns.js +++ b/website/readme-fns.js @@ -71,19 +71,21 @@ const replaceLinks = ({ content, repo }) => { const markdownLink = /(?<=\[.*\]\(\s?)(\S+)(?=.*\))/g; const replacer = (url) => { - // case 2: - const docsUrl = 'https://docs.getunleash.io'; - if (url.startsWith(docsUrl)) { - return url.substring(docsUrl.length); - } - - // case 1 try { // This constructor will throw if the URL is relative. // https://developer.mozilla.org/en-US/docs/Web/API/URL/URL - new URL(url); + const parsedUrl = new URL(url); + + // case 2: + if (parsedUrl.hostname === 'docs.getunleash.io') { + return `${parsedUrl.pathname ?? '/'}${parsedUrl.query ?? ''}${ + parsedUrl.hash ?? '' + }`; + } + return url; } catch { + // case 1 if (url.startsWith('#')) { // ignore links to other doc sections return url;