Skip to content

Commit d8a6b22

Browse files
committed
fix: enhance slugify function to handle markdown links
1 parent f3ab502 commit d8a6b22

2 files changed

Lines changed: 6 additions & 0 deletions

File tree

src/core/render/slugify.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export function slugify(str) {
1313
let slug = str
1414
.trim()
1515
.normalize('NFC')
16+
.replace(/\[([^\]]+)\]\([^)]+\)/g, '$1')
1617
.replace(/\uFE0F/g, '')
1718
.replace(/[\p{Emoji_Presentation}\p{Extended_Pictographic}]/gu, '')
1819
.replace(/[A-Z]+/g, lower)

test/unit/render-util.test.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,5 +212,10 @@ describe('core/render/slugify', () => {
212212

213213
const quoteCleanedSlug = slugify('"The content"');
214214
expect(quoteCleanedSlug).toBe('the-content');
215+
216+
const markdownLinkSlug = slugify(
217+
'[5.0.0-rc.4](https://github.com/docsifyjs/docsify/compare/v5.0.0-rc.3...v5.0.0-rc.4) (2026-03-11)',
218+
);
219+
expect(markdownLinkSlug).toBe('_500-rc4-2026-03-11');
215220
});
216221
});

0 commit comments

Comments
 (0)