我想使用showdown.js打印md表。但是,它似乎没有像我期望的那样正确转换为降价表。
我尝试将options('table option')设置为'true'并将文本转换为md。但是,不起作用。
下面是我实现的功能,仅供参考。
setMdConvert()
<=正如我所说,我只是尝试了所有选项为true。
getTechDescriptionMd()
<=一种用于将任意降价文本转换为降价表的测试功能
function setMdConvert() {
var mdConverter = new showdown.Converter();
var options = showdown.getOptions();
var keys = Object.keys(options);
keys.forEach((key) => {
if(options[key].constructor === boolConstructor)
mdConverter.setOption(key, true);
});
console.log(mdConverter.getOptions());
return mdConverter;
}
function getTechDescriptionMd() {
var text = '| h1 | h2 | h3 |' +
'|:------|:-------:|--------:|' +
'| 100 | [a][1] | ![b][2] |' +
'| *foo* | **bar** | ~~baz~~ |';
var html = mdConverter.makeHtml(text);
$('.desc-viewer').html(html);
}
结果:
| h1 | h2 | h3 ||:------|:-------:|--------:|| 100 | [a][1] | ![b][2] || foo | bar | baz |
我还有其他选择吗?
答案 0 :(得分:0)
这是render()
的修改版,对我有用。我添加了昨天在评论中已经提到的换行符,并初始化了.getTechDescriptionMd()
并将其选项'tables'设置为true(受documentation启发)。
现在看起来像这样:
mdConverter
我得到的结果是:
function getTechDescriptionMd() {
var text = '| h1 | h2 | h3 |\n' +
'|:------|:-------:|--------:|\n' +
'| 100 | [a][1] | ![b][2] |\n' +
'| *foo* | **bar** | ~~baz~~ |';
var mdConverter = new showdown.Converter();
mdConverter.setOption('tables', true);
var html = mdConverter.makeHtml(text);
$('.desc-viewer').html(html);
}