MarkdownコンテンツにおけるURIのDiscourseでの処理に関するバグ

geo URI でこのバグに遭遇しました。形式は geo:36.95733984,-122.0172856 のようになっています。

tel URI については例外処理があるのを見ています:

    if (allowedHrefSchemes.includes("tel")) {
      extraHrefMatchers.push(new RegExp("^tel://\\\\+?[\\\\w\\\\.\\\\-]+", "i"));

Uniform Resource Identifier (URI) Schemes というページもありますが、例が含まれているため、スキームの確認には List of URI schemes - Wikipedia を使いました。私は、ええと、スキーム名の「接尾辞」、つまり :// に注目しています(あれは何と呼ぶのでしょうか?「スキーム形式」?)。

慎重に見てみると、使われているパターンは以下の 3 つだけのように思えます:

  • ://
  • :/
  • :

Markdown の記述と href への変換のどこでこの処理が行われているのか、私の頭では追いきれていませんが、もしこの 3 つの形式をチェックする方法が分かれば、管理者が追加する任意のスキームに対応できるはずです。

スキームごとの検証方法についてはわかりません… :thinking:


私が勝手に名付けた形式のコードネーム:

  • : 「観察」
  • :/ 「懐疑的」
  • :// 「二重の懐疑的」
「いいね!」 1