From 619762a5cd3ad4f7cab32dd968b34dfa57691914 Mon Sep 17 00:00:00 2001 From: James Brumond Date: Sat, 19 Aug 2023 16:03:08 -0700 Subject: [PATCH] fix base url issues --- src/base-url.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/base-url.ts b/src/base-url.ts index 73ff815..6e7c133 100644 --- a/src/base-url.ts +++ b/src/base-url.ts @@ -2,10 +2,20 @@ import { marked } from 'marked'; import { MarkdownOptions } from './render'; +export const placeholder_base_url = 'https://markdown2html.base-url.placeholder.invalid'; + export function base_url_walk_tokens(token: marked.Token, options: MarkdownOptions) { if (options.base_url) { + const base_url = options.base_url.startsWith('http://') || options.base_url.startsWith('https://') + ? options.base_url + : placeholder_base_url + options.base_url; + if (token.type === 'link' || token.type === 'image') { - token.href = (new URL(token.href, options.base_url)).toString(); + token.href = (new URL(token.href, base_url)).toString(); + + if (token.href.startsWith(placeholder_base_url)) { + token.href = token.href.slice(placeholder_base_url.length); + } } } }