如何将哈希集传递给自定义标记渲染器?

时间:2019-11-19 15:05:31

标签: javascript markdown metalsmith javascript-marked

我目前正在摆弄marked,并尝试提出自己的降价表渲染器。以下代码段按预期方式工作。

const marked = require('marked');

var md_table = `
| Tables        | Are           | Cool  |
| ------------- |:-------------:| -----:|
| col 3 is      | right-aligned | $1600 |
| col 2 is      | centered      |   $12 |
| zebra stripes | are neat      |    $1 |
`;

const renderer = new marked.Renderer();

renderer.table = function(header, body) {
  var hash = {
      "tableClasses": "table my-table",
      "thClasses": "col"
  };

  const replaced_header = header.replace(/<th/g, `<th scope="${hash["thClasses"]}"`);

  var table = `
      <table class="${hash["tableClasses"]}>
          <thead>${replaced_header}</thead>
          <tbody>${body}</tbody>
      </table>
  `;

  return table;
}

console.log(marked(md_table, { renderer: renderer }));

从代码片段中可以看到,var hash = {}是在我的自定义函数中定义的。但是,我想将其作为参数传递,因此以后可以添加其他CSS .class选择器。

但是我不知道如何将其传递给marked(md_table, { renderer: renderer})。预先感谢。

0 个答案:

没有答案