/* * Renders Markdown that got parsed by core/MarkdownParser */ import React from 'react'; import MdLink from '../../src/components/MdLink'; import MdMention from './MdMention'; export const MarkdownParagraph = React.memo(({ pArray }) => pArray.map((part) => { if (!Array.isArray(part)) { return part; } const type = part[0]; switch (type) { case 'c': return ({part[1]}); case '*': return ( ); case '~': return ( ); case '+': return ( ); case '_': return ( ); case 'img': case 'l': { return ( ); } case '@': { return ( ); } default: return type; } })); const Markdown = ({ mdArray }) => mdArray.map((part) => { const type = part[0]; switch (type) { /* Heading */ case 'a': { const level = Number(part[1]); const heading = part[2]; const children = part[3]; let headingElem = []; switch (level) { case 1: headingElem =

{heading}

; break; case 2: headingElem =

{heading}

; break; case 3: headingElem =

{heading}

; break; default: headingElem =

{heading}

; } return [ headingElem,
, ]; } /* Paragraph */ case 'p': { return (

); } /* Code Block */ case 'cb': { const content = part[1]; return
{content}
; } case '>': case '<': { const children = part[1]; return (
') ? 'gt' : 'rt'} >
); } case 'ul': { const children = part[1]; return ( ); } case 'ol': { const children = part[1]; return (
); } case '-': { const children = part[1]; return (
  • ); } default: return part[0]; } }); const MarkdownArticle = ({ mdArray }) => (
    ); export default React.memo(MarkdownArticle);