HTML5の「button」タグはエディタプレビューではレンダリングされますが、レンダリングされた投稿ではレンダリングされません

問題

投稿の内容を保存した後、レンダリングされた投稿で約4ミリ秒表示され、その後2ミリ秒ローディングサークルが表示されて消えます。

解決策

プレビューでのレンダリングが偶然であり、私が知らないセキュリティ上の懸念からレンダリングされた投稿で削除されることが意図的な場合、少なくとも<button><button disabled>に置き換えることはできませんか?

特にチュートリアルや再現手順で、<code><kbd>の誤用が多く見られますが、意味論的には<button>が適切であるため、このように質問します。

「いいね!」 1

厳密にはバグではないと思います。混乱されているのも理解できます。

HTMLタグや属性/クラス名をフィルタリングから除外しないようにするには、Discourseコアまたはプラグインで明示的に許可する必要があります。

例えば、デフォルトのリストはここで見ることができます。

プレビューのみタグを許可することも可能です。例えば、画像コントロールにはいくつかのタグ/クラス名/属性の組み合わせがあります。

ここで許可されているタグの副作用として、プレビューでボタンが表示されているのがわかります。
ただし、disabled属性は定義されていないため無視されます。

許可リストがどのように解析されるか確認していませんが、期待通りの動作なのか疑問です。:thinking: 現在、タグは属性に関係なく許可されているようです。例えば、\u003cbutton class=\"alt-text-edit-ok btn btn-primary\"\u003eを正確に使用しない限り、ボタンはレンダリングされないと予想していました。

投稿レンダリング時に\u003cbutton\u003eを許可するプラグインを作成できます。お手伝いが必要な場合はお知らせください。

「いいね!」 2

@Arkshine、ありがとうございます。しかし、私はインスタンスオペレーターではありません。コンテンツを作成しているときに、これに気づいただけです。

これは、プレビューアでのHTML5およびCSS3の表現が最終的なレンダリングと異なる多くのインスタンスの1つであり、Discourseのコンテンツ作成が困難になる可能性があります。これは、編集が無効になっているか、インスタンス全体で非常に短い期間に制限されている場合に特に当てはまります。

「いいね!」 1

承知いたしました。理にかなっていますね!それは良い経験ではないことに同意します。

もしよろしければ、disabled属性を持つ<button>を許可する小さなプラグインを作成しました。GitHub - Arkshine/discourse-markdown-allowlist

残念ながら、この状況では設定を行うことができないため、別のタグを追加したい場合は、私のリポジトリをフォークして、ご自身で追加する必要があります。こちらをご覧ください。

「いいね!」 2

@Arkshine、それはアップストリームできませんか?これは私が使用するすべてのインスタンスに影響するため、それらすべてにそのような些細なことのパッチを組み込むように依頼するのは非現実的だろうと私は尋ねます。

通常、関連するGitHubリポジトリでこのような問題についてイシューを作成しますが、Discourseのイシューセクションは無効になっています。

GitHub の代わりに Feature を使用しますか? Bug ではないためです。

@Jagster、このタグが単に利用できないだけであれば、そうします。しかし、プレビューアがプレビューアとして機能しないのは#バグです。

これを機能としてどのように分類しますか?これを実証するためにタイトルをどのように書き直しますか?

「いいね!」 1

Feature は、機能不足のカテゴリです。Bug はエラー用であり、これはエラーではありません。

GitHub の issue セクションとまったく同じように使用したいということでしょうか?

「いいね!」 1

プレビューとレンダリングされた投稿との間の不整合は、Bug として検討するに値すると考えられます。

おそらく、プレビューでもブロックされるようになるでしょう。これは、「投稿に <button> のサポートを追加する」ことが、将来の Feature リクエストとして有効になることを意味します :wink:

「いいね!」 3

おっしゃる通りです、@david。これらは分けておくべきでした。

申し訳ありません、そしてありがとうございます。

「いいね!」 3