Git Product home page Git Product logo

gossip-site-blocker's People

Contributors

dependabot[bot] avatar ikemo3 avatar renovate[bot] avatar vibh1103 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

gossip-site-blocker's Issues

Block images. / 画像をブロックする

レビューコメントより。

画像のブロックは当初から考えてはいたが、需要があるか不明なので保留していた。
オプションでブロックするかどうかを入れるかどうかはちょっと考えます

結構自分でもムカつく例が増えてきたのでちと本気入れて考えます。
現状と仕様が変わるのでオプションは入れる予定(デフォルトはオンでもいいかも)。

Block articles in the News tab of search results individually / 検索結果の「ニュース」タブの記事を個別にブロックする

現在Google検索の「ニュース」タブをクリックしたときに同じ内容に対して複数の記事がある場合、以下の問題がある。

  • 先頭の記事がブロック対象になっているため、他の記事は開かないと読めない
  • 他の記事はブロック対象になっていない

特に後者が致命的なので修正する必要がある。

調査結果

  • 先頭の記事がブロック対象になっているのは class="g" のため
    • class="top" で画像、それ以外は class="gG0TJc" で取れるようだ。
    • 画像をブロックするかどうかの考慮が必要
    • 個別に表示を制御するか、2つを <div> で囲むかのどちらか。後者でも崩れは発生しなさそう。
  • それ以外は class="card-section" で区別するので良さそう。
    • こちらの方だけ優先するのもアリか。
  • レイアウト調整
    • 画像には3つのclassがついている。
      • class="dfhHve" に画像のサイズ width: 100px
      • class="NQHJEb"margin-right: 8px

ToDo

  • 既存のコードの整理
    • ブロックのパターン間で重複しているコードを何とかしたい
  • パターン対応
    • card-section
    • top
  • レイアウト調整
    • 一番最後の記事のブロックリンクの位置がずれている
    • コンパクトモード時のメニューの位置の調整
      • class="top": 下に移動
      • class="card-section": 3px右にずらす
    • 「すべて表示」がブロックされないようにする
    • ハードブロックの場合、画像からリンクを外す
  • オプション機能の追加
  • その他
    • GoogleTopNewsとGoogleNewsTopという似た名前のクラスがあるので整理する。
      • 前者が検索結果の「トップニュース」、後者がGoogleニュースでグループ化された場合の最初の記事

テスト

  • ブロックのテスト(デフォルト)
    • Google Newsで画像があるもの(class="top"がある)
    • Google Newsでグループ化されているもの(class="card-section"がある)
    • 「すべて表示」が出る場合
  • ブロックのテスト(コンパクト)
    • Google Newsで画像があるもの(class="top"がある)
    • Google Newsでグループ化されているもの(class="card-section"がある)
    • 「すべて表示」が出る場合
  • メニューの位置のテスト
    • デフォルト
    • コンパクトモード

Synchronize settings / 設定を同期する

現在は設定が同期されていない。

理由は、chrome.storage.syncが最大100KBのため、ブロックするサイトが増えると使えなくなる可能性があるため。

ちなみに自分は今800件、40KBほどデータがある。

要件

  • データサイズに制限がないこと
  • 同期が容易で、データが壊れないこと
  • 有料サービスでもいいが、十分安いこと。

なお、この機能については有料となる可能性があります

使えそうなサービス

Firebaseか、AWS Lambda + DynamoDBでAPIを作るあたりかなと・・・

Google Driveでバックアップもアリかもしれない。

v1.8.4.1(Firefox only)

ToDo

  • 開発完了
  • CHANGELOG.mdの更新
  • Firefoxで確認
    • 基本のブロック機能
    • トップニュース(カード型)のブロック機能
    • 動画のブロック機能・・・修正済み(#88)
    • Tweet(カード型)のブロック機能
    • コンパクトモード時のアイコンの位置
      • 基本
      • トップニュース・・・クリックできないが今回はリリース優先(#41)
      • 動画
      • Tweet(カード型)
  • スクリーンショットがおかしくないことの確認
  • リリース準備
    • manifest.jsonのバージョンを変更
    • package.jsonのバージョンを変更
    • manifest.jsonから version_name を削除
    • タグの作成
  • Firefox Add-onsにリリース
  • ブログを更新
    • 記事を追加
    • 更新履歴を追加(英語)
    • 更新履歴を追加(日本語)
  • リリーステンプレートに反映させる
  • バージョンを変更
    • apps/manifest.json: version, version_nameを更新
    • package.json: versionを更新

v1.8.3

ToDo

  • 開発完了
  • CHANGELOG.mdの更新
  • Chromeで確認
    • 基本のブロック機能
    • トップニュース(カード型)のブロック機能(キーワード: 「野球」)
    • 動画のブロック機能
    • Tweet(カード型)のブロック機能
    • コンパクトモード時のアイコンの位置
      • 基本
      • トップニュース
      • 動画
      • Tweet(カード型)・・・崩れるが今回は修正見送り(#40)
  • Firefoxで確認
    • 基本のブロック機能
    • トップニュース(カード型)のブロック機能(キーワード: 「野球」)
    • 動画のブロック機能
    • Tweet(カード型)のブロック機能
    • コンパクトモード時のアイコンの位置
      • 基本
      • トップニュース・・・クリックできないが今回はリリース優先(#41)
      • 動画
      • Tweet(カード型)
  • リリース準備
    • manifest.jsonのバージョンを変更
    • manifest.jsonからversion_nameを削除
    • タグの作成
    • 署名付きアーカイブ(.crx)の作成
  • Chrome Web Storeにリリース
  • Firefox Add-onsにリリース
  • ブログを更新
    • 記事を追加
    • 更新履歴を追加(英語)
    • 更新履歴を追加(日本語)

v1.8.5

ToDo

  • 開発完了
  • CHANGELOG.mdの更新
  • Chromeで確認
    • 基本のブロック機能
    • トップニュース(カード型)のブロック機能
    • 動画のブロック機能
    • Tweet(カード型)のブロック機能
    • コンパクトモード時のアイコンの位置
      • 基本
      • トップニュース
      • 動画
      • Tweet(カード型)・・・崩れるが今回は修正見送り(#40)
  • Firefoxで確認
    • 基本のブロック機能
    • トップニュース(カード型)のブロック機能
    • 動画のブロック機能
    • Tweet(カード型)のブロック機能
    • コンパクトモード時のアイコンの位置
      • 基本
      • トップニュース
      • 動画
      • Tweet(カード型)
  • スクリーンショットがおかしくないことの確認
  • リリース準備
    • manifest.jsonのバージョンを変更
    • package.jsonのバージョンを変更
    • manifest.jsonから version_name を削除
    • タグの作成
  • リリースバージョンをダウンロード
  • Chrome Web Storeにリリース
  • Firefox Add-onsにリリース
  • ブログを更新
    • 記事を追加
    • 更新履歴を追加(英語)
    • 更新履歴を追加(日本語)
  • 次のバージョンのマイルストーンを作成
  • バージョンを変更
    • apps/manifest.json: version, version_nameを更新
    • package.json: versionを更新
  • リリーステンプレートに反映させる

Uncaught (in promise) ReferenceError: OptionRepository is not defined

オプション画面を開くと、以下のエラーが出る。
開発中以外では出たことがない。

Uncaught (in promise) ReferenceError: OptionRepository is not defined

コンソールは以下のように出る。読み込まれる順番の問題の模様。

Uncaught (in promise) ReferenceError: OptionRepository is not defined
    at Object.debug (common.js:27)
    at Object.load (banned_word_repository.js:13)
    at async BannedWords.load (banned_word.js:23)
    at async chrome-extension:/.../option/banned_word.js:93

v1.8.2

ToDo

  • 開発完了
  • CHANGELOG.mdの更新
  • Chromeで確認
    • 「禁止用語でブロックされたサイトの情報を表示(β)」がonのときの動作
    • 「禁止用語でブロックされたサイトの情報を表示(β)」がoffのときの動作
    • 基本のブロック機能
    • トップニュース(カード型)のブロック機能(キーワード: 「野球」)
    • 動画のブロック機能
    • Tweet(カード型)のブロック機能
  • Firefoxで確認
    • 「禁止用語でブロックされたサイトの情報を表示(β)」がonのときの動作
    • 「禁止用語でブロックされたサイトの情報を表示(β)」がoffのときの動作
    • 基本のブロック機能
    • トップニュース(カード型)のブロック機能(キーワード: 「野球」)
    • 動画のブロック機能
    • Tweet(カード型)のブロック機能
  • リリース準備
    • manifest.jsonのバージョンを変更
    • タグの作成
    • 署名付きアーカイブ(.crx)の作成
  • Chrome Web Storeにリリース
  • Firefox Add-onsにリリース
  • ブログを更新
    • 記事を追加
    • 更新履歴を追加(英語)
    • 更新履歴を追加(日本語)

Using webpack

確認機能

  • Chromeで確認
    • 基本のブロック機能
    • トップニュース(カード型)のブロック機能
    • 動画のブロック機能
    • Tweet(カード型)のブロック機能
    • コンパクトモード時のアイコンの位置
      • 基本
      • トップニュース
      • 動画
      • Tweet(カード型)・・・崩れるが今回は修正見送り(#40)
  • Firefoxで確認
    • 基本のブロック機能
    • トップニュース(カード型)のブロック機能
    • 動画のブロック機能
    • Tweet(カード型)のブロック機能
    • コンパクトモード時のアイコンの位置
      • 基本
      • トップニュース
      • 動画
      • Tweet(カード型)
  • オプション画面
    • ブロックしたURL
    • まとめてブロック
    • 禁止用語
      • 禁止用語
      • 禁止用語でブロックされたサイトの情報を表示
    • エクスポート
    • インポート
    • 危険地帯
  • ポップアップ
    • このページをブロック
    • 「いかがでしたか」を除隊
    • 英語で検索

Is there a way to donate?

Thank you very very much for awesome extension.
I really appreciate your extension. Is there a way to donate?

Lists URLs that are excluded by banned word. / 禁止語句で除外されているURLを一覧表示

ユーザからの機能リクエストより。

検索した後に、禁止用語で除外した分のURLのみをリストアップするような仕組みって出来るでしょうか。 それらの中から選別した後に、インポートを通してURLブロックへ入れるようにしたいのですが。 禁止用語を使うようなサイトは、どのような検索でも結果に出てほしくないので、もし可能でしたらよろしくおねがいします。

仕様

  • 「オプション → 禁止用語」にチェックボックスを追加(デフォルト: オフ
  • チェックボックスがオンのときに、「全てのブロックを一時解除」の右側にリンクを追加
  • リンクをクリックすると、キーワードでブロックしたURLをテキストエリア内に表示

広く使われる機能ではなさそうなので、UIはあまり考えていません。

v1.8.4

ToDo

  • 開発完了
  • CHANGELOG.mdの更新
  • Chromeで確認
    • 基本のブロック機能
    • トップニュース(カード型)のブロック機能(キーワード: 「野球」)
    • 動画のブロック機能
    • Tweet(カード型)のブロック機能
    • コンパクトモード時のアイコンの位置
      • 基本
      • トップニュース
      • 動画
      • Tweet(カード型)
  • Firefoxで確認
    • 基本のブロック機能
    • トップニュース(カード型)のブロック機能(キーワード: 「野球」)
    • 動画のブロック機能
    • Tweet(カード型)のブロック機能
    • コンパクトモード時のアイコンの位置
      • 基本
      • トップニュース
      • 動画
      • Tweet(カード型)
  • リリース準備
    • manifest.jsonのバージョンを変更
    • タグの作成
    • 署名付きアーカイブ(.crx)の作成
  • Chrome Web Storeにリリース
  • Firefox Add-onsにリリース
  • ブログを更新
    • 記事を追加
    • 更新履歴を追加(英語)
    • 更新履歴を追加(日本語)

v1.8.5.1

軽微な修正のため確認事項は簡略化

ToDo

  • 開発完了
  • CHANGELOG.mdの更新
  • Chromeで確認
    • 基本のブロック機能
    • トップニュース(カード型)のブロック機能
    • 動画のブロック機能
    • Tweet(カード型)のブロック機能
  • Firefoxで確認
    • 基本のブロック機能
    • トップニュース(カード型)のブロック機能
    • 動画のブロック機能
    • Tweet(カード型)のブロック機能
  • スクリーンショットがおかしくないことの確認
  • リリース準備
    • manifest.jsonのバージョンを変更
    • package.jsonのバージョンを変更
    • manifest.jsonから version_name を削除
    • タグの作成
  • リリースバージョンをダウンロード
  • Chrome Web Storeにリリース
  • Firefox Add-onsにリリース
  • ブログを更新
    • 記事を追加
    • 更新履歴を追加(英語)
    • 更新履歴を追加(日本語)
  • 次のバージョンのマイルストーンを作成
  • バージョンを変更
    • apps/manifest.json: version, version_nameを更新
    • package.json: versionを更新
  • リリーステンプレートに反映させる

Highlight the official site / 公式サイトをハイライト

自分が考えているアイデア。

ブロックしたサイトの推奨は難しいが(ブロック情報は個人的なものというスタンス)、
逆に公式サイトや広く使われているサイトは推奨してもいいと思う。
(例: 「rails」を含むワードで検索 → https://rubyonrails.org/ 内のサイト)

なので、公式サイトをハイライトする機能を追加する。
(ブロッカーじゃねーとは言われそうだけど)

概要

  • オプションとして「公式サイトのハイライト」を追加
  • キーワードとサイトの一覧を内部で持つ(カスタマイズ不可)
  • 検索したキーワードが一致したとき、対応するサイトを強調表示する。

iOS version / iOS版

iOS版も作りたい(もちろん自分も使いたい)。
ただし今は技術的に難しい(自前でブラウザを作るレベル)ので見送り。

:has 疑似クラスがCSSで対応できるようになれば何とかなりそうだが、
このセレクタは今のところquerySelector()でしか利用できない。

https://developer.mozilla.org/ja/docs/Web/CSS/:has

技術的に可能であれば対応したい。

urls by banned words does not show hard blocked / ハードブロック禁止用語が出てこない

フィードバックより。

それとひとつ恐縮なんですが、ソフトブロック禁止用語はURLに出てくるのですけど、ハードブロック禁止用語がリストに出てこないのですが・・・ ソフトもハードも一緒にまとめてリストアップしてもらっても用途としては問題ないので、対応は可能でしょうか。 お時間がある時で構いませんので。

Uncaught TypeError: Cannot read property 'bannedWordOption' of null

以下の if (gsbOptions.bannedWordOption.showInfo) { でエラーが出る。

function create_appbar_links() {
    const resultStats = document.getElementById("resultStats");
    if (resultStats !== null) {
        const resultStatsIsHidden = getComputedStyle(resultStats).opacity === "0";
        if (!resultStatsIsHidden) {
            const anchor = $.anchor($.message("temporarilyUnblockAll"));
            $.onclick(anchor, temporarily_unblock_all);
            resultStats.appendChild(anchor);
            if (gsbOptions.bannedWordOption.showInfo) {
                const showInfo = $.anchor($.message("showBlockedByWordInfo"));
                showInfo.style.marginLeft = "1rem";
                $.onclick(showInfo, show_blocked_by_banned_words);
                resultStats.appendChild(showInfo);
            }
            return;
        }
    }

    ...

v1.8.4

ToDo

  • 開発完了
  • CHANGELOG.mdの更新
  • Chromeで確認
    • 基本のブロック機能
    • トップニュース(カード型)のブロック機能(キーワード: 「野球」)
    • 動画のブロック機能
    • Tweet(カード型)のブロック機能
    • コンパクトモード時のアイコンの位置
      • 基本
      • トップニュース
      • 動画
      • Tweet(カード型)・・・崩れるが今回は修正見送り(#40)
  • Firefoxで確認
    • 基本のブロック機能
    • トップニュース(カード型)のブロック機能(キーワード: 「野球」)
    • 動画のブロック機能・・・URLの折り返しが崩れるが軽微なので見送り(#88)
    • Tweet(カード型)のブロック機能
    • コンパクトモード時のアイコンの位置
      • 基本
      • トップニュース・・・クリックできないが今回はリリース優先(#41)
      • 動画
      • Tweet(カード型)
  • リリース準備
    • manifest.jsonのバージョンを変更
    • package.jsonのバージョンを変更
    • manifest.jsonからversion_nameを削除
    • タグの作成
  • Chrome Web Storeにリリース
  • Firefox Add-onsにリリース
  • ブログを更新
    • 記事を追加
    • 更新履歴を追加(英語)
    • 更新履歴を追加(日本語)
  • リリーステンプレートに反映させる

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.