Compare commits

...

2 Commits

Author SHA1 Message Date
ce4c2c171a
0.3.6
All checks were successful
Build and publish / build-and-publish (push) Successful in 20s
2023-08-19 16:03:21 -07:00
619762a5cd
fix base url issues 2023-08-19 16:03:08 -07:00
3 changed files with 14 additions and 4 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "@doc-utils/markdown2html",
"version": "0.3.5",
"version": "0.3.6",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@doc-utils/markdown2html",
"version": "0.3.5",
"version": "0.3.6",
"dependencies": {
"bytefield-svg": "^1.6.1",
"dompurify": "^2.3.6",

View File

@ -1,6 +1,6 @@
{
"name": "@doc-utils/markdown2html",
"version": "0.3.5",
"version": "0.3.6",
"publishConfig": {
"registry": "https://gitea.home.jbrumond.me/api/packages/doc-utils/npm/"
},

View File

@ -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);
}
}
}
}