Skip to content

Add tags to pixiv bookmark automatically / pixivでのブックマーク時にタグを自動で設定します

License

Notifications You must be signed in to change notification settings

syusui-s/PixivAutoTag.user.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 

Repository files navigation

PixivAutoTag.user.js : Add tags to pixiv bookmark automatically

ブックマークした時に自動でpixivのタグを設定します。

かなり細かくタグ付けルールを設定できるのでブックマークが捗ります。

なにができるの?

  • ブックマークタグ一覧(タグクラウド)に、作品タグが含まれていれば自動でそのブックマークタグを付与
  • ルール文に基づいて、細かくブックマークタグを付与
    • (例) 短縮や別名のエイリアス 「CCさくら」->「カードキャプターさくら」、「アンチョビ」->「安斎千代美」
    • (例) 部分除去 「響(艦隊これくしょん)」->「響」
    • (例) 作品に基づくキャラの特定 「アリス」+「東方」->「アリス・マーガトロイド」、「アリス」+「ARIA」->「アリス・キャロル」
    • この他にも、たくさんの使い方ができます!

インストール方法

Chrome、ChromiumでTampermonkeyを使って導入する

  1. UserScriptを利用できるようにするため、Tampermonkeyを導入する
  2. https://raw.githubusercontent.com/syusui-s/PixivAutoTag.user.js/master/pixiv_auto_tag.user.jsを開く
  3. 「インストール」を押下する

Chrome、Chromiumで拡張機能として導入する(Windows非対応)

  1. pixiv_auto_tag.user.jsをダウンロードしておく
  2. Chromeの設定→設定(S)→拡張機能の一覧を開く
  3. 拡張機能の画面にファイラからpixiv_auto_tag.user.jsをドラッグ・アンド・ドロップする
  4. 確認画面でOKを押す

Firefoxに導入する

  1. pixiv_auto_tag.user.jsをダウンロードしておく
  2. UserScriptを利用できるようにするため、GreaseMonkeyを導入する
  3. about:addonsをアドレスバーに入力して開き、ユーザスクリプトの項目を開いておく
  4. ユーザスクリプトの画面にファイラからpixiv_auto_tag.user.jsをドラッグ・アンド・ドロップする
  5. 確認画面でインストールを押す

使い方

  • Pixivの「ブックマークに追加/ブックマークの編集」のページや画面(※)を開いたら、自動的にタグ付けと公開/非公開の設定がされます。
    • 自動的にタグ付けがなされると、タグの入力欄の枠が水色に変化します(自動タグ付けの可視化)。
    • 下記の"タグ付けルール"でタグの追加や削除、正規表現による検出と一致部分の抽出ができます。
    • デフォルトで、R-18を非公開に設定するようにしています。下記の"タグ付けルール"でこの動作を変更できます。
    • すでにブックマークタグが入力されていた場合は、何もしません。
  • この作品のタグの横にある「タグ自動化設定」ボタンを押すと、設定画面が出てきます。
    • 設定の内容や設定方法については、下記の"設定画面の項目"をご覧ください。

※ Pixivのショートカットキー機能により、イラストページ上でBキーを押下すると、 ブックマーク画面がモーダルウィンドウとして出現します。 キーボードで楽にブックマークをしたい場合はおすすめです(が、まだ不安定です)。

用語集

pixiv及び本ソフトウェアに登場する用語について説明します。

作品
pixivに投稿されたイラストや漫画、小説などの作品を指す。
ブックマーク
pixivの機能の一つ。後から参照できるように作品を記録できる。ブックマークの際にコメントとブックマークタグを記録できる。
作品タグ
作品に付けられた、作品を検索および分類するための語句または語句群。作品タグを用いてpixiv全体から作品を検索できる。
ブックマークタグ
作品のブックマークに付けられた、作品をブックマーク内で分類するための語句または語句群。ブックマークで特定のタグを持つイラストを抽出できる。
タグクラウド
ブックマーク追加、編集、一覧画面などで表示される、自分が過去に付けたことのあるブックマークタグの一覧。
タグ付けルール、ルール
本ソフトウェアの用語。作品タグリストの内容に基づいてブックマークタグを付与する規則または規則群。
共通タグ
本ソフトウェアの用語。作品タグリストとタグクラウドで共通する語句群。
付与タグ
本ソフトウェアの用語。ルールに基づいて付与されるブックマークタグ。
作品タグリスト
本ソフトウェアの用語。作品タグの個々の語句から成る集合。特定のルールで作品タグリストに対して、タグの追加が行える。
付与タグリスト
本ソフトウェアの用語。ルールに基づいて付与された付与タグから成る集合。

仕組みと処理内容

  1. 作品タグリストに非公開指定されたタグが含まれていたら非公開に設定する。
  2. 作品タグリストに対して、作品タグリスト操作系のルールが一致するかどうかを確認し、一致したら付与タグを作品タグリストに追加する。
  3. 共通タグを抽出する。
  4. 作品タグリストに対して、match系とpattern系のルールが一致するかどうかを確認し、一致したら付与タグを付与タグリストに追加する。
  5. 共通タグと付与タグリストの和集合を作成する。
  6. 和集合から削除指定されたタグを除去する。

設定画面の項目

設定画面で利用できる項目の説明です。

タグ付けルール

タグ付けのルールを簡単な記法の文を使って記述することができる。 非公開タグを設定するprivate、タグを付与するmatch、patternが利用できる。

ルールの記法

  • private - 引数のタグが作品タグに含まれていたら非公開に設定する(記法:private タグ1 タグ2 ...
  • match - 第二引数以降のいずれかのタグが作品タグに含まれていれば、付与タグを付与タグリストに追加する(記法:match 付与タグ タグ1 ...
  • match_all - 第二引数以降のすべてのタグが作品タグに含まれていれば、付与タグを付与タグリストに追加する(記法:match_all 付与タグ タグ1 ...
  • pattern - 第二引数以降のいずれかの正規表現がいずれかの作品タグに一致すれば、付与タグを付与タグリストに追加する(記法:pattern 付与タグ 正規表現1 ...
  • pattern_all - 第二引数以降のすべての正規表現がいずれかの作品タグに一致すれば、付与タグを付与タグリストに追加する(記法:pattern_all 付与タグ 正規表現1 ...
  • addition_pattern - 第二引数以降のいずれかの正規表現がいずれかの作品タグに一致すれば、付与タグを作品タグリストに追加する(記法:addition_pattern 付与タグ 正規表現1 ...
  • addition_pattern_all - 第二引数以降のすべての正規表現がいずれかの作品タグに一致すれば、付与タグを作品タグリストに追加する(記法:addition_pattern_all 付与タグ 正規表現1 ...

ルールの記法詳細

  • コメント行の規則
    • 空行は無視される。
    • で始まる行はコメント行とみなされ、無視される。

    • 整形のために # の前に空白文字を入れてもよい。前に来るのが空白文字でなければエラーとなる。
    • ルール行で # を用いることはできない。
  • ルール文の規則
    • ルール文の区切りは空白文字である。
    • 整形のために区切り文字として空白文字を連続して使用してもよい。
    • 各ルール文ごとにルールの配列が作られ、ルールは先頭に近いものから順になっている。
    • ルール文の実行は、addition_patternaddition_pattern_allpattern+matchpattern_all+match_allの順に上から実行される。
  • privateとmatchの規則
    • 作品タグに完全一致するものを書かなければならない。
  • matchとpatternの規則
    • 一致すると、付与タグで指定したタグが、付与タグのリストに追加される。
    • 「-削除タグ」でタグを削除できる。タグクラウドに入っていようが消される。元からない場合は特に何もしない。
    • 付与したタグはタグクラウドに含まれていなくても反映される。
  • patternの規則
    • 正規表現は、JavaScriptのRegExpの引数を指定する。
    • ~番号を使って、付与タグで正規表現で一致した部分文字列を使用できる。正規表現中でキャプチャリングの括弧を使用して部分一致を指定する。番号には1から9までが指定できる。10以降は指定できない。
    • 正規表現にキャプチャリングを使わない場合でも、~数字が付与タグに含まれていた場合は空白文字に置換される。
    • 1つの文で複数の正規表現を指定している場合、部分文字列として参照されるデータには、初めて一致に成功したときのものが使われる。
  • allの規則と通常のものとの違い
    • allは、第二引数以降の全ての正規表現やタグが、いずれかの作品タグに一致した場合にタグを付与する。
    • 通常のものは、作品タグ一覧に対してルールに一致するかを確かめるが、allはルール文の集合に対してタグがルールに一致するかを確かめる。
    • pattern_allで正規表現を複数指定している場合、部分文字列として参照されるデータには、最後に一致に成功したときのものが使われる。
  • addition_patternの規則
    • 一致した場合は、付与タグが作品タグとして扱われるようになる。
    • これにより追加された付与タグは、patternmatch、all系のタグ付け対象となる。
    • その他は、patternの規則やallの規則を参照のこと。

ルールのサンプル

各パターンの利用例として、作者が使ってるルールの一部を抜粋してみました。 参考にしていただければ幸いです。

# 非公開設定
private R-18 R-18G R-17.9 R-15

# 一般
pattern オリジナル   オリジナル

# 艦これ系
pattern     艦隊これくしょん 艦これ
pattern     ~1               ^(.+)(\(艦隊これくしょん\)|\(艦これ\))$
pattern_all ~1               ^艦これ$|^艦隊これくしょん$ ^(.+)(改|改二)$
match       響               ヴェールヌイ

# 東方系
match     魂魄妖夢                   妖夢
match     多々良小傘                 小傘
match     綿月依姫                   依姫
match     四季映姫・ヤマザナドゥ     四季映姫
match     西行寺幽々子               幽々子
match     古明地こいし               こいし
match     古明地さとり               さとり
match     博麗霊夢                   霊夢
match     霧雨魔理沙                 魔理沙
match     十六夜咲夜                 咲夜
match     洩矢諏訪子                 諏訪子
match     火焔猫燐                   お燐
match     霊烏路空                   お空
match     蓬莱山輝夜                 輝夜 ぐーや
match     レミリア・スカーレット     レミリア
match     フランドール・スカーレット フラン フランドール
match     ミスティア・ローレライ     みすちー ミスティア
match     パチュリー・ノーレッジ     パチュリー リュネット・パッチェ ぱちゅりー
match     眼鏡                       リュネット・パッチェ
match     鈴仙・優曇華院・イナバ     うどんげ 鈴仙 優曇華院
match_all アリス・マーガトロイド     アリス 東方

# アイドルマスター
match -アイドルマスター アイドルマスターシンデレラガールズ

# ご注文はうさぎですか?
match_all  保登心愛                   ご注文はうさぎですか? ココア
match_all  香風智乃                   ご注文はうさぎですか? チノ
match_all  桐間紗路                   ご注文はうさぎですか? シャロ
match_all  天々座理世                 ご注文はうさぎですか? リゼ
match_all  宇治松千夜                 ご注文はうさぎですか? 千夜

# けものフレンズ
addition_pattern けものフレンズ けもフレ|けものフレンズ

## 主人公 (本編組)
pattern_all かばん(けものフレンズ)                     けものフレンズ かばん(ちゃん)?
pattern_all サーバル(けものフレンズ)                   けものフレンズ サーバル(ちゃん|キャット)?
pattern_all ラッキービースト(けものフレンズ)           けものフレンズ ラッキービースト

## 主人公 (Cパート組)
pattern_all アライグマ(けものフレンズ)                 けものフレンズ アライグマ
pattern_all フェネック(けものフレンズ)                 けものフレンズ フェネック

## PPP
pattern_all PPP(けものフレンズ)                        けものフレンズ ペパプ|PPP
pattern_all コウテイペンギン(けものフレンズ)           けものフレンズ コウテイペンギン
pattern_all ジェンツーペンギン(けものフレンズ)         けものフレンズ ジェンツーペンギン
pattern_all イワトビペンギン(けものフレンズ)           けものフレンズ イワトビペンギン
pattern_all フンボルトペンギン(けものフレンズ)         けものフレンズ フンボルトペンギン
pattern_all ロイヤルペンギン(けものフレンズ)           けものフレンズ ロイヤルペンギン

## 01話
pattern_all カバ(けものフレンズ)                       けものフレンズ カバ
pattern_all トムソンガゼル(けものフレンズ)             けものフレンズ トムソンガゼル
pattern_all サバンナシマウマ(けものフレンズ)           けものフレンズ サバンナシマウマ

## 02話
pattern_all コツメカワウソ(けものフレンズ)             けものフレンズ コツメカワウソ
pattern_all ジャガー(けものフレンズ)                   けものフレンズ ジャガー
pattern_all フォッサ(けものフレンズ)                   けものフレンズ フォッサ
pattern_all インドゾウ(けものフレンズ)                 けものフレンズ インドゾウ
pattern_all アクシスジカ(けものフレンズ)               けものフレンズ アクシスジカ
pattern_all オセロット(けものフレンズ)                 けものフレンズ オセロット
pattern_all マレーバク(けものフレンズ)                 けものフレンズ マレーバク
pattern_all キングコブラ(けものフレンズ)               けものフレンズ キングコブラ
pattern_all ミナミコアリクイ(けものフレンズ)           けものフレンズ ミナミコアリクイ
pattern_all クジャク(けものフレンズ)                   けものフレンズ クジャク
pattern_all タスマニアデビル(けものフレンズ)           けものフレンズ タスマニアデビル
pattern_all エリマキトカゲ(けものフレンズ)             けものフレンズ エリマキトカゲ
pattern_all オカピ(けものフレンズ)                     けものフレンズ オカピ

## 03話
pattern_all トキ(けものフレンズ)                       けものフレンズ トキ
pattern_all アルパカ・スリ(けものフレンズ)             けものフレンズ アルパカ・スリ
pattern_all ショウジョウトキ(けものフレンズ)           けものフレンズ ショウジョウトキ

## 04話
pattern_all スナネコ(けものフレンズ)                   けものフレンズ スナネコ
pattern_all ツチノコ(けものフレンズ)                   けものフレンズ ツチノコ

## 05話
pattern_all アメリカビーバー(けものフレンズ)           けものフレンズ アメリカビーバー
pattern_all オグロプレーリードッグ(けものフレンズ)     けものフレンズ オグロプレーリードッグ

## 06話
pattern_all ライオン(けものフレンズ)                   けものフレンズ ライオン
pattern_all オーロックス(けものフレンズ)               けものフレンズ オーロックス
pattern_all アラビアオリックス(けものフレンズ)         けものフレンズ アラビアオリックス
pattern_all ヘラジカ(けものフレンズ)                   けものフレンズ ヘラジカ
pattern_all オオアルマジロ(けものフレンズ)             けものフレンズ オオアルマジロ
pattern_all シロサイ(けものフレンズ)                   けものフレンズ シロサイ
pattern_all アフリカタテガミヤマアラシ(けものフレンズ) けものフレンズ アフリカタテガミヤマアラシ
pattern_all パンサーカメレオン(けものフレンズ)         けものフレンズ パンサーカメレオン
pattern_all ハシビロコウ(けものフレンズ)               けものフレンズ ハシビロコウ

## 07話
pattern_all アフリカオオコノハズク(けものフレンズ)     けものフレンズ アフリカオオコノハズク|コノハ博士
pattern_all ワシミミズク(けものフレンズ)               けものフレンズ ワシミミズク|ミミちゃん助手

## 08話
pattern_all マーゲイ(けものフレンズ)                   けものフレンズ マーゲイ
pattern_all エゾヒグマ(けものフレンズ)                 けものフレンズ エゾヒグマ
pattern_all コディアックヒグマ(けものフレンズ)         けものフレンズ コディアックヒグマ
pattern_all カムチャッカオオヒグマ(けものフレンズ)     けものフレンズ カムチャッカオオヒグマ
pattern_all クロヒョウ(けものフレンズ)                 けものフレンズ クロヒョウ
pattern_all ブラックジャガー(けものフレンズ)           けものフレンズ ブラックジャガー
pattern_all オーストラリアデビル(けものフレンズ)       けものフレンズ オーストラリアデビル
pattern_all ニホンジカ(けものフレンズ)                 けものフレンズ ニホンジカ
pattern_all ピューマ(けものフレンズ)                   けものフレンズ ピューマ
pattern_all ジャイアントパンダ(けものフレンズ)         けものフレンズ ジャイアントパンダ
pattern_all アゴヒゲアザラシ(けものフレンズ)           けものフレンズ アゴヒゲアザラシ
pattern_all イワハイラックス(けものフレンズ)           けものフレンズ イワハイラックス
pattern_all アカカンガルー(けものフレンズ)             けものフレンズ アカカンガルー
pattern_all マルタタイガー(けものフレンズ)             けものフレンズ マルタタイガー
pattern_all レッサーパンダ(けものフレンズ)             けものフレンズ レッサーパンダ
pattern_all ホッキョクグマ(けものフレンズ)             けものフレンズ ホッキョクグマ
pattern_all ニシツノメドリ(けものフレンズ)             けものフレンズ ニシツノメドリ

## 09話
pattern_all キタキツネ(けものフレンズ)                 けものフレンズ キタキツネ
pattern_all ギンギツネ(けものフレンズ)                 けものフレンズ ギンギツネ
pattern_all カピバラ(けものフレンズ)                   けものフレンズ カピバラ

## 10話
pattern_all タイリクオオカミ(けものフレンズ)           けものフレンズ タイリクオオカミ
pattern_all アミメキリン(けものフレンズ)               けものフレンズ アミメキリン
pattern_all アリツカゲラ(けものフレンズ)               けものフレンズ アリツカゲラ
pattern_all ミライ(けものフレンズ)                     けものフレンズ ミライ

## 11話
pattern_all セルリアンハンター(けものフレンズ)         けものフレンズ セルリアンハンター
pattern_all キンシコウ(けものフレンズ)                 けものフレンズ キンシコウ
pattern_all ヒグマ(けものフレンズ)                     けものフレンズ ヒグマ
pattern_all リカオン(けものフレンズ)                   けものフレンズ リカオン

## 12話
pattern_all アードウルフ(けものフレンズ)               けものフレンズ アードウルフ
pattern_all オオセンザンコウ(けものフレンズ)           けものフレンズ オオセンザンコウ
pattern_all マイルカ(けものフレンズ)                   けものフレンズ マイルカ

## コンビ名
match       フェネック(けものフレンズ)                 フェネアラ ばすてきコンビ
match       アライグマ(けものフレンズ)                 フェネアラ ばすてきコンビ
match       かばん(けものフレンズ)                     かばサー サーかば さばんなコンビ
match       サーバル(けものフレンズ)                   かばサー サーかば さばんなコンビ
match       ワシミミズク(けものフレンズ)               としょかんコンビ
match       アフリカオオコノハズク(けものフレンズ)     としょかんコンビ

# アズールレーン
## `^${Array.from(document.querySelectorAll("#sortabletable1 > tbody > tr")).map(row => { const nameElem = row.querySelector("td:nth-child(2)"); return nameElem ? nameElem.textContent : null; } ).join("|").replace(/\(/g, "(").replace(/\)/g, ")")}$`
pattern               -~1                 ^(.+)(\(アズールレーン\)|\(アズレン\)|\(碧蓝航线\))$
addition_pattern_all  ~1(アズールレーン)  ^アズールレーン|アズレン|碧蓝航线$ ^(汎用型ブリ|試作型ブリMKII|カッシン|ダウンズ|グリッドレイ|クレイヴン|マッコール|モーリー|フレッチャー|チャールズ・オースバーン|サッチャー|オーリック|フート|スペンス|ベンソン|ラフィー|シムス|ハムマン|エルドリッジ|オマハ|ローリー|ブルックリン|フェニックス|ヘレナ|アトランタ|ジュノー(軽巡)|サンディエゴ|クリーブランド|ペンサコーラ|ノーザンプトン|シカゴ|ヒューストン|ポートランド|インディアナポリス|ウィチタ|ネバダ|オクラホマ|ペンシルベニア|アリゾナ|テネシー|カリフォルニア|サウスダコタ|ロング・アイランド|ボーグ|ラングレー|レキシントン|サラトガ|レンジャー|ヨークタウン|エンタープライズ|ホーネット|ヴェスタル|アマゾン|ビーグル|ブルドッグ|コメット|クレセント|シグニット|フォックスハウンド|フォーチュン|グローウォーム|ジャベリン|ジュノー|ヴァンパイア|リアンダー|アキリーズ|エイジャックス|エディンバラ|ベルファスト|アリシューザ|ガラティア|ロンドン|シュロップシャー|ケント|サフォーク|ノーフォーク|ドーセットシャー|ヨーク|エクセター|レナウン|レパルス|フッド|クイーン・エリザベス|ウォースパイト|ネルソン|ロドニー|プリンス・オブ・ウェールズ|ハーミーズ|ユニコーン|アーク・ロイヤル|イラストリアス|エレバス|テラー|綾波|白露|夕立|時雨|陽炎|不知火|夕張|長良|古鷹|加古|青葉|衣笠|妙高|高雄|愛宕|扶桑|山城|祥鳳|赤城|加賀|蒼龍|飛龍|Z1|Z23|ケーニヒスベルク|カールスルーエ|ケルン|ライプツィヒ|プリンツ・オイゲン|寧海|平海|アヴローラ|ベイリー|神風|睦月|如月)$

## 百合かどうか
match 百合 ここにジャパリタワーを建てよう

注意事項

ローカルストレージにタグ付けルールを保存しているため、閲覧履歴の削除機能等を使用するとルールが消失してしまいます。 閲覧履歴を消したい場合は、事前に「設定のダウンロード」を使ってバックアップを取ると良いでしょう。 データの紛失には対応しかねますので、ご注意ください。

要望・バグ報告・お問い合わせ

要望やバグ報告は、GitHubのIssueページまでよろしくお願いします。

お問い合わせは、Twitter @syusui_sか、mailto:syusui.s[a]gmail.comまで。

ライセンス

MIT LICENSEで公開します。LICENSEファイルをご覧ください。

About

Add tags to pixiv bookmark automatically / pixivでのブックマーク時にタグを自動で設定します

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published