トースター - すべてはコンポスターに入れられます。 フィルタリングして楽しむ

偶然ですが、IT トピックに関するロシアの Q&A リソースは CIS で非常に人気があります。 トースター。 しかし、私が彼のことを詳しく知り始めたとき、彼には何かが欠けていました。 これにより、ブラウザ拡張機能の形で改善が行われました。 会いましょう。

лючевыеособенности:

  • 名称: トースターの快適さ。
  • ユーザー統計: 解決策のある質問の割合。 ハブルからのカルマ。 プロフィールの要約 - これらすべては Toaster の質問リストにあります。
  • 注意事項: サイト上のリアルタイムのアイコン、プッシュ通知、多くの設定、サイトが開いている必要があります (вики).
  • フィルター: 数式に基づく条件: 質問を非表示にしたり、色を付けたり、通知を表示したりできます。これらはすべて論理条件の形式で柔軟に構成されます (вики).
  • インタフェース: 正確な日付を表示したり、質問リストにサブスクリプション ステータスを表示したりするなど、細かい改善が行われました。
  • ハブインターフェース: マイナーな改善 (オプション)、たとえば、コメント内の行のインデント。
  • オープンソース: 本当に必要な場合は、自分用にリメイクすることもできます(ソース).
  • 無料: MITライセンス。
  • メモリ消費量: 30~50MB(トースターのオプションと使用量に応じて)
  • サイズ: v93 の場合は 0.8.1KB (解凍された、縮小されていないコード)。
  • フレームワーク: 欠落している、クリーンな JS (ミニマリズム)。
  • コードの品質: 平均的、スタイルの組み合わせ、大きな機能、汚いトリック、コメントは少ない。
  • 権限: toster.ru, habr.com, notifications, storage, unlimitedStorage

当初、私は XNUMX つの目的だけで自分用に拡張機能を作成しました。それは、ユーザーがわざわざ [解決策としてマーク] ボタンをクリックした質問の割合を表示することです。 その後、少しずつ、最初の XNUMX つが追加され、次に別の XNUMX つが追加され、最終的にツールは XNUMX キロバイトの怪物に成長しました。 それでも「余計なものは使わない」という原則は最後まで貫かれました。

主な機能の XNUMX つは、設定で数式を使用できることです。 彼らを使えば、注意力を管理したいことなら何でもできます。 重要なことは、何が欲しいのかを知ることです。 サイトを操作するときに注意すべき主な点は、非表示、色の変更、通知の XNUMX つです。 あらゆるものをフィルタリングすることが利便性の鍵です。

特定のトピックに関する通知の受信を許可する柔軟なルールの例:

!tag("Блокирование рекламы") && !contains(t,"реклам") && contains(t,"блокиров") && !tag("HTACCESS") || containsWord(t,"ркн") || contains(t,"роскомнадзор") || contains(t,"роскомпозор") || contains(t,"государств") || contains(t,"запрещен") || contains(t,"запрещён") || contains(t,"пиратск") || containsWord(t,"обход") || containsWord(t,"ростелеком") || containsWord(t,"яровой") || containsWord(t,"рф") && tag("Компьютерные сети") = notify

eval() 関数が使用できなかったことがすぐにわかります。 それではあまり楽しめなくなります。 したがって、次を使用して 5 KB のコードで独自の松葉杖を作成する必要がありました。 逆ポーランド記法。 これは、関数と構文の両方の点で、高度に中性化された JS であると言えるかもしれません。

最近こんな投稿がありました トスターエクステンション。 比較すると、TE はインターフェイスが優れており、Toster Comfort にはない機能がいくつかあります。 ただし、私の拡張機能ではリソースの消費が強調されています。 ただし、両方の拡張機能を使用することを気にする人はいないため、競合するべきではありません。

良い意味で、TC は最初から書き直す必要があります。これは、localStorage と JSON.stringify() を放棄し、いくつかのアーキテクチャ ソリューションを変更することで、作業を少なくとも 10 倍、キャッシュでの作業を XNUMX 倍高速化できるためです。 しかし、この偉業をやらなければならないのは私ではありません。 そして、私は「うまくいくなら触らない」という原則のファンです。 休暇中は、ミニマリズムを犠牲にすることなく、問題や PR に積極的に取り組んでいます。 ご清聴ありがとうございました!

出典: www.habr.com

コメントを追加します