1. ホーム
  2. markdown

MarkdownにおけるRTL

2023-07-13 03:22:41

質問

RTL言語のサポートを含む、マークダウンのための既存のアドオン仕様はありますか?

私が望んでいるのは、次のようなものです

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

とかなんとか...。 私はこれを処理するためにパーサーを微調整することができますが、私はそれがすでに存在しないことを確認したいです。

どのように解決するのですか?

これは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);

これが役に立つといいのですが。

マグナス