代码之家  ›  专栏  ›  技术社区  ›  Karim

RTL在降价

  •  44
  • Karim  · 技术社区  · 14 年前

    是否有任何现有的用于标记的插件规范,包括对rtl语言的支持?

    我所希望的是

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

    或者什么…我可以调整我的解析器来处理这个问题,但我想确保它不存在。

    5 回复  |  直到 5 年前
        1
  •  15
  •   hasen    11 年前

    下面是markdown的javascript实现,它(根据commit注释)添加了对rtl语言(即阿拉伯语、希伯来语、叙利亚语、塔纳语)的支持。添加更多的语言似乎很容易。

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

    基于决战, http://attacklab.net/showdown

    它似乎自动理解是否从右向左呈现文本。
    考虑以下代码片段:(从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);
    

    希望能帮上忙,
    马格努斯

        2
  •  24
  •   Alex Cohn    11 年前

    不完全是降价,但这是在StackExchange问答中重写段落方向的方法(此方法不适用于注释):

    在段落开头添加&x202b;(从右到左嵌入)可控制此段落的方向(在<br/>或空行上自动重置):

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

    测试对
    试验1×××?不 试验2×××?不

    测试1对 测试2对

        3
  •  10
  •   Dariush Abbasi    9 年前

    我找不到比迪文本的降价标准。 我使用自己的编辑器: dariubs.github.io/rtlmd

        4
  •  8
  •   Makan    5 年前

    实际上是我的朋友 Aevyz 提醒我,markdown解析其中的html。

    您不需要更改解析器。我能想到的最快的解决方法是:

    <div dir="rtl">
    
    سلام دنیا
    
    مرحبا العالم
    
    שלום בעולם
    
    ہیلو دنیا
    </div>
    

    所以你需要 逐字添加两行 将整个文档转换为rtl,顺便说一下,它将比自己的脚本更好地兼容。所以我认为这是对这个问题的回答。

        5
  •  7
  •   Avi    13 年前

    ××××××。××××××××××××××××” ×)××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××× ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××× ×—××××××××××—××ד×××××××××”。

    上面的段落是用希伯来语rtl编写的,在输入框中正确显示,但在预览框中没有显示。然而,没有人支持混合-有一段rtl和另一段ltr。似乎有人需要移植上述希伯来语支持的markdown也为markdowsharp,so的版本。不应该太难。