All files / src/html MarkdownProcessor.ts

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

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 25                87x 87x       270x           12x          
import { markdownIt as md } from '../lib/markdown-it/index.js';
 
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 });
  }
}