2009-12-03 5 views
1

im en utilisant l'éditeur de markdown wmd dans mon projet et j'ai un problème avec les balises de code: si j'entre un extrait de code, markdown ne convertit pas en html correctement, il convertit en "<p>" balises mais si j'entre un peu de texte d'abord, puis l'extrait de code qu'il convertit correctement en "<code>" tags est-ce un bug de l'éditeur de markdown wmd? et comment puis-je résoudre ce problème?wmd problème de code de démarquage

Répondre

1

Je travaillais sur ceci pour ma version corrigée de WMD edit. L'utilisation regex vous pouvez rapidement élaguer l'attaque et de fuite <p> balises qui sont notamment les causers de beaucoup de problèmes:

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

faisable en wmd ..

(je vous Asuming » re en utilisant la fourche de SO éditeur WMD) Trouvez cette partie du code et le modifier comme suit:

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

Untested, mais vous devriez obtenir l'idée.

+0

pourriez-vous m'aider avec ce – Moon

0

Avec MT Stone répondez. Je l'ai fait en armes de destruction massive que j'ai utilisé, pour enlever

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

pour être ..article ..

Et voici le code WMD.js: (ligne: 910)

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

i a écrit ceci en réponse parce que je suis très heureux de résoudre mon problème en une semaine. Je vous remercie.