ac-favorite-manager

AtCoderのお気に入りの管理を行います。

当前为 2019-11-28 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

作者
keymoon
评分
0 0 0
版本
1.1.2
创建于
2019-07-22
更新于
2019-11-28
大小
22.3 KB
许可证
MIT
适用于

概要

AtCoderのお気に入りをより管理しやすくします。 もともと入れていたお気に入りは削除されず、インストール時に"default"セットに自動的に入ります。

機能

  • お気に入りをグループ管理でき、グループ単位一括でのオン/オフができます。
  • それぞれのお気に入りセットをエクスポートすることができます。(バックアップとして全てをエクスポートすることも可能)
  • 書き出したセットや、外部で作成されたセットをインポートすることができます。

セット作成に対応しているサービス

インポート機能でインポートできるファイルを作成可能なサービスの一覧です。

  • AtCoderCircles(サークルメンバーの全エクスポートに対応しています)
  • TwitCoder Friends(Twitterのフォロー/フォロワー/リストメンバーのエクスポートに対応しています)
  • スクリプトがパースできる形でJSONファイルを書き出す他のサービス

読み込める形式の仕様は、インポートできるリストの形式についての項を参照してください。

細かい仕様

どれかのsetに入っている場合、お気に入りとして表示されます。(後述のblacklistを除く)

セットの無効化

一時的に、セットを無効化することができます。(blacklistの無効化は行えません。)

インポート/エクスポート

単体、または全てのセットをまとめてエクスポートすることができます。まとめてエクスポートした場合は、セットの無効化状態も保持されます。 インポートの際はエクスポートされたセットのファイルをインポートしてください。同名のセットはマージされます。(無効化されたものと有効化されたものがマージされた場合、有効化された状態になります。)

blacklistについて

お気に入りボタンのクリックでの追加は、defaultセットに追加されます。しかし、お気に入りボタンを押してのお気に入り取り消しはdefaultからの削除では公式と同じ挙動にすることができません(他のセットに入っている可能性があるため)。そのため、blacklistという方法を以て解決しています。 その名の通り、このセットに入っているユーザーはお気に入りに表示されなくなります。 具体的な挙動は以下の通りです。

  • もしお気に入りになっていないユーザーの☆をクリックした場合、defaultセットに追加される
  • もしどれかの有効なセットに含まれているユーザーの☆をクリックした場合、defaultセットに存在する場合は削除し、それ以外のセットの内容を変更せずにblacklistに追加される。(ユーザーはお気に入りに表示されなくなる)
  • blacklistに含まれた状態で☆を押した場合、blacklistからは削除され、defaultセットに追加される。

インポートできるリストの形式について

JavaScriptがパース可能なJSONであって、配列(最も外側が[])である必要があります。 配列の各要素はセットを表していて、以下のフィールドを持つオブジェクトにしてください:

  • name(セットの名前を表す文字列必須。)
  • users(セットに入っているユーザーの一覧を示す文字列の配列必須。)
  • isActive(インポートした際に最初から有効にしておくかどうかを決めるbool値又は0/1任意(デフォルト値は1)。)

具体的には、以下のようなJSONを読み込み可能です。

[
    {
        "name":"AtCoder",
        "users":["chokudai","snuke"],
        "isActive":0
    },
    {
        "name":"金冠",
        "users":["tourist","Petr","Um_nik","apiad","w4yneb0t","LHiC","ksun48","yutaka1999","cospleermusora"]
    }
]

これは、「AtCoderという名前の二人のリスト(無効状態)、金冠という名前の九人のリスト(デフォルト(有効状態))」というセットのペアを表しています。