Markdown中的RTL

Kar*_*rim 45 markdown right-to-left

是否有任何现有的降价规范,包括对RTL语言的支持?

我希望的是类似的东西

This paragraph is left to right
<- This paragraph is right to left
Run Code Online (Sandbox Code Playgroud)

或者某些东西......我可以调整我的解析器来处理这个但我想确保它已经不存在了.

Ale*_*ohn 29

不完全是降价,但这是你可以在StackExchange问​​题和答案中覆盖段落方向的方法(此方法不适用于评论):

添加‫ 段落开头的(RIGHT-TO-LEFT EMBEDDING)确实控制了本段的方向(在空行上自动重置):

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

&#x202b;test1 ?? ??? YES
test2 ?? ??? YES
Run Code Online (Sandbox Code Playgroud)

测试מהזה?是的
测试1מהזה?没有test2מהזה?没有

test1מהזה?是的测试2מהזה?是

  • 在使用&#x202b的Github问题上; 也提供了正确的结果.一个小技巧是我需要将RTL段落包含在<p> </ p>中,否则Github无法呈现它. (2认同)

Mak*_*ebi 19

实际上,正如我的朋友Aevyz提醒我的那样,Markdown在其中解析HTML.

您无需更改解析器.我能想到的最快解决方法是:

<div dir="rtl">

???? ????

????? ??????

???? ?????

???? ????
</div>
Run Code Online (Sandbox Code Playgroud)

因此,您需要添加两行来转换整个文档RTL,并且通过它将比自己的脚本更好地兼容.所以我认为这是对这个问题的回答.

  • 但不幸的是,markdown 属性在 HTML 标签中不起作用:( (6认同)

Kaj*_*nus 15

这是Markdown的JavaScript实现,它(根据提交注释)增加了对RTL语言的支持,即阿拉伯语,希伯来语,叙利亚语,塔那语.添加更多语言似乎很容易.

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

它基于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);
Run Code Online (Sandbox Code Playgroud)

希望这会有所帮助,
马格努斯


小智 12

您可以使用:

\n
<div align="right">\n   \xd8\xa7\xdb\x8c\xd9\x86 \xd9\x85\xd8\xaa\xd9\x86 test \xd8\xa7\xd8\xb3\xd8\xaa\n</div>\n
Run Code Online (Sandbox Code Playgroud)\n

或者:

\n
<div dir="auto" align="right">\n   \xd8\xa7\xdb\x8c\xd9\x86 \xd9\x85\xd8\xaa\xd9\x86 test \xd8\xa7\xd8\xb3\xd8\xaa\n</div>\n
Run Code Online (Sandbox Code Playgroud)\n

或(推荐):

\n
<div dir="auto">\n   \xd8\xa7\xdb\x8c\xd9\x86 \xd9\x85\xd8\xaa\xd9\x86 test \xd8\xa7\xd8\xb3\xd8\xaa\n</div>\n
Run Code Online (Sandbox Code Playgroud)\n


Dar*_*asi 10

我没有在比迪烟文本的降价标准中找到任何内容.我使用自己的编辑器:dariubs.github.io/rtlmd

  • 我们应该如何在github项目中使用它? (4认同)
  • 在 github 中,你只需要在 &lt;div dir="rtl&gt; &lt;/div&gt; 之间添加你的内容 (2认同)

Avi*_*Avi 7

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

以上段落用希伯来语RTL编写,并在输入框中正确显示,但未在预览版中显示.但是,没有支持混音 - 有一段RTL和另一段LTR.似乎有人需要在Markdown中为MarkdownSharp(SO的版本)移植上述希伯来语支持.不应该太难.

  • 不降价,但添加&#x202b; 段落开头的(RIGHT-TO-LEFT EMBEDDING)确实控制了本段的方向(在空行上自动重置). (6认同)

Sey*_*don 6

就像dir="auto"下面的例子一样使用,它会按你想要的方式工作:

 <div dir="auto">
                ?? ??????? ?? attribute dir ?? ????? auto ?? HTML ?? ????? ?? ??? ?????? RTL ?? ?? ????? ?????.
  </div>
Run Code Online (Sandbox Code Playgroud)


Koo*_*osh 6

您可以简单地在span标签之间添加所有内容,如下所示:

\n

\r\n
\r\n
<span dir="rtl" align="right">\n      \xd8\xa7\xdb\x8c\xd9\x86 \xdb\x8c\xda\xa9 test \xd8\xa7\xd8\xb3\xd8\xaa\n</span>
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n

您可能需要检查链接以查看正在运行的示例。

\n