番号以外のマーカーを持つ順序付きリスト

リクエスト:\u0026lt;ol\u0026gt;type 属性をホワイトリストに追加してください。同様の(ただしより一般的な)理由から、\u0026lt;ol\u0026gt;reversed 属性と、\u0026lt;li\u0026gt;value 属性についても同様の対応を行うことを提案します。

目的:これらの属性は、順序付きリスト項目のマーカー自体がリストの内容に意味を伝える場合に使用されることを意図しています。通常、リスト項目がこのマーカーを通じて参照される場合に該当します。これは、マーカーの選択に重要な目的がない場合に使用される CSS の list-style-type とは対照的です(ただし、フォーラム全体のローカライゼーションに推奨されている例もあり、これは非常に素晴らしいですね!)。

背景:公式の参照文書を引用しようとした際、リストのフォーマットにおける明らかな制限が発見され、正確な引用ができなくなっていました。多くの場合、リストマーカーは単に装飾的なものです。しかし、リストを多用する文書では、参照を容易にするために使用されることもあります。例えば、公式文書や法的文書では、リスト項目(またはサブ項目)がリストマーカーによって参照されることがあります。「公式文書 第 I 条、第 1 項(a)(i) 号」などです。

Markdown については、CommonMark 仕様に言及はなく、実際には数字(0-9)のみを指定しています。しかし、ほとんどのインタプリタ(markdown-it も含む)がリストに文字を許可していない一方で、いくつかのインタプリタは許可しています

BBCode において標準的な方法が存在するかどうか、BBCode の標準性が限定的であるため確信が持てません。任意の数字から開始する以上の高度な機能は見つかりませんでした。いずれにせよ、Discourse では BBCode のリストタグは使用されていないようです。

HTML および HTML+スタイルでは、どちらも正しい結果を生成しません:

「いいね!」 3

GitHubを見ると、これを実装するのはおそらく、このリストに追加するだけで済むでしょう:
https://github.com/discourse/discourse/blob/master/app/assets/javascripts/pretty-text/white-lister.js#L181-L183

ただし、これらを追加すると、HTMLからMarkdownへの変換器がこれらの属性を認識しないままになる点には注意が必要です。しかし、上記で示した通り、現在の markdown-it は、これらの構文を表現するMarkdown自体を処理できません。その場合、一歩進んでCommonMarkにリスト型の種類を実装することも検討に値するかもしれません…

「いいね!」 2

これに関する計画はありません。

これが欠如しているため、文書参照に数字以外のマーカーを使用する公式文書、法的文書、ソフトウェアライセンス、またはその他のものを引用することが非常に困難になります。

「いいね!」 1

リストにラッパーを追加して、CSS を設定しましょう

投稿では以下のように使用してください:

[wrap="letterlist"]
1. は最初の項目
2. は 2 番目の項目
3. は 3 番目の項目
[/wrap]

テーマには以下を追加してください:

.cooked div[data-wrap="letterlist"] {
  list-style: upper-alpha;
}
「いいね!」 1

リスト装飾が恣意的なものであることが目的であれば、それは良い解決策です。しかし、HTML の type 属性は、リストマーカーの違いが装飾以上の意味を持つ、意味的に重要な状況のために意図されたものです。<ol>: 順序付きリスト要素 - HTML | MDN より引用:

リスト番号の種類が重要である場合(番号や文字で項目を参照する法律文書や技術文書など)を除き、代わりに CSS の list-style-type プロパティを使用してください。

これは一般的なニーズであるため、HTML 4.01 で(純粋に装飾的なものであるという理由で)非推奨となりましたが、MDN が説明する参照リストをエンコードする目的のために、HTML5 で再度導入されました。

「いいね!」 1

このソリューションを試したところ、うまくいきました。CSS を以下のように修正しました(最初の行に ol { が欠けていました)。

.cooked div[data-wrap="letterlist"] ol {
  list-style: upper-alpha;
}

しかし、エディターのプレビューウィンドウに表示させることができません。これはほとんどのユーザーにとって問題となるでしょう。ウェブブラウザで検査してみましたが、カスタム CSS が読み込まれていないか、プレビューに適用されていないようです(私はこの分野の専門家ではないので、間違っているかもしれません)。

この問題を解決する方法を何か思いつきますか、@Falco さん?

「いいね!」 1

HTML がサポートされるようになったと思います。

  1. これ
  2. 他のもの
  3. 何か別のもの
<ol type="A">
<li> これ
<li> 他のもの
<li> 何か別のもの
</ol>

また、AaIi のタイプもサポートされています。

さらに、reversedstart= もサポートされています。

  1. パン
  2. ポテトチップス
  3. スイカ
<ol reversed start="36">
<li> パン
<li> ポテトチップス
<li> スイカ
</ol>

HTMLをそのように使用すると、<li>内のMarkdownの解釈が無効になるようで、ユーザーに提案するには実際には受け入れられません。

「いいね!」 1

HTMLバージョンを使用する必要があると思います。それらは混在させることを好まないためです。

  1. Bread
  2. Chips
  3. Watermelon
<ol reversed start=36>
<li> <b>Bread</b>
<li> <i>Chips</i>
<li> <strike>Watermelon</strike>
</ol>

わかっています。先ほど申し上げたように、ユーザーにそのような提案をすることは受け入れられません。リストの表示を少し変えたいという理由だけで、マークアップが完全に変わってしまうからです。

お役に立てず申し訳ありません。

もしかしたら、既存のソリューションの調整方法について助けを求める Dev トピックを開始すれば、誰かがお手伝いできるかもしれません。:+1:

「いいね!」 1