問題
投稿の内容を保存した後、レンダリングされた投稿で約4ミリ秒表示され、その後2ミリ秒ローディングサークルが表示されて消えます。
解決策
プレビューでのレンダリングが偶然であり、私が知らないセキュリティ上の懸念からレンダリングされた投稿で削除されることが意図的な場合、少なくとも<button>を<button disabled>に置き換えることはできませんか?
特にチュートリアルや再現手順で、<code>や<kbd>の誤用が多く見られますが、意味論的には<button>が適切であるため、このように質問します。
「いいね!」 1
厳密にはバグではないと思います。混乱されているのも理解できます。
HTMLタグや属性/クラス名をフィルタリングから除外しないようにするには、Discourseコアまたはプラグインで明示的に許可する必要があります。
例えば、デフォルトのリストはここで見ることができます。
プレビューのみタグを許可することも可能です。例えば、画像コントロールにはいくつかのタグ/クラス名/属性の組み合わせがあります。
ここで許可されているタグの副作用として、プレビューでボタンが表示されているのがわかります。
ただし、disabled属性は定義されていないため無視されます。
許可リストがどのように解析されるか確認していませんが、期待通りの動作なのか疑問です。
現在、タグは属性に関係なく許可されているようです。例えば、\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
残念ながら、この状況では設定を行うことができないため、別のタグを追加したい場合は、私のリポジトリをフォークして、ご自身で追加する必要があります。こちらをご覧ください。
「いいね!」 3
@Arkshine、それはアップストリームできませんか?これは私が使用するすべてのインスタンスに影響するため、それらすべてにそのような些細なことのパッチを組み込むように依頼するのは非現実的だろうと私は尋ねます。
通常、関連するGitHubリポジトリでこのような問題についてイシューを作成しますが、Discourseのイシューセクションは無効になっています。
Jagster
(Jakke Flemming)
6
GitHub の代わりに Contribute > Feature をこちらで使ってください。Contribute > Bug についてはそうではありません。
@Jagster、このタグが単に利用できないだけなら、私もそうします。しかし、プレビューアがプレビューアとして機能していないのは Contribute > Bug です。
これを機能としてどのように分類しますか? タイトルをどのように書き換えるべきでしょうか?
「いいね!」 1
Jagster
(Jakke Flemming)
8
Contribute > Feature は機能不足のカテゴリです。Contribute > Bug はエラー用であり、これはエラーではありません。
GitHub のイシューセクションと同様に使用してみませんか?
「いいね!」 1
david
(David Taylor)
9
プレビューとレンダリング済み投稿間の不一致は、Contribute > Bug(バグ)として扱うのが妥当だと思います。
おそらく解決策は、プレビュー側でもそれをブロックすることになるでしょう。つまり、「投稿で<button>のサポートを追加する」ことは、将来の#contribute:feature(機能リクエスト)として有効なものになるということです 
「いいね!」 3
おっしゃる通りです、@david。これらは分けておくべきでした。
申し訳ありません、そしてありがとうございます。
「いいね!」 3