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 = ` -
- -
- ` - } else { - result = ` -
- - -
- ` - } + const result = ` +
+ ${(ogImage === "")? "" : ``} + +
+ ` return result; } catch (error) { console.error(error); diff --git a/styles.css b/styles.css index 8b11546..7941ccc 100644 --- a/styles.css +++ b/styles.css @@ -44,14 +44,13 @@ a:has(.openGraphPreview):hover { border-radius: 0 !important; } .openGraphPreview .se-oglink-info-container { + display: flex; + flex-direction: column; + justify-content: center; + gap: 4px; overflow: auto; padding: var(--size-4-3) var(--size-4-2); } -.openGraphPreview .se-oglink-info { - display: block; - text-decoration: none; - color: var(--text-normal); -} .openGraphPreview .se-oglink-summary { font-size: 0.8rem; overflow: hidden; @@ -61,14 +60,12 @@ a:has(.openGraphPreview):hover { -webkit-box-orient: vertical; text-overflow: ellipsis; white-space: normal; - text-decoration: none; color: var(--text-normal); } .openGraphPreview .se-oglink-url { font-size: 0.8rem; margin-block: 0 !important; color: var(--link-color); - text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;