From 1b4df9c57d8befbf0765a5c63f2f983f1d938270 Mon Sep 17 00:00:00 2001 From: Max Date: Mon, 16 Sep 2024 18:57:43 +0200 Subject: [PATCH] fix(links): adjust the anchor link only in Link.js Signed-off-by: Max --- src/marks/Link.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/marks/Link.js b/src/marks/Link.js index 6584e8c4f4e..029fb510446 100644 --- a/src/marks/Link.js +++ b/src/marks/Link.js @@ -8,6 +8,8 @@ import TipTapLink from '@tiptap/extension-link' import { domHref, parseHref } from './../helpers/links.js' import { linkClicking } from '../plugins/links.js' +const PROTOCOLS_TO_LINK_TO = ['http:', 'https:', 'mailto:', 'tel:'] + const extractHrefFromMatch = (match) => { return { href: match.groups.href } } @@ -58,9 +60,13 @@ const Link = TipTapLink.extend({ renderHTML(options) { const { mark } = options + const url = new URL(mark.attrs.href, window.location) + const href = PROTOCOLS_TO_LINK_TO.includes(url.protocol) + ? domHref(mark, this.options.relativePath) + : '#' return ['a', { ...mark.attrs, - href: domHref(mark, this.options.relativePath), + href, 'data-md-href': mark.attrs.href, rel: 'noopener noreferrer nofollow', }, 0]