import Link from 'next/link';
import React, { memo } from 'react';
import ReactMarkdown from 'react-markdown';
import remarkGfm from 'remark-gfm';
const NonMemoizedMarkdown = ({ children }: { children: string }) => {
const components = {
code: ({ node, inline, className, children, ...props }: any) => {
const match = /language-(\w+)/.exec(className || '');
return !inline && match ? (
{children}
) : (
{children}
);
},
ol: ({ node, children, ...props }: any) => {
return (
{children}
);
},
li: ({ node, children, ...props }: any) => {
return (
{children}
);
},
ul: ({ node, children, ...props }: any) => {
return (
);
},
strong: ({ node, children, ...props }: any) => {
return (
{children}
);
},
a: ({ node, children, ...props }: any) => {
return (
{children}
);
},
h1: ({ node, children, ...props }: any) => {
return (
{children}
);
},
h2: ({ node, children, ...props }: any) => {
return (
{children}
);
},
h3: ({ node, children, ...props }: any) => {
return (
{children}
);
},
h4: ({ node, children, ...props }: any) => {
return (
{children}
);
},
h5: ({ node, children, ...props }: any) => {
return (
{children}
);
},
h6: ({ node, children, ...props }: any) => {
return (
{children}
);
},
};
return (
{children}
);
};
export const Markdown = memo(
NonMemoizedMarkdown,
(prevProps, nextProps) => prevProps.children === nextProps.children
);