/*
* 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);