markdown-drawio-util-for-view.ts 820 B

123456789101112131415161718192021
  1. /**
  2. * return markdown where the drawioData specified by line number params is replaced to the drawioData specified by drawioData param
  3. */
  4. export const replaceDrawioInMarkdown = (drawioData: string, markdown: string, beginLineNumber: number, endLineNumber: number): string => {
  5. const splitMarkdown = markdown.split(/\r\n|\r|\n/);
  6. const markdownBeforeDrawio = splitMarkdown.slice(0, beginLineNumber - 1);
  7. const markdownAfterDrawio = splitMarkdown.slice(endLineNumber);
  8. let newMarkdown = '';
  9. if (markdownBeforeDrawio.length > 0) {
  10. newMarkdown += `${markdownBeforeDrawio.join('\n')}\n`;
  11. }
  12. newMarkdown += '``` drawio\n';
  13. newMarkdown += drawioData;
  14. newMarkdown += '\n```';
  15. if (markdownAfterDrawio.length > 0) {
  16. newMarkdown += `\n${markdownAfterDrawio.join('\n')}`;
  17. }
  18. return newMarkdown;
  19. };