From ee0119f50338972e1b24a808dc8a343e62864149 Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Fri, 8 Apr 2022 18:32:03 +0200 Subject: [PATCH] cherry-pick(#13425): docs(dotnet): fix broken generated docs links (#13430) --- .../doclint/{xmlDocumentation.js => dotnetXmlDocumentation.js} | 3 +++ utils/doclint/generateDotnetApi.js | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) rename utils/doclint/{xmlDocumentation.js => dotnetXmlDocumentation.js} (95%) diff --git a/utils/doclint/xmlDocumentation.js b/utils/doclint/dotnetXmlDocumentation.js similarity index 95% rename from utils/doclint/xmlDocumentation.js rename to utils/doclint/dotnetXmlDocumentation.js index 898e924147..a6627a1722 100644 --- a/utils/doclint/xmlDocumentation.js +++ b/utils/doclint/dotnetXmlDocumentation.js @@ -119,6 +119,9 @@ function _wrapAndEscape(node, maxColumns = 0) { let text = node.text; text = text.replace(/\[([^\]]*)\]\((.*?)\)/g, (match, linkName, linkUrl) => { + const isInternal = !linkUrl.startsWith('http://') && !linkUrl.startsWith('https://'); + if (isInternal) + linkUrl = new URL(linkUrl.replace('.md', ''), 'https://playwright.dev/dotnet/docs/api/').toString(); return `${linkName}`; }); text = text.replace(/(? ``); diff --git a/utils/doclint/generateDotnetApi.js b/utils/doclint/generateDotnetApi.js index 75693be874..eedf19ad50 100644 --- a/utils/doclint/generateDotnetApi.js +++ b/utils/doclint/generateDotnetApi.js @@ -19,7 +19,7 @@ const path = require('path'); // eslint-disable-next-line @typescript-eslint/no-unused-vars const Documentation = require('./documentation'); -const XmlDoc = require('./xmlDocumentation'); +const XmlDoc = require('./dotnetXmlDocumentation'); const PROJECT_DIR = path.join(__dirname, '..', '..'); const fs = require('fs'); const { parseApi } = require('./api_parser');