diff --git a/src/LinkThumbnailWidgetParams.ts b/src/LinkThumbnailWidgetParams.ts index 0f0e364..3d56e87 100644 --- a/src/LinkThumbnailWidgetParams.ts +++ b/src/LinkThumbnailWidgetParams.ts @@ -4,7 +4,8 @@ import { requestUrl } from "obsidian"; const urlRegex = new RegExp("^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([\\-.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$"); export async function LinkThumbnailWidgetParams(url: string) { - if (urlRegex.test(url)) { + const urlArr = urlRegex.exec(url); + if (urlArr) { try { const response = await requestUrl(url); const contextType = response.headers["content-type"]; @@ -18,35 +19,24 @@ export async function LinkThumbnailWidgetParams(url: string) { const ogTitle = document.querySelector("meta[property='og:title']")?.getAttribute("content") || document.querySelector("title")?.textContent || ""; const ogDescription = document.querySelector("meta[property='og:description']")?.getAttribute("content") || ""; - const ogImage = document.querySelector("meta[property='og:image']")?.getAttribute("content") || ""; + let ogImage = document.querySelector("meta[property='og:image']")?.getAttribute("content") || ""; + if (ogImage.startsWith("/")) { + const baseUrl = url.replace(urlArr[4], ""); + ogImage = baseUrl + ogImage; + } const ogImageAlt = document.querySelector("meta[property='og:image:alt']")?.getAttribute("content") || ""; const ogUrl = document.querySelector("meta[property='og:url']")?.getAttribute("content") || url; - let result = ""; - if (ogImage === "") { - result = ` -
${ogUrl}
-${ogUrl}
-${ogUrl}
+