diff --git a/packages/typedoc-plugin-markdown/src/theme/core/url-builder.ts b/packages/typedoc-plugin-markdown/src/theme/core/url-builder.ts index 1eb1e9d4d..5087449bc 100644 --- a/packages/typedoc-plugin-markdown/src/theme/core/url-builder.ts +++ b/packages/typedoc-plugin-markdown/src/theme/core/url-builder.ts @@ -255,8 +255,8 @@ export function buildUrls(theme: MarkdownTheme, project: ProjectReflection) { const duplicateUrls = urls.filter( (urlMapping) => - urlMapping.url.toLowerCase().replace(/-\d+$/, '') === - url.toLowerCase(), + urlMapping.url.toLowerCase() === url.toLowerCase() && + urlMapping.url !== url, ); if (duplicateUrls.length > 0) { diff --git a/packages/typedoc-plugin-markdown/test/fixtures/src/groups/has-same-exports.ts b/packages/typedoc-plugin-markdown/test/fixtures/src/groups/has-same-exports.ts index bcd2f8d66..fa2235ff1 100644 --- a/packages/typedoc-plugin-markdown/test/fixtures/src/groups/has-same-exports.ts +++ b/packages/typedoc-plugin-markdown/test/fixtures/src/groups/has-same-exports.ts @@ -2,3 +2,9 @@ class ClassA {} class ClassB {} export { ClassA as SomeClass, ClassB as someClass }; + +/** + * @group group1 + * @group group2 + */ +export function someFunction() {} diff --git a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/navigation.spec.ts.snap b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/navigation.spec.ts.snap index bb0216835..c377abfd4 100644 --- a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/navigation.spec.ts.snap +++ b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/navigation.spec.ts.snap @@ -2268,6 +2268,11 @@ exports[`Navigation should gets Navigation Json for multiple entry points: (Outp "title": "someClass", "kind": 128, "path": "has-same-exports/classes/someClass-1.md" + }, + { + "title": "someFunction", + "kind": 64, + "path": "has-same-exports/functions/someFunction.md" } ] }, @@ -2619,6 +2624,26 @@ exports[`Navigation should gets Navigation Json for multiple entry points: (Outp "path": "has-same-exports/classes/someClass-1.md" } ] + }, + { + "title": "group1", + "children": [ + { + "title": "someFunction", + "kind": 64, + "path": "has-same-exports/functions/someFunction.md" + } + ] + }, + { + "title": "group2", + "children": [ + { + "title": "someFunction", + "kind": 64, + "path": "has-same-exports/functions/someFunction.md" + } + ] } ] }, diff --git a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/urls.spec.ts.snap b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/urls.spec.ts.snap index ce87a0168..afea74ff3 100644 --- a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/urls.spec.ts.snap +++ b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/urls.spec.ts.snap @@ -244,6 +244,7 @@ exports[`Urls should gets Urls for multiple entry points: outputFileStrategy: me "has-references/index.md", "has-same-exports/classes/SomeClass.md", "has-same-exports/classes/someClass-1.md", + "has-same-exports/functions/someFunction.md", "has-same-exports/index.md", "index/classes/SomeClass.md", "index/index.md", @@ -298,6 +299,7 @@ exports[`Urls should gets Urls for multiple entry points: outputFileStrategy: me "has-references/index.md", "has-same-exports/classes/SomeClass.md", "has-same-exports/classes/someClass-1.md", + "has-same-exports/functions/someFunction.md", "has-same-exports/index.md", "index/classes/SomeClass.md", "index/index.md",