2016-08-18 3 views
1

Ich habe diese Zeit in meinem Lektor ..Konvertieren von Markdown/ASCI (mehrzeilige) To HTML (NodeJS)

* Line one 
* Line two 
some more info 

die wie folgt

* Line one\r\n* Line two\r\nsome more info

in der Datenbank sitzt Ich benutze Markdown-Paket, um die Markdown zu HTML auf meiner Website anzuzeigen, das funktioniert gut.

Allerdings wird die Zeilenumbrüche ignoriert, so dass mir diese Ausgabe zu geben ...

<ul><li>Line one</li><li>Line two\r\nsome more info</li></ul>

Wenn der Ausgang ich will, ist ...

<ul><li>Line one</li><li>Line two</li></ul>some more info

I ich denke, Müssen Sie eine "mehrzeilige Zeichenfolge" aus meiner einzelnen Zeile erstellen, bevor ich sie durch den Markdown führe?

Irgendwelche Gedanken über den besten Ansatz?

Derzeit diesen Code mit

var markdown = require("markdown").markdown; 
var unMarkdownDescriptions = function(description){ 
    //Check if currently contains HTML. 
    if(typeof description !== "undefined"){ 
     if(description.indexOf("<") !=-1){ 
      return description; 
     }else{ 

      return html_content = markdown.toHTML(description); 
     }  
    }else{ 
     return ''; 
    } 
} 

Aktuelle Code überprüfen, ob bereits als HTML in DB gespeichert und ignoriert sie (die wir von HTML zu MD migriert werden, die HTML-Datei auf dem ERP generierten ist bei den besten Zeiten zwielichtigen !)

Antwort

2

jedoch es die Linie ignoriert bricht

das ist, wie es sich verhalten soll, entsprechend der Markdown spec:

Ein Absatz besteht aus einer oder mehreren aufeinanderfolgenden Textzeilen, die durch eine oder mehrere Leerzeilen getrennt sind. (Eine leere Zeile ist eine Zeile, die wie eine leere Zeile aussieht - eine Zeile, die nichts als Leerzeichen oder Tabulatoren enthält, wird als leer angesehen.) Normale Absätze sollten nicht mit Leerzeichen oder Tabulatoren eingerückt werden.

Die Folge der Regel "Eine oder mehrere aufeinanderfolgende Textzeilen" ist, dass Markdown "hart umhüllte" Textabsätze unterstützt. Dies unterscheidet sich wesentlich von den meisten anderen Text-zu-HTML-Formatierern (einschließlich der Option "Zeilenumbrüche konvertieren" von Movable Type), die jedes Zeilenumbruchzeichen in einem Absatz in ein <br />-Tag übersetzen.

Um umfassen die Ausgabe, die Sie wollen, einfach eine leere Zeile nach Ihrer Liste:

* Line one 
* Line two 

some more info 
+0

einen Traum gearbeitet, perfekt und danke! –