diff --git a/packages/mask/src/plugins/Snapshot/SNSAdaptor/hooks/useRemarkable.ts b/packages/mask/src/plugins/Snapshot/SNSAdaptor/hooks/useRemarkable.ts index 1c8db0c4581b..aba816ab6edb 100644 --- a/packages/mask/src/plugins/Snapshot/SNSAdaptor/hooks/useRemarkable.ts +++ b/packages/mask/src/plugins/Snapshot/SNSAdaptor/hooks/useRemarkable.ts @@ -1,9 +1,20 @@ import { useMemo } from 'react' import { Remarkable } from 'remarkable' +import { resolveIPFSLinkFromURL } from '@masknet/web3-shared-evm' export function useRemarkable(md: string) { return useMemo(() => { const remarkable = new Remarkable() + const defaultImageRender = remarkable.renderer.rules.image + remarkable.use(() => { + remarkable.renderer.rules.image = function (tokens: Remarkable.ImageToken[], idx: number, ...args: []) { + const modifiedTokens = tokens.map((token) => ({ + ...token, + src: resolveIPFSLinkFromURL(token.src), + })) + return defaultImageRender(modifiedTokens, idx, ...args) + } + }) return remarkable.render(md) }, [md]) }