# All files / src/html MarkdownProcessor.ts

100% Statements 6/6
100% Branches 4/4
100% Functions 3/3
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    259x

    9x

    80x
    80x

    276x

    20x

     import md from '../lib/markdown-it';

    export class MarkdownProcessor {
      baseDocId: string;
      docId: number;

      constructor(docId: string) {
        // markdown-it-footnotes state
        this.baseDocId = docId; // encapsulates footnotes in externals (<panel src="...">)
        this.docId = 0; // encapsulates footnotes in <include>s
      }

      renderMd(text: string) {
        return md.render(text, this.docId
          ? { docId: `${this.baseDocId}${this.docId}` }
          : { docId: this.baseDocId });
      }

      renderMdInline(text: string) {
        return md.renderInline(text, this.docId
          ? { docId: `${this.baseDocId}${this.docId}` }
          : { docId: this.baseDocId });
      }
    }