diff --git a/src/components/Markdown.svelte b/src/components/Markdown.svelte index 85ab8d309..0058df7d0 100644 --- a/src/components/Markdown.svelte +++ b/src/components/Markdown.svelte @@ -137,6 +137,7 @@ // pointing at the repos /raw endpoint. for (const i of container.querySelectorAll("img")) { const imagePath = i.getAttribute("src"); + const imageClass = i.getAttribute("class"); // If the image is an oid embed if (imagePath && isCommit(imagePath)) { @@ -160,7 +161,8 @@ } // Make sure the source isn't a URL before trying to fetch it from the repo - if (imagePath && !isUrl(imagePath) && !imagePath.startsWith("/twemoji")) { + const emoji = imageClass && imageClass === "marked-emoji-img"; + if (imagePath && isUrl(imagePath) && !imagePath && !emoji) { i.setAttribute("src", `${rawPath}/${canonicalize(imagePath, path)}`); } } @@ -349,6 +351,10 @@ max-width: 100%; } + .markdown :global(img.marked-emoji-img) { + height: 1rem; + } + .markdown :global(code) { font-family: var(--font-family-monospace); font-size: var(--font-size-small); diff --git a/src/lib/markdown.ts b/src/lib/markdown.ts index bbeb92205..ddb1773e7 100644 --- a/src/lib/markdown.ts +++ b/src/lib/markdown.ts @@ -89,7 +89,13 @@ export const markdownWithExtensions = new Marked( katexMarkedExtension({ throwOnError: false }), markedLinkifyIt({}, { fuzzyLink: false }), markedFootnote({ refMarkers: true }), - markedEmoji({ emojis }), + markedEmoji({ + emojis, + renderer: (token: { name: string; emoji: string }) => { + const src = token.emoji.codePointAt(0)?.toString(16); + return `${token.name}`; + }, + }), ((): MarkedExtension => ({ extensions: [anchorMarkedExtension], }))(),