Markdown 中的 RTL
是否有任何现有的 Markdown 插件规范包含对 RTL 语言的支持?
我所希望的是类似的东西
This paragraph is left to right
<- This paragraph is right to left
...我可以调整我的解析器来处理这个问题,但我想确保它不存在。
Is there any existing addon spec for markdown that includes support for RTL languages?
What I'm hoping for is something like
This paragraph is left to right
<- This paragraph is right to left
Or something... I can tweak my parser to handle this but I want to make sure it doesn't exist already.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
实际上正如我的朋友 Aevyz 提醒我的那样,Markdown 会解析其中的 HTML。
您不需要更改解析器。我能想到的解决问题的最快路径是这样的:
因此您需要添加两行以将整个文档或其任意部分转换为 RTL。它将比自己的脚本更兼容。
Actually as my friend Aevyz reminded me, Markdown parses HTML in it.
You won't need to change your parser. The quickest path to solve that I could think of is this:
So you need to add literally two lines to turn a whole document or an arbitrary section of it into RTL. It will be more compatible than an own script.
不完全是 markdown,但这就是您可以覆盖 StackExchange 问题和答案中的段落方向的方法(此方法不适用于注释):
add 段落开头的(从右到左嵌入)确实控制该段落的方向(在
或空行上自动重置):
Not exactly markdown, but this is how you can override paragraph direction in StackExchange questions and answers (this method does not work for comments):
add (RIGHT-TO-LEFT EMBEDDING) in the beginning of a paragraph does control the direction of this paragraph (auto-reset on <br/> or empty line):
这是 Markdown 的 JavaScript 实现,它(根据提交注释)添加了对 RTL 语言的支持,即阿拉伯语、希伯来语、叙利亚语、Thaana。添加更多语言似乎非常容易。
https://github.com/hasenj/showdown/
它基于 Showdown,http://attacklab.net/showdown。
它似乎会自动理解是否从右到左渲染文本。
考虑以下代码片段:(来自 GitHub 上的第一次提交)
希望这会有所帮助,
马格努斯
Here is a JavaScript implementation of Markdown, which (according to the commit comments) adds support for RTL languages, namely Arabic, Hebrew, Syriac, Thaana. And it seems trivially easy to add more languages.
https://github.com/hasenj/showdown/
It's based on Showdown, http://attacklab.net/showdown.
It seems to automatically understand whether or not to render the text from right to left.
Consider this code snippet: (from the very first commit at GitHub)
Hope this helps,
Magnus
我在比迪文本的降价标准中没有找到任何内容。
我使用自己的编辑器:rtlmd
I don't find anything in markdown standard for bidi texts.
I use my own editor : rtlmd
只需像下面的示例一样使用
dir="auto"
,它就会按照您想要的方式工作:Just use
dir="auto"
like the below example and it will work as you wanted:您可以使用:
或:
或(推荐):
You can use:
or:
or (recommended):
最好的。世界上最伟大的人
一切都已结束。
六角形 六角形 六角形 六角形 六角形 六角形埃
זה לא עובד טוב。
上面的段落是用希伯来语 RTL 编写的,在输入框中正确显示,但在预览中却显示不正确。然而,不支持混合——一个段落 RTL 和另一个段落 LTR。似乎有人需要将上述希伯来语支持移植到 Markdown 中,也适用于 MarkdownSharp,SO 版本。不应该太难。
מעניין. עכשיו אני רואה
שבעצם יש גם לאתר הזה פה תמיכה בעברית וכתיבה מימין לשמאל.
הבעיה היא שזה כותב טוב, אבל בתרגום בתיבה למטה שמציגה כמו שזה אמור להראות
זה לא עובד טוב.
The above paragraph was written in Hebrew RTL and was displayed correctly in the input box but not in the preview one. However, there was no support for mixing - having one paragraph RTL and another one LTR. Seems someone needs to port the above Hebrew support in Markdown also for MarkdownSharp, SO's version. Shouldn't be too hard.
您可以简单地在
span
标记之间添加所有内容,如下所示:您可能需要检查此 链接查看实际示例。
You can simply add everything between
span
tags like below:You may want to check this link to see an example in action.
简单的解决方案
在 Visual Studio Code 中,您可以通过在 Markdown 文件的开头添加以下注释来设置文档方向:
或
也在 Markdown 文件的开头:
如果所有文件都是
rtl
或任何您想要的样式
或
您可以添加单独的自定义 css 文件,就像我们对 Html 文件所做的那样,就像在 Markdown 文件的开头一样:
Simple Solution
In Visual Studio Code, you can set the document direction by adding the following comment at the beginning of your Markdown file:
or
also in the beginning of your Markdown file:
if all the file is
rtl
or any style you want
or
you can add separate custom css file like we are doing with Html file, like this in the beginning of your Markdown file :
由于 markdown 接受 html,所以使用这个技巧可能很有用:
我在 VSCode Jupyter Notebooks 中使用它,好处是你仍然可以使用 markdown 标签(当你将内容包装在
或任何其他 HTML 标记)。
Since the markdown accepts html, using this trick might be useful:
I use this in VSCode Jupyter Notebooks, and the good thing is you can still use markdown tags (which is not possible when you wrap the content in
<div dir="rtl">
or any other HTML tag).当我使用对齐时,它看起来更好,但项目符号和编号中没有缩进
when I use align it looks better, but has no indents in bullets and numbering