wmd markdown代码问题

时间:2009-12-03 14:24:14

标签: markdown wmd wmd-editor

我在我的项目中使用wmd markdown编辑器,我遇到代码标记问题: 如果我输入一个代码段,则markdown无法正确转换为html,它会转换为“<p>”代码,但如果我先输入其他文本,然后再输入代码段,则会在“<code>”代码中正确转换 这是wmd markdown编辑器的错误吗?我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

我实际上正在为我的固定版WMD编辑工作。使用正则表达式,您可以快速删除前导<p>标记,这些标记最明显是许多问题的原因:

html = html.replace(/^<p>/g, '').replace(/<\/p>$/g, '');

在wmd ..中强制执行此操作。

(我假设你正在使用wmd编辑器的SO分支)找到这部分代码并按如下方式进行更改:

var convertToHtml = function(){

    if (wmd.showdown) {
        var markdownConverter = new wmd.showdown.converter();
    }
    var text = inputBox.value;

    var callback = function(){
        inputBox.value = text;
    };

    if (!/markdown/.test(wmd.wmd_env.output.toLowerCase())) {
        if (markdownConverter) {
            inputBox.value = markdownConverter.makeHtml(text);

            // Add this line here:
            inputBox.value= inputBox.value.replace(/^<p>/g, '').replace(/<\/p>$/g, '');

            top.setTimeout(callback, 0);
            }
        }
    return true;
};

未经测试,但您应该明白这一点。

答案 1 :(得分:0)

与T. Stone先生回答。我在WMD中使用过,删除

<p> ..article.. </p>

是..article ..

这里是WMD.js代码:( line:910)

if (converter) {
    text = converter.makeHtml(text);
    //new code here
    text= text.replace(/^<p>/g, '').replace(/<\/p>$/g, '');
}

我在回答中写道,因为我很高兴它在一周内解决了我的问题。三江源。