diff --git a/packages/docusaurus-1.x/lib/core/__tests__/toSlug.test.js b/packages/docusaurus-1.x/lib/core/__tests__/toSlug.test.js index 9baddc98c0..130b2e3b25 100644 --- a/packages/docusaurus-1.x/lib/core/__tests__/toSlug.test.js +++ b/packages/docusaurus-1.x/lib/core/__tests__/toSlug.test.js @@ -16,6 +16,8 @@ const toSlug = require('../toSlug'); ['Someting long ...', 'someting-long-'], ['foo_bar', 'foo_bar'], ['some _ heading', 'some-_-heading'], + ["I'm good", 'im-good'], + ['This is awes’ome', 'this-is-awesome'], ].forEach(([input, output]) => { test(`toSlug('${input}') -> '${output}'`, () => { expect(toSlug(input)).toBe(output); diff --git a/packages/docusaurus-1.x/lib/core/toSlug.js b/packages/docusaurus-1.x/lib/core/toSlug.js index 27d3715346..e81f7d73f2 100644 --- a/packages/docusaurus-1.x/lib/core/toSlug.js +++ b/packages/docusaurus-1.x/lib/core/toSlug.js @@ -45,8 +45,8 @@ module.exports = (string, context = {}) => { .replace(new RegExp(`[${accents}]`, 'g'), c => without.charAt(accents.indexOf(c)), ) - // Replace `.`, `(` and `?` with blank string like Github does - .replace(/\.|\(|\?/g, '') + // Replace `'`, `’`, `.`, `(` and `?` with blank string like GitHub does + .replace(/'|’|\.|\(|\?/g, '') // Dash special characters except '_' (underscore) .replace(exceptAlphanumAndUnderscore, '-') // Compress multiple dash