Markdown Editor: Linebreak parsen funktioniert nicht

  • Heyho liebe Community,

    seit ein paar Tagen bin ich dabei einen Online-Editor zu erstellen. Vielleicht kennt einer von euch editorially.com dort wird ein Editor verwendet, der genauso funktioniert. Relativ simple:

    Der User tippt zB: Lorem Ipsum **dolor* sit amet
    Nun bekommt er in Echtzeit genau dasselbe angezeigt, einziger Unterschied: Die Markdown Tags sind hellgrau und das Wort wird tatsächlich fett dargestellt.

    Um ein besseres Bild davon zu bekommen, könnt ihr euch meinen aktuellen Stand hier anschauen: http://md-editor.herokuapp.com/

    Bold, Italic, h1, h2, usw funktioniert bereits wie ich es gerne hätte. Das einzige Problem was ich habe: Linebreaks und Absätze funktionieren nicht. Für den Editor verwende ich ein ganz normales DIV mit contenteditable=true. Das Markdown wird mittels dieser Funktion geparsed:

    Was passiert wenn man return drückt? In dem Div wird an der aktuellen Curserposition folgendes hinzugefügt:

    Code
    <div><br></div>

    Danach springt der Curser an Position 0 in dem Editor Element (DIV). Um die Curser Position zwischenzuspeichern und wieder auszugeben habe ich ein Framework names "Rangy" eingefüt, welches bei allen anderen Markdown Tags sehr gut funktioniert. Das komische: Selbst wenn ich alle replace Funktionen aus der format Funktion entferne, wird dieses div mit einem break hinzugefügt. Allerdings wird dies im eigentlich Div nicht angezeigt. Ich bin langsam ratlos und weiß nicht wie ich das Problem beheben soll.

    Hat sich schonmal jemand mit diesem Thema auseinandergesetzt? Ich würde mich sehr über Hilfe freuen.

    Cheers,
    Max

    Don't follow me, I run into walls.