Pregunta

¿Hay alguna especificación de complementos existente para Markdown que incluya soporte para idiomas RTL?

Lo que espero es algo como

This paragraph is left to right
<- This paragraph is right to left

O algo ... puedo modificar mi analizador para manejar esto, pero quiero asegurarme de que aún no exista.

¿Fue útil?

Solución

Aquí hay una implementación de JavaScript de Markdown, que (según los comentarios de comandos) agrega apoyo a los idiomas RTL, a saber, árabe, hebreo, siríaco, thaana. Y parece trivialmente fácil agregar más idiomas.

https://github.com/hasenj/showdown/

Se basa en Showdown, http://attacklab.net/showdown.

Parece comprender automáticamente si el texto de derecha a izquierda o no.
Considere este fragmento de código: (desde el primer compromiso en 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);

Espero que esto ayude,
Magnus

Otros consejos

No es exactamente Markdown, pero así es como puede anular la dirección del párrafo en preguntas y respuestas de stackexchange (este método no funciona para comentarios):

Agregar (incrustación de derecha a izquierda) al comienzo de un párrafo controla la dirección de este párrafo (resumen automático enu003Cbr/> o línea vacía):

&#x202b;test מה זה? YES<br/>
test1 מה זה? NO
test2 מה זה? NO

&#x202b;test1 מה זה? YES
test2 מה זה? YES

prueba מر זر? SÍ
test1 מر זر? Sin test2 מر זر? NO

test1 מر זر? Sí test2 מر זر? SÍ

En realidad como mi amigo Aevyz Me recordó, Markdown analiza html en él.

No necesitará cambiar su analizador. El camino más rápido para resolver que se me ocurra es este:

<div dir="rtl">

سلام دنیا

مرحبا العالم

שלום בעולם

ہیلو دنیا
</div>

Entonces necesitas Agregar literalmente dos líneas Para convertir un documento completo RTL, y por cierto será mejor compatible que un propio script. Así que creo que esta es una respuesta a la pregunta.

No encuentro nada en Markdown Standard para textos BIDI. Yo uso mi propio editor: rtlmd

מעניין. עכשיו אני רואה שבעצם יש גם לאתר הזה פה תמיכה בעברית וכתיבה מימין לשמאל. הבעיה היא שזה כותב טוב, אבל בתרגום בתיבה למטה שמציגה כמו שזה אמור להראות זה לא עובד טוב.

El párrafo anterior se escribió en hebreo RTL y se mostró correctamente en el cuadro de entrada pero no en la vista previa. Sin embargo, no hubo soporte para mezclar: tener un párrafo RTL y otro LTR. Parece que alguien necesita portar el soporte hebreo anterior en Markdown también para Markdownsharp, la versión SO. No debería ser demasiado difícil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top