Voici une implémentation JavaScript de Markdown, qui (selon les commentaires du commit) ajoute le support des langues RTL, à savoir l'arabe, l'hébreu, le syriaque et le thaana. Et il semble trivialement facile d'ajouter d'autres langues.
https://github.com/hasenj/showdown/
C'est basé sur Showdown, http://attacklab.net/showdown .
Il semble comprendre automatiquement si le texte doit être rendu de droite à gauche ou non.
Considérez cet extrait de code : (du tout premier commit sur GitHub)
var p_tag = "<p>";
var rtl_p_tag = "<p style='direction:rtl; text-align: right'>";
// Check for RTL paragraphs: paragraphs that start with a character
// from an RTL script.
// RTL scripts are: Arabic, Hebrew, Syriac, Thaana
// Unicode ranges reference: http://www.ssec.wisc.edu/~tomw/java/unicode.html
var first_char = str.charCodeAt(str.search(/\S/)); //first non-white-space char
if(first_char >= 1424 && first_char <= 1983)
{
p_tag = rtl_p_tag;
}
str = _RunSpanGamut(str);
str = str.replace(/^([ \t]*)/g, p_tag);
J'espère que cela vous aidera,
Magnus