From 2be46fc5355c1d5cfab578ef3a31a209358e7521 Mon Sep 17 00:00:00 2001 From: zhouhanseng Date: Tue, 24 May 2022 16:02:37 +0800 Subject: [PATCH 1/3] fix: markdown ipfs parser --- .../Snapshot/SNSAdaptor/hooks/useRemarkable.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/mask/src/plugins/Snapshot/SNSAdaptor/hooks/useRemarkable.ts b/packages/mask/src/plugins/Snapshot/SNSAdaptor/hooks/useRemarkable.ts index 1c8db0c4581b..583563c25d4e 100644 --- a/packages/mask/src/plugins/Snapshot/SNSAdaptor/hooks/useRemarkable.ts +++ b/packages/mask/src/plugins/Snapshot/SNSAdaptor/hooks/useRemarkable.ts @@ -1,9 +1,23 @@ 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: []) { + return defaultImageRender( + tokens.map((token) => ({ + ...token, + src: resolveIPFSLinkFromURL(token.src), + })), + idx, + ...args, + ) + } + }) return remarkable.render(md) }, [md]) } From 7797c927d22ce779312764a8e509066fbf07520c Mon Sep 17 00:00:00 2001 From: zhouhanseng Date: Tue, 24 May 2022 17:11:18 +0800 Subject: [PATCH 2/3] chore: reply code review --- .../Snapshot/SNSAdaptor/hooks/useRemarkable.ts | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/packages/mask/src/plugins/Snapshot/SNSAdaptor/hooks/useRemarkable.ts b/packages/mask/src/plugins/Snapshot/SNSAdaptor/hooks/useRemarkable.ts index 583563c25d4e..45edc72b49f8 100644 --- a/packages/mask/src/plugins/Snapshot/SNSAdaptor/hooks/useRemarkable.ts +++ b/packages/mask/src/plugins/Snapshot/SNSAdaptor/hooks/useRemarkable.ts @@ -7,15 +7,12 @@ export function useRemarkable(md: string) { const remarkable = new Remarkable() const defaultImageRender = remarkable.renderer.rules.image remarkable.use(() => { - remarkable.renderer.rules.image = function (tokens: Remarkable.ImageToken[], idx: number, ...args: []) { - return defaultImageRender( - tokens.map((token) => ({ - ...token, - src: resolveIPFSLinkFromURL(token.src), - })), - idx, - ...args, - ) + remarkable.renderer.rules.image = function (_tokens: Remarkable.ImageToken[], idx: number, ...args: []) { + const tokens = _tokens.map((token) => ({ + ...token, + src: resolveIPFSLinkFromURL(token.src), + })) + return defaultImageRender(tokens, idx, ...args) } }) return remarkable.render(md) From ea9dcf654cea3497bf2f828d60c7cb31914bf738 Mon Sep 17 00:00:00 2001 From: zhouhanseng Date: Tue, 24 May 2022 17:39:30 +0800 Subject: [PATCH 3/3] chore: reply code review --- .../src/plugins/Snapshot/SNSAdaptor/hooks/useRemarkable.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/mask/src/plugins/Snapshot/SNSAdaptor/hooks/useRemarkable.ts b/packages/mask/src/plugins/Snapshot/SNSAdaptor/hooks/useRemarkable.ts index 45edc72b49f8..aba816ab6edb 100644 --- a/packages/mask/src/plugins/Snapshot/SNSAdaptor/hooks/useRemarkable.ts +++ b/packages/mask/src/plugins/Snapshot/SNSAdaptor/hooks/useRemarkable.ts @@ -7,12 +7,12 @@ export function useRemarkable(md: string) { const remarkable = new Remarkable() const defaultImageRender = remarkable.renderer.rules.image remarkable.use(() => { - remarkable.renderer.rules.image = function (_tokens: Remarkable.ImageToken[], idx: number, ...args: []) { - const tokens = _tokens.map((token) => ({ + remarkable.renderer.rules.image = function (tokens: Remarkable.ImageToken[], idx: number, ...args: []) { + const modifiedTokens = tokens.map((token) => ({ ...token, src: resolveIPFSLinkFromURL(token.src), })) - return defaultImageRender(tokens, idx, ...args) + return defaultImageRender(modifiedTokens, idx, ...args) } }) return remarkable.render(md)