usage() {
        const md = new Remarkable();
        md.render("# Remarkable rulezz!");

        const importedMd = new ImportedRemarkable();
        importedMd.render("# Remarkable rulezz!");
    }
示例#2
0
export function renderMd(rawText:string, headersHandler?:HeadersHandler) {
  let _origRule;
  if (headersHandler) {
    _origRule = {
      open: md.renderer.rules.heading_open,
      close: md.renderer.rules.heading_close
    };
    md.renderer.rules.heading_open = (tokens, idx) => {
      if (tokens[idx].hLevel !== 1 ) {
        return _origRule.open(tokens, idx);
      } else {
        return headersHandler.open(tokens, idx);
      }
    };

    md.renderer.rules.heading_close = (tokens, idx) => {
      if (tokens[idx].hLevel !== 1 ) {
        return _origRule.close(tokens, idx);
      } else {
        return headersHandler.close(tokens, idx);
      }
    };
  }

  let res =  md.render(rawText);

  if (headersHandler) {
    md.renderer.rules.heading_open = _origRule.open;
    md.renderer.rules.heading_close = _origRule.close;
  }

  return res;
}
export async function createMarkdownOutput(
  text: string,
  template?: string,
): Promise<[ IPost | null, string, string ]> {
  const parsed = /(?:^---\n)([\s\S]*)(?:---\n)(([\s\S])*)/gm.exec(text) || []
  const hasFrontmatter = parsed.length

  const md = (hasFrontmatter ? parsed[2] : text)
    .replace(/\.jpeg/g, ".large.jpeg")
    .replace(/\.jpg/g, ".large.jpg")
    .replace(/\.png/g, ".large.png")
    .replace(/\]\(\.\.\//g, "](../../")

  const blog = remarkable.render(md)

  if (!hasFrontmatter) {
    const html = ejs.render(template || defaultTemplate, { blog, frontmatter: null })
    return [ null, md, html ]
  }

  const frontmatter = load(parsed[1])
  const html = ejs.render(template || defaultTemplate, { blog, frontmatter })
  return [ frontmatter, md, html ]
}
示例#4
0
 return this.backendSrv.get(`/api/plugins/${this.pluginId}/markdown/readme`).then(res => {
   var md = new Remarkable();
   this.readmeHtml = this.$sce.trustAsHtml(md.render(res));
 });
示例#5
0
 this.backendSrv.get(`/api/plugins/${this.datasourceInstance.meta.id}/markdown/query_help`).then(res => {
   var md = new Remarkable();
   this.helpHtml = this.$sce.trustAsHtml(md.render(res));
 });
示例#6
0
 public render(raw: string):string {
   return md.render(raw);
 }