是否有任何现有的 Markdown 插件规范包含对 RTL 语言的支持?
我所希望的是类似的东西
This paragraph is left to right
<- This paragraph is right to left
或者其他什么...我可以调整我的解析器来处理这个问题,但我想确保它不存在。
其实正如我的朋友Aevyz提醒我的那样,Markdown 会解析其中的 HTML。
您无需更改解析器。我能想到的解决问题的最快路径是:
<div dir="rtl">
سلام دنیا
مرحبا العالم
שלום בעולם
ہیلو دنیا
</div>
因此您需要添加两行以将整个文档或其任意部分转换为 RTL。它会比自己的脚本更兼容。
不完全是降价,但这是您可以覆盖 StackExchange 问题和答案中的段落方向的方法(此方法不适用于评论):
在段落开头添加(从右到左嵌入)确实可以控制该段落的方向(在
或空行上自动重置):
‫test מה זה? YES<br/>
test1 מה זה? NO
test2 מה זה? NO
‫test1 מה זה? YES
test2 מה זה? YES
测试什么?是的
test1 是什么?不 test2 是什么?不test1 是什么?是的 test2 是什么?是的
这里是 Markdown 的 JavaScript 实现,它(根据提交注释)添加了对 RTL 语言的支持,即阿拉伯语、希伯来语、叙利亚语、Thaana。添加更多语言似乎非常容易。
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);
希望这有帮助,
马格努斯
我在比迪文本的降价标准中没有找到任何内容。 我使用自己的编辑器:rtlmd
只需使用
dir="auto"
就像下面的例子一样,它就会按照你想要的方式工作:
<div dir="auto">
با استفاده از attribute dir با مقدار auto در HTML می تونید به طور خودکار RTL رو هم داشته باشید.
</div>
您可以使用:
<div align="right">
این متن test است
</div>
or:
<div dir="auto" align="right">
این متن test است
</div>
or (recommended):
<div dir="auto">
این متن test است
</div>
ענййй。世界上最伟大的人 一切都已结束。 六月六日 六月十五日 六月十五日 六月十五日吖 זה לא עובד טוב.
上面的段落是用希伯来语 RTL 编写的,在输入框中正确显示,但在预览中却显示不正确。然而,不支持混合——一个段落 RTL 和另一个段落 LTR。似乎有人需要将上述希伯来语支持移植到 Markdown 中,也适用于 MarkdownSharp,SO 版本。应该不会太难吧
您可以简单地在
span
标签之间添加所有内容,如下所示:
<span dir="rtl" align="right">
این یک test است
</span>
您可能需要检查this链接以查看实际示例。
当我使用对齐时,它看起来更好,但项目符号和编号中没有缩进
由于 markdown 接受 html,因此使用这个技巧可能会很有用:
<style>*{direction: rtl}</style>
متن راست به چپ rtl text
## **rtl title عنوان راست به چپ**
我在 VSCode Jupyter Notebooks 中使用它,好处是你仍然可以使用 Markdown 标签(当你将内容包装在
<div dir="rtl">
或任何其他 HTML 标签中时这是不可能的)。
在 Visual Studio Code 中,您可以通过在 Markdown 文件的开头添加以下注释来设置文档方向:
<!-- language: rtl -->
或
也在 Markdown 文件的开头:
如果所有文件都是
rtl
<style>
* {
direction: rtl;
}
</style>
或者任何你想要的风格
或
您可以添加单独的自定义 css 文件,就像我们对 Html 文件所做的那样,就像在 Markdown 文件的开头一样:
<link rel="stylesheet" href="custom.css">
谢谢你^^