проблема с кодом уценки wmd - PullRequest
       35

проблема с кодом уценки wmd

1 голос
/ 03 декабря 2009

Я использую редактор разметки wmd в моем проекте, и у меня проблема с тегами кода: если я ввожу фрагмент кода, разметка не будет правильно преобразована в html, она преобразуется в теги "<p>", но если я сначала введу какой-то текст, а затем фрагмент кода, он правильно преобразуется в теги "<code>" это ошибка редактора уценки wmd? и как я могу решить эту проблему?

Ответы [ 2 ]

1 голос
/ 05 декабря 2009

Я фактически работал над этим для моей фиксированной версии редактирования ОМУ. Используя регулярные выражения, вы можете быстро убрать ведущие и конечные теги <p>, которые являются наиболее значительными причинами многих проблем:

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

Для обеспечения этого в wmd ..

(я предполагаю, что вы используете SO форка редактора wmd) Найдите эту часть кода и измените ее следующим образом:

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;
};

Не проверено, но вы должны понять.

0 голосов
/ 07 марта 2013

С ответом мистера Т. Стоуна. Я сделал в ОМУ, которое я использовал, чтобы удалить

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

быть .. статьей ..

А вот код WMD.js: (строка: 910)

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

я написал это в ответ, потому что я очень рад, что это решит мою проблему через неделю. большое спасибо.

...