diff --git a/frontend/src/extensions/extra-integrations/asciinema/replace-asciinema-link.test.ts b/frontend/src/extensions/extra-integrations/asciinema/replace-asciinema-link.test.ts index 759a1a315..e42ba4361 100644 --- a/frontend/src/extensions/extra-integrations/asciinema/replace-asciinema-link.test.ts +++ b/frontend/src/extensions/extra-integrations/asciinema/replace-asciinema-link.test.ts @@ -25,6 +25,12 @@ describe('Replace asciinema link', () => { ) }) + it('will replace a valid URL with appendix', () => { + expect(markdownIt.renderInline('https://asciinema.org/a/123981234?a=1')).toBe( + `` + ) + }) + it("won't replace an URL without path", () => { expect(markdownIt.renderInline('https://asciinema.org/123981234')).toBe(`https://asciinema.org/123981234`) }) diff --git a/frontend/src/extensions/extra-integrations/asciinema/replace-asciinema-link.ts b/frontend/src/extensions/extra-integrations/asciinema/replace-asciinema-link.ts index 0085d652b..ea3640cda 100644 --- a/frontend/src/extensions/extra-integrations/asciinema/replace-asciinema-link.ts +++ b/frontend/src/extensions/extra-integrations/asciinema/replace-asciinema-link.ts @@ -8,14 +8,7 @@ import { AsciinemaMarkdownExtension } from './asciinema-markdown-extension' import type MarkdownIt from 'markdown-it' import markdownItRegex from 'markdown-it-regex' -const protocolRegex = /(?:http(?:s)?:\/\/)?/ -const domainRegex = /(?:asciinema\.org\/a\/)/ -const idRegex = /(\d+)/ -const tailRegex = /(?:[./?#].*)?/ -const asciinemaUrlRegex = new RegExp( - `^(?:${protocolRegex.source}${domainRegex.source}${idRegex.source}${tailRegex.source})$`, - 'i' -) +const asciinemaUrlRegex = /^https?:\/\/asciinema\.org\/a\/(\d+)(?:\?.*)?$/i const replaceAsciinemaLink: RegexOptions = { name: 'asciinema-link',