クイック引用テーマコンポーネント

:information_source: 概要 シンプルに言うと、投稿への返信ボタン(トピックへの返信ではありません)の動作を変更し、ワンクリックで投稿を自動的に引用します。
:hammer_and_wrench: リポジトリリンク GitHub - merefield/discourse-quick-quote: A Theme component to change the behaviour of the Post Reply buttons to quote a Post automatically in a single click. · GitHub
:open_book: インストールガイド Installing a theme or theme component
:heart: スポンサーシップ このコンポーネントが適切なメンテナンスを受け、将来もあなたのサイトで引き続き動作し続けるよう、あなたやあなたの組織の資源やニーズに合ったレベルで私のオープンソース作業のスポンサーになることを検討してください。

このテーマコンポーネントをお楽しみいただけていますか? GitHubで:star:(スター)を付けてください。

機能

シンプルに言うと、投稿への返信ボタン(トピックへの返信ではありません)の動作を変更し、ワンクリックで投稿を自動的に引用します。

引用する内容やタイミングを細かく調整するためのいくつかの設定があります。さらに、「古風」な雰囲気を再現するために引用のネスト(入れ子)を指定することもできます。

自動生成された引用はコンポーザー(入力欄)に渡されるため、必要に応じて手動で調整することも可能です(ただし、それでは「クイック(速い)」という部分が台無しになってしまいます :snail:)。

下部のトピックへの返信ボタンや、引用ツールの動作は変更されません。

背景

  • 標準インストールでは、引用を行うのにクリック回数が多すぎるという声がありました。タッチデバイスでは特に問題になりがちです。

  • 「自動引用」は、かなり前の投稿への返信をする際に特に便利です。このプラグインは、参照された投稿がどれくらい前のものであるかをカウントし、十分に前の投稿であれば自動的に引用を挿入します。これにより、文脈をすばやく理解するのに役立ちます。

  • 「ネストされた引用」が復活します!(デフォルトではOFF)このコンポーネントは、一部の「古風」なフォーラムプラットフォーム :space_invader: に慣れている人々にとって特に魅力的かもしれません。これは好みによりますが、ネストされた引用を見たい方は今から使用できます。ただし、スペース消費への影響には注意してください。

不要な場合

標準のトピック投稿への返信の動作に100%満足している場合、このコンポーネントは必要ありません。私は満足していますが、選択肢があるのは素晴らしいことですよね?

設定

quick_quote_post_location_threshold: 「クイック引用が有効になるまでの投稿数(遡る距離)」

自動引用が実行されるまでに、投稿がどれくらい前に投稿されている必要があるかを制御します。最近の投稿の不要な引用を防ぎます。

quick_quote_remove_links: 「引用からすべてのリンク(画像を含む)を削除」

整理整頓し、スペースの活用を改善します。

quick_quote_remove_prior_quotes: 「すべての過去の(ネストされた)引用を削除」

デフォルトで有効です。究極の古風なネスト体験を得るには、この設定をクリア(無効)してください。(ごめんねジェフ! ;))

quick_quote_remove_contiguous_new_lines: 「不要な改行を削除」

改行は過大評価されています。

quick_quote_character_limit: 「引用の文字数制限(総長さが制限を超える場合、最後のx文字を使用)」

抜粋は基本的なものになります :slight_smile: よりターゲットを絞った引用が必要な場合は、プラグインによって上書きされない引用ツールに戻ってください。

既知の制限

このテーマコンポーネントは、引用の準備方法を比較的シンプルに処理しています。一部の設定は他の設定と組み合わせて使用した方が効果的であり、どの設定が適しているかは管理者が判断する必要があります。複雑さを避けるため、例えば、単語を半分に切り裂く可能性のある抜粋の文字数制限が存在します。タグの切り捨てによる破損のリスクを避けるため、タグを削除してフォーマットを簡素化しています。これも簡素化を達成するためのものです。引用の処理は正規表現に大きく依存しており、すべてが完全に万全というわけではありませんが、「十分に」機能しています。これらはテーマコンポーネントの寿命を通じて改良される可能性があります。

これは最近、私が作成した同様のプラグインから移植されましたが、その過程でバグが混入している可能性があります。見つかった場合はお知らせください。

スポンサーおよびこのコンポーネントのインスピレーション

この作業のスポンサーである@Merlls_Rizziniに感謝してください。この機能は、私と彼とのアイデアの結晶であり、@eestyによるこの投稿にも部分的にインスピレーションを受けています。

注:これは私のFast Quote Pluginを基にしていますが、第三者にホスティングされている場合でも、より多くのサイト管理者がアクセスできるようにテーマコンポーネント形式に移行しました。@samは、バックエンドコンポーネントがないためテーマコンポーネントに変換すべきだと提案し、@sullyは彼自身のテーマバージョンを作成した後、この移行を最終的に後押ししてくれました。

フィードバックを歓迎します。

「いいね!」 38

最初から読み飛ばさなければ、その価値を理解する時間を短縮できたのに。

いいね! :+1:

「いいね!」 3

カテゴリごとに使えると素敵ですね。AMA カテゴリに入れたいのですが、そうでないと少しごちゃごちゃしてしまいます。

「いいね!」 3

topic.js への最近の Git コミットにより、このテーマコンポーネントに問題が生じたようです:

Quote.build() は存在しなくなりました。代わりに buildQuote() 関数をインポートして使用しているようです。単純な置換では解決しませんでした。もう少し検討する必要があります。

「いいね!」 2

すみません!クイック引用プラグインが all-the-plugins リストに含まれていなかったため、回帰調査の際に見落としてしまいました。リストに追加し、プラグインの修正を含む PR を作成しました:

(さらに設定の小さな修正も:https://github.com/merefield/discourse-quick-quote/pull/2)

「いいね!」 5

素晴らしい、ありがとう、ヤレク(報告ありがとう @sully!)、マージしました!(バグ修正もありがとう!)

「いいね!」 1

このテーマを使用していますが、昨日アップデートしたところ、今日から不具合の報告が寄せられています。

返信を作成して説明しようとしたところ、ある投稿に返信している状態で別の投稿に移動し、その投稿全体に返信しようとしても、返信が最初に選択した投稿のままで、切り替わらないことがわかりました。

以前は切り替わっていたのですが、クイック引用機能は現在も正常に動作しています。

完全に理解するために、もう少し詳しく分解していただけますか?……より細かな手順で、どこが間違っているとお考えか、説明していただけますか?

「いいね!」 1

はい、現在その件について議論されています。3 つ以上前の投稿に返信できない問題は、繰り返し説明する必要がある厄介な課題の一つになるでしょう。

クイック引用は素晴らしいですが、返信機能を復活させることはできますか?

まだ理解できていません。もっと詳しく、手順を詳しく説明していただけますか?

コンポーネントをローカルで再テストしましたが、問題なく動作しているように見えます。

「いいね!」 1

問題ありません。もしかすると、関数の解釈を誤っているか、他の見落としがあるかもしれません。

しかし、現状ではスレッド内で4投稿分上に移動すると、返信ボタンが無効になります。

これは今日初めて言及されたことで、昨日アップデートを行いました。

そのため、関連していると考えています。設定が関係しているかもしれません。

テーマ設定を表示してもらえますか?

また、最新の Discourse バージョンと最新のテーマコンポーネントを使用していることを確認してもらえますか?

さらに、コンソールに JavaScript エラーが表示されるか教えていただけますか?

「いいね!」 1

ランダムなスレッドで

image

このサイトは、自分でホストしているサイトのようにバージョンを表示しません。

「いいね!」 1

ありがとうございます。

はい、設定を同じにしてみたのですが、再現できませんでした。4 つ前の投稿にある「返信」ボタンは正常に動作しています。

ただし、あなたの設定を考えると非常に不自然です。(「3」が際立っていますね!)

私は Discourse と TC の最新バージョンを使用しています。両方とも完全に更新されているか確認してください。

「いいね!」 1

ソースコードを見ると Discourse 2.5.0.beta2 と表示されています。

TC はテーマコンポーネントのことでしょうか?

3 を 5 に変更すると、5 番目の投稿まで返信できるようになりました。

では、9999 に設定しても他の機能に支障は出ないでしょうか?

はい、本番環境のサイトであなたの問題を再現しました…

v2.5.0.beta2 +459

Jarek が提出した変更は、Discourse の最新バージョンを非常に明確にターゲットとしていたものです。

もしかすると、彼の変更より前の Discourse コミットを使用している可能性がありますか?もしそうなら、最新の TC では動作しません。両方をアップグレードするか、どちらもアップグレードしない必要があります。

さらに、さっきそのサイトを最新リリース(+495)にアップグレードしましたが、すべて正常に動作しています。

つまり、Discourse を彼のコミットの後にアップグレードする必要があります。

「いいね!」 1

ロールバックに使用できる CSS を提供してもらえますか?

その後、サイトが更新されたらそれを削除します。

ありがとうございます :slightly_smiling_face:

それとも

@team 私のサイトは近日中に更新されますか?

ああ、いいアイデアですね。ただ、UI から JavaScript フォルダの内容にアクセスできるかどうかは疑問です(もし間違っていたら教えてください!)。

残念ながら、テーマコンポーネントの特定のコミットをインストールすることもできないと思います(同上!)。

なので、私の提案としては、その 3 を 9999 に変更して、Discourse がより最新の状態になるまで待つのが良いでしょう。

「いいね!」 1

了解しました。ご心配なく。ご協力ありがとうございます。とても感謝しています :+1:

「いいね!」 1

みなさん、Quick Quoting の熱心な語り手の方々へ…最新の Discourse で Quick Quote が再び動作するように修正版をリリースしました。

tests-passed ブランチを追跡していますので、そのブランチにいない場合は更新しないでください。

「いいね!」 3