X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fvideos%2Fshared%2Fmarkdown.service.ts;h=fd0330f9bc8f5d0c34ba92050df1efb56e7e5973;hb=66b16cafb380012d3eca14e524d86f2450e04069;hp=d8b5b76b6bce67ea9189ce3a24b8fd76708c7ee0;hpb=9d9597df427542eb5c7d3ba8ff5aeb146fab40e2;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/videos/shared/markdown.service.ts b/client/src/app/videos/shared/markdown.service.ts index d8b5b76b6..fd0330f9b 100644 --- a/client/src/app/videos/shared/markdown.service.ts +++ b/client/src/app/videos/shared/markdown.service.ts @@ -14,6 +14,17 @@ export class MarkdownService { .enable('link') .enable('newline') + this.setTargetToLinks() + } + + markdownToHTML (markdown: string) { + const html = this.markdownIt.render(markdown) + + // Avoid linkify truncated links + return html.replace(/]+>([^<]+)<\/a>\s*...(<\/p>)?$/mi, '$1...') + } + + private setTargetToLinks () { // Snippet from markdown-it documentation: https://github.com/markdown-it/markdown-it/blob/master/docs/architecture.md#renderer const defaultRender = this.markdownIt.renderer.rules.link_open || function (tokens, idx, options, env, self) { return self.renderToken(tokens, idx, options) @@ -33,8 +44,4 @@ export class MarkdownService { return defaultRender(tokens, idx, options, env, self) } } - - markdownToHTML (markdown: string) { - return this.markdownIt.render(markdown) - } }