「autopagerize」を含む日記 RSS

はてなキーワード: autopagerizeとは

2025-12-09

はてなブックマーク増田一覧向けNGフィルタ

はてなブックマーク増田一覧の、さらに「すべて」(1 user)をチェックしている希有な人向けのユーザースクリプトを公開します。

https://b.hatena.ne.jp/site/anond.hatelabo.jp/?sort=eid

// ==UserScript==
// @name        Hatena Bookmark Anond Filter
// @namespace   https://b.hatena.ne.jp/site/anond.hatelabo.jp/
// @description はてなブックマークの『はてな匿名ダイアリー』の記事のうち、指定したNGワードが含まれ投稿非表示します。
// @match       https://b.hatena.ne.jp/site/anond.hatelabo.jp/*
// @grant       none
// @version     2.0.2026.01.21.0011
// ==/UserScript==

(function(){
  const SCRIPTID = 'HatenaBookmarkAnondFilter';
  console.time(SCRIPTID);
  const CLASSNAME = 'filtered';/*フィルタ該当要素*/
  const CHECKED = 'checked';/*二重チェック回避フラグ*/
  const ONCE = 1, AP = 2, INTERVAL = 3;/*適用タイミング*/
  const NGWORDS = {/* 合計100ポイント非表示判定(ただし1つの記事内で同じワード複数使われても1度しか加算しない) */
    '100': [/*即NG確定ワード*/
      'dorawii',
      'あおやまちゃん', 'ボスマン', 'MNK',
      '電気通信大学たいてい', 'なんぴょん', 'れめくん', 'リュックサック野郎', 'boushi_inst', 'hakaikami', 'Rekyu', 'iloveootaku_2',/*電気通信大学たいてい鉄道研究会れめくん(頻出)*/
      /*A-G*/'a9w8ru6fqyxqfv9', 'admirail_togo', 'akibakko6348', 'alf1974al', 'amatukiseiru', 'anapgoeson', 'aoi_mizuho', 'asapgoeson', 'asupgoeson', 'b6jbpsji91ieigt', 'bmi22yo', 'boushi_ob', 'buscholarx', 'bw0531', 'circlecavok', 'disney1007cla', 'dora22sibuya', 'donkotrain', 'ecotosk', 'electlone', 'factomodachi', 'fft_dareka', 'gmhtcyznf_abc', 'goesonanap', 'gyudon_honmono',
      /*H-N*/'h13_yokohama', 'h2twi', 'H2TWR', 'hamaishogo1111', 'haru_mofumoffu', 'hermitv8', 'hirabiscus', 'hinolovelove', 'hnmk0127_03', 'inaken17_', 'inte235dy', 'ixtabes', 'jamcombatge', 'kawachiasukanew', 'kaoru_ai1991', 'keio9730F', 'kiha2228', 'koreanlabsfc', 'koyounoyooko', 'kqlex1500', 'kurakamasan', 'kurotamaxxx', 'kt_ruma_1372', 'lightningreen77', 'mamadoll_kun', 'matya_uec', 'minamihinawot', 'minori0151', 'monkichi_22', 'mugen_08i', 'mukoroku651', 'nakano6409', 'nanpyong', 'new_oer', 'nimouec', 'NoName_thUFO', 'norannnde',
      /*O-U*/'oreizmmiporin', 'orenotanoshimi', 'osaka_sirokichi', 'papepoco', 'pasotokon', 'pm95uq', 'reme_kun', 'ruin_2002', 's03_amurtk2731', 'sacchan03110319', 'seisu_bot', 'senanana_cos', 'shinano_115', 'shineleaf1372', 'shop_bullet', 'shurimpy', 'soroisoroi', 'sui_pm95uq', 'sweidan821858', 'taiyaki_level2', 'takao_straight5', 'taking0000', 'tarotaromusic1', 'tc201_501', 'tocarbarn', 'toshikimiyazaki', 'train_magician', 'tx9y2cpwdz27255', 'u2fap5u4zw57811', 'uec15take', 'uecrail',
      /*V-Z_0-9*/'vampire_mio', 'vbdmnwefknmxsdm', 'vp20th', 'wafue', 'wakasato_', 'walkingniwatori', 'wataameexpress', 'ya4975349616894', 'ymbk_arisa', 'yms_uec16', 'yuuya_1104_uec', '__________ob', '_chocorail_', '_doitforthewin_', '_toeshin', '_unigmo', '100mph_no_yuuki', '169_D51_protect', '2969364x', '2rtkvn34il2783', '36kyo', '86lilxw1',
      /*tadaup.jp*/'1dOaKWk3.jpeg', '1sL2VBZ5.jpeg', '1uNK2iEP.jpeg', 'CBUHadpD.jpeg', 'CgJlF4Wr.jpeg', 'CGTtm0Ev.jpeg', 'CIxj8clS.jpeg', 'CqbERPdQ.jpeg', 'CTZsA2wM.jpeg', 'CWY2m7rS.jpeg', 'CZVCEgd1.jpeg',
      'テクウヨ', '自己放尿',
      ' ーーーーーーーー', 'https://anond.hatelabo.jp/20260107144223',/*AI問答貼り付け増田*/
      '†噛み締めて行こうな†',
      '困難女性(コンジョ)', '困難女性(コンジョ)',
    ],
    '90': [/*ほぼNGだが確定ワード必要*/
      'https://megalodon.jp/',
    ],
    '10': [/*ほぼNGの確定ワード*/
      '電気通信大学',
      '電通大',
      '駿河台大学',
      '学生課',
      '教務課',
      '鉄道研究会',
      '鉄研',
      '通勤特快',
      '不正乗車',
      '性慾',
      '穢い',
      'エッタ',
      'キセル',
      'uec',
    ],
  };
  const sites = {
    'prefix': [
      ['selector', '(modifier)', '(css)', '(REPEAT)'],
    ],
    'https://b.hatena.ne.jp/site/anond.hatelabo.jp/': [
      ['section.entrylist-unit li.js-keyboard-selectable-item', li => {li.querySelector('li.entrylist-contents-category > a').textContent = li.dataset.matches}, `.${CLASSNAME}{display: none;}`, AP],
    ],
  };
  const rules = sites[Object.keys(sites).find(prefix => location.href.startsWith(prefix))];
  if(rules === undefined) return console.log(SCRIPTID, 'Not found any sites.');
  const scores = Object.keys(NGWORDS).map(Number).reverse();/*数値インデックス順に取り出されたkeysを逆順にして100から並べ直す*/
  const filter = function(selector, modifier){/*各要素に対してNGワード判定して、該当したら追加でmodifierも適用する*/
    document.querySelectorAll(selector).forEach(e => {
      if(e.dataset[CHECKED]) return;
      e.dataset[CHECKED] = 'true';
      const text = e.textContent.toLowerCase();
      let total = 0, matches = [];
      for(const score of scores){
        for(const word of NGWORDS[String(score)]){
          if(text.includes(word.toLowerCase())){
            total += score;
            matches.push(word);
            if(total >= 100){
              e.classList.add(CLASSNAME);
              e.dataset.matches = matches.join(', ');
              if(modifier) modifier(e);
              return;
            }
          }
        }
      }
    });
  };
  /* ONCE(一括適用) */
  rules.forEach(rule => {
    const [selector, modifier, css] = rule;
    console.log(SCRIPTID, 'ONCE:', selector);
    filter(selector, modifier);
    if(css){
      const style = document.createElement('style');
      style.dataset.script = SCRIPTID;
      style.type = 'text/css';
      style.textContent = css;
      document.head.appendChild(style);
    }
  });
  /* AP(AutoPagerize) */
  rules.filter(rule => rule[3] === AP).forEach(rule => {
    const [selector, modifier] = rule;
    document.addEventListener('GM_AutoPagerizeNextPageLoaded', e => {
      console.log(SCRIPTID, 'AP:', selector);
      filter(selector, modifier);
    });
  });
  /* INTERVAL */
  rules.filter(rule => rule[3] === INTERVAL).forEach(rule => {
    const [selector, modifier] = rule;
    setInterval(function(){
      console.log(SCRIPTID, 'INTERVAL:', selector);
      filter(selector, modifier);
    }, 1000);
  });
  console.timeEnd(SCRIPTID);
})();
/* Hatena Bookmark Anond Filter */
.filtered{
  display: block !important;/*上書き*/
  opacity: .25 !important;
}
.filtered:hover{
  opacity: .75 !important;
}
.filtered li.entrylist-contents-category{
  background: red !important;
  font-weight: bold;
}

検索用: はてなブックマーク はてブ はてな匿名ダイアリー 増田 スパム キーワード NGワード フィルタミュー非表示 削除 隠す ブロック ユーザースクリプト ユーザースタイル hatena bookmark anond spam keywords ngwords filter mute hide hidden display none block userscript JavaScript js css style

2025-08-24

anond:20250824213138

下記のような増田新着を訪れるたびに発動するぐりもん
https://b.hatena.ne.jp/site/anond.hatelabo.jp/?sort=eid

発動のたびに下記(必要ならpage=2以降も)にGM_xmlhttpRequestして「dorawiiのブクマ」を全件把握する
https://b.hatena.ne.jp/api/users/dorawii_bukuma/bookmarks?page=1
把握したブクマURLはlocalStorageなどに7日間分くらい保存しておく

増田新着一覧のうち「dorawiiのブクマ」に該当するものにhiddenクラスなどを割り当てる
(AutoPagerize_DOMNodeInserted イベントタイミングでも同様に判定する)

自分が思ってた「もしもユーザー側で対処するとしたら…」という内容はこんな感じかな?

増田新着の一覧ページを、いくらAutoPagerizeを使ったとしても、何日分もさかのぼることはないだろうから、「万超えるURL更新」の必要はなくて、7日間分くらい保持しておけばいいかなと思う。

dorawii@執筆依頼募集中

AutoPagerize〜っていうのはスマホで見た時の話だな。確かにそれはこっち側盲点だった。

apiからurlリストとのフィルタとの連携リスト側の更新はページ送りするたびにするっていう挙動イメージでしてるのかね。

そうするとその度に万超えるURL更新っていうのは読み込み速度について明らかに人間体感できるレベルで影響出そうだけどまあそれしかないよね?

気が向いたらまたCHATgptと格闘して作ってみようかな?(ApiURL丸投げして要件提示しただけでも割と少ない修正で済むものができそうにも思える)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

https://anond.hatelabo.jp/20250824213138# 
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaKwbkgAKCRBwMdsubs4+
SPLRAP9Z4HYuDIupzZe1s2wFDTFDDwIQGOmieHcVtrXP6Mh0CAEAnsJVwCuBQifr
DjbcK55gVnwB4OCLysEqPdO/kBgw/AE=
=NPi/
-----END PGP SIGNATURE-----

anond:20250824151727

alt属性の値がdorawii_bukumaであるimageタグを子孫要素に持つ」

これは

という条件でしか出現しないので。でもお気に入りにさえ入れれば実現できるということでもあるね。盲点だったわ。

しか

という問題はあるし、どちらもそこそこ致命的かもしれない。

2025-07-01

[] 増田CSSを紹介する記事(英文スパム対策付き)

Chromeブラウザには増田を快適に閲覧するための コンパクトな増田 という古い拡張機能があったが、Chrome更新対応し切れておらず、既にChromeには新規インストールできなくなってしまっている。Edgeにはまだインストール可能だが、いずれ対応しなくなる可能性が高い。

そこで、「増田トップページで、言及エントリ(返信・トラバ)を一覧から除外することで、新規エントリだけを一覧できる」という機能に絞ってコンパクト増田再現、ついでにいくつかのおまけ機能付与したスタイルシート(CSS)を今年の4月に公開していたのだが、今回改めて英文スパム対策を追加したので公開する。

これを導入するには Stylus という拡張必要で、少し気軽さには欠けるが、増田以外にも活用できるので、この機会にぜひ導入してみてほしい。拡張インストールしたあとは、下記のコードコピペして新規スタイルとして導入する方法もあるが、スタイルシートを公開できる userstyles.world の増田CSSページ(※毎朝9:00直後はアクセスできない) から [Install] ボタンインストールするほうが、自動更新にも対応するので便利かもしれない。

増田CSS (7/20: 増田文字数制限のため、スパム対策部分は省略しました)

/* トップページ言及エントリを除外 */
/* via: 最近ファーストブクマカが静か https://anond.hatelabo.jp/20250326171302 */
h1/*はてな匿名ダイアリー*/ + #intro/*名前を隠して楽しく日記。*/ + #body div.section:has(h3 > a/*■*/ + a:not(.keyword, .edit)/*anond:YYYYMMDDhhmmss*/){
  display: none;
}

/* うっかりクリックしがちなキーワードリンク無効に */
a.keyword{
  pointer-events: none;
}

/* 執筆時のテキストエリアを広く */
textarea#text-body{
  min-height: 50vh !important;
}

/* 執筆時に特殊記号のヒント(疑似要素なので選択してコピペできないのがもどかしいけど) */
p.post-submit > span.explain::after{
  margin-left: 1em;
  padding-left: 1em;
  content: "特殊記号: &[&#38;] <[&#60;] >[&#62;]";
  background: url(/images/common/outsite-wh.gif) 0 3px no-repeat;
}

/* スパム対策部分は下記URLの [Install] ボタンで事前確認できます(随時更新中) */
/* https://userstyles.world/style/23028/ */

なお、このCSS適用すると、NGワードを含むこの増田自体も、増田トップページからは消えてしまう(この増田単体の個別ページなら閲覧できる)。

PCスマホ向けの導入方法

念のため、PCスマホCSS適用する方法解説にもリンクしておく。

PC: 【StylusウェブサイトCSS適用できる拡張機能自由カスタマイズ! | ナポリタン寿司PC日記

https://www.naporitansushi.com/stylus/

StylusFirefox版もある https://addons.mozilla.org/ja/firefox/addon/styl-us/

iPhone: MaKeoverアプリiPhone SafariCSSカスタマイズ万博パビリオン予約結果一覧を見やすくする使い方

https://gintachan.com/makeover-app-css-change-safari-how-to/

Android: スマートフォン AndroidFirefoxCSSカスタマイズ Stylus の使い方・初期設定方法

https://skypenguin.net/2025/06/21/post-109209/

(7/21追記) また、スパム特に多い時は、1ページまるごとスパムということもあるので、PCなら uAutoPagerize (Chrome)weAutoPagerize (Firefox) などの拡張を使うと、自動でページが継ぎ足されて快適に読み進められる。ただし、継ぎ足ししまくるとメモリ不足などでブラウザが重くなることがあるので、そうなったら page: 20 などのページ番号をクリックしてから続きを読もう。

(参考) 増田の頻出キーワードリンク上位20抽出JavaScript

また、スパム対策の簡易NGワードは、下記のスクリプトを使って抽出した「直近の増田の頻出キーワードリンク上位20件」から誤判定しそうな lineuser を除いた18件を用いた。10件だと生き残る英文スパムがあったので20件にしたが、それでもわずかに洩れはある。しか日本語による真っ当な(?)増田の直近の誤判定はなかった。はてなキーワードリンクだけを対象にしているので、URLにはこれらのキーワードが入っていても大丈夫だ。ただし、スパムトレンドが変われば話は変わってくるかもしれないし、過去未来増田誤判定は当然あるだろう。気になる人は前掲のCSSを行単位編集してほしい。

// AutoPagerizeでまとまった数のページを読み込ませた後に実行するとよい。
(function(){
  const keywords = [];
  // はてなキーワードの集計
  document.querySelectorAll('a.keyword').forEach(a => {
    // 4文字未満は誤検出の可能性が高まるので除外
    if(a.textContent.length < 4) return;
    let index = keywords.findIndex(k => k.keyword === a.textContent);
    if(index >= 0) keywords[index].count += 1;
    else keywords.push({keyword: a.textContent, count: 1});
  });
  keywords.sort((a, b) => a.count < b.count);
  // ランキング配列の出力
  console.log(keywords);
  // CSS埋め込み用に上位キーワードのみをURIエンコードして出力
  console.log(keywords.slice(0, 20).map(k => encodeURIComponent(k.keyword)).join('\n'));
})();

謝辞

anond:20250326171302 ←元はこの増田きっかけでした。

anond:20250701194328キーワード判定に踏み切る後押しとなりました。

2025-03-27

anond:20250326171302

コンパクト増田」がどんなものググる程度の非ファーストブクマカだけど、ファーストブクマカには大変お世話になっています。ひとまずこんなユーザースタイルを当てれば、トラバは除外できます

/* トップページ言及エントリを除外 */
h1/*はてな匿名ダイアリー*/ + #intro/*名前を隠して楽しく日記。*/ + #body div.section:has(h3 > a/*■*/ + a/*anond:YYYYMMDDhhmmss*/){
  display: none;
}

ユーザースタイルAutoPagerizeを使ったことない場合は下記を参考にググるなりしてみてほしい。

Stylus - Chrome ウェブストア

https://chromewebstore.google.com/detail/stylus/clngdbkpkpeebahjckkjfobafhncgmne?hl=ja

uAutoPagerize - Chrome ウェブストア

https://chromewebstore.google.com/detail/uautopagerize/kdplapeciagkkjoignnkfpbfkebcfbpb?hl=ja

改変や質問要望など、もしあれば歓迎します。

もっと個々の増田を1行にまとめたりすべき?

--

(元増田追記を受けて追記)

マルウェア問題が起きたのはStylishで、そのユーザー層を引き継いだのがStylus

紹介したuAutoPagerize拡張更新日付もレビューの日付も新しいし、私自身はFirefoxのweAutoPagerizeを使ってるけどデータベース更新日付は本日付なので、たぶん大丈夫。実際増田トップページで快適動作してます

2025-03-26

(追記) 最近ファーストブクマカが静か

コンパクト増田が動かなくなったことと関係しているのだろうか。最近見ていなかったか放置しているけれど、あれ使う人は自分パッケージ作り直すくらいはできそうな気もする。どちらにせよあれ無しで閲覧するのは不可能そうだ。

特定ワードで追っている人もいるが、 RSS ってまだあったっけ。

新着が完全に機能していないので、趣味の一部が欠落してしまった。非公開ブクマを新着に載せる理由が無い(スパムが湧いて不便以前に、秘匿性が高い情報だし組み合わせれば誰がブクマしているか特定できる)けれど、そんなに難しいことなのだろうか。難しいなら公開のみのカウントカラムを持つとか、いっそのこと users にカウントしないようにするとかさ。カウントされなくても別に誰も困らないよね。

大して伸びない単なる日記が読みたい。

追記

あざます。素でも見れるならファーストさんに頼らず探そうかなと思ったけれど、頼っているのは「望むものが見られる」ことよりも「望まないものを見ないで済む」からなのだなと思いました。いつもありがとう。素、つらい。

「新着」は完全に用語を間違えていて、スマホからだと「検索」で anond.hatelabo.jp検索した時の結果が非公開ブクマのものばかりで見ることができない、機能していないという意味でした。

はてブ機能としての「新着」は 3 users 以上の新着タブに出るやつですな。それはもう見なくなって長いので意識から外れていた。

非公開しかないブクマ検索結果に出さないで欲しい。セルクマスパムじゃなくても、非公開の元々の意味からしたら出て欲しくないだろうに。

スマホしか見なくなるとやりようがなくなって頼り切りだったけれど、休日くらいは PCカスタム CSSAutoPagerize でがんばろうかな。 AutoPagerize って共同 DB がうまく機能しなくて死んでなかったっけ。 Stylus ってサプライチェーンマルウェアになってなかったっけ。その辺りも調べてみるね。

個人的には PC で閲覧している時はスルー力が強く働くが、スマホだとそれが弱まる、見るものは見たいものであって欲しいという気持ちが強まる気がする。

まあ色々工夫の仕方はありそうだけれど、それはそれとしてはてブ検索は非公開のみを対象から外して欲しいな、という気持ちは変わらず。頼む

2024-08-15

これらの拡張機能はまもなくサポートされなくなる可能性があります

削除するか、Chrome ウェブストアにある同様の拡張機能に置き換えてください。

さてどうするか。今更変わりを探すのめんどい

Auto Copy 反転しただけでコピーしてくれる。引用に便利だけど単純機能ほど代わりに何を選べばいいのか選びにくい

AutoPagerize オートページ。これは代わりのオススメ拡張機能で出てきたパワーアップ版で解決

Clearly 記事文章だけ読みやすく抜き出して整えてくれる。Evernote亡き今、代わりは全く見つからいから終わりまで使い倒す

Easy Window Resize 最近入れたばかりなのにもう代わりを探さないといけないとは

Feedly Notifier 今は使ってないので削除

Kimetrak ネット記事読んで入れたけどとっくの昔に使えなくなったみたい

minerBlock ネット記事読んで入れたけどブラウザ採掘してるサイトもうないから消していいよね

No Coin - Block miners on the web! ネット記事読んで入れたけどこんなことしてるサイトもうないよね

Papago Translate 韓国語に強い自動翻訳として入れたけどもう使ってない

Reading List 全く使ってなかった。なんで入れたのかも覚えてない

RevEye Reverse Image Search デマ検証ツールとして入れた画像検索機能だけど、オススメに出てくる代わりの機能を入れとけば何とかなりそう

Tampermonkey これ消えたら「増田のトラバツリーを開閉するTamperMonkeyスクリプト」が使えなくなってしまうので困るけど代わりを知らない

uBlock Origin 一応代わりはあるみたいだから安心

Vandal 記事読んで入れてみたけどWayback Machineがある限り必要性はあまりなかった

VPN Free - Betternet Unlimited VPN Proxy あまり使わないけどVPN拡張機能は代わりが色々ありすぎてウィルスが怖い

Wayback Machine これ消えたらWebArchive利用が面倒くさいので更新してほしい

はてなブックマーク 旧バージョンから変えたくない。新バージョンは嫌だ

ウェブページ全体をスクリーンショット - FireShot 普段awesome使ってるから必要なかった

2023-08-24

はてなブックマーク内でAutoPagerize使ってるやついる?

ユーザー単位ブックマーク履歴ページ(例: https://b.hatena.ne.jp/hatenabookmark/)でAutoPagerize有効になってると、はてなブックマークにもともと備わってるページン機能と、ブラウザAutoPagerize拡張実施する機能が重複しちゃって、ページングがおかしなことにならない?

実はすごい前々から気になってて、必要があれば一時的AutoPagerize無効化したりして凌いでいたんだけど、ついに意を決して、解決に取り組んでみたよ。

というわけで、いちおう手元でもテストした上で、ブラウザAutoPagerize拡張が参照しているデータベースアイテム編集して実質無効化しておいた。拡張のSITEINFOを更新してみてね。

http://wedata.net/items/82182

ユーザー単位ブックマーク履歴ページ」だけにしか影響はないと思うんだけど、問題があったら教えてほしい。

テスト

https://b.hatena.ne.jp/hatenabookmark/

2022-07-19

AutoPagerizeおぬぬめ

ヤフー記事とか、ここの匿名ダイアリーでも使える。

ページが分かれてるサイト記事を、そのまま続けて読むことができる。

慣れるまで違和感があるが、わりとおぬぬめ。

https://youtu.be/w9Ljx4WFxcg

https://chrome.google.com/webstore/detail/autopagerize/igiofjhpmpihnifddepnpngfjhkfenbp?hl=ja

2021-07-25

amazonAutoPagerizeが効かなくなった

百数件ぐらいの時に横断的に見たりする時とかに便利だったのに、残念。

2018-03-26

anond:20180325082847

PCブラウザなら一続きになるよう改ざんするブラウザ拡張いろいろあるよね?

AutoPagerとかAutoPagerizeとかそんな名前

2016-01-31

RedditなどのURL連続投稿スパムあぼーんする方法

Masuda A boneを利用します。

http://d.hatena.ne.jp/ku__ra__ge/20080311/p5

下記の設定済みスクリプトコピペして使えば、Masuda A boneをインストールする必要はありません。

ChromeならTampermonkey、FirefoxならGreasemonkeyインストールします。

Chrome

https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo?hl=ja

Firefox

https://addons.mozilla.org/ja/firefox/addon/greasemonkey/

Chrome場合

拡張機能-Temperamonkey-オプションクリック

プラスアイコン新規スクリプト)をクリック

最初に表示されているメタデータブロックは削除

下記スクリプトコピペして保存アイコンクリック

Firefox場合

メニューからツール-Greasemonkey-ユーザスクリプト管理

(もしくはアドオンマネージャユーザースクリプトクリック

以下のスクリプトを先にコピーしておく

ユーザスクリプト新規作成クリック

クリップボードスクリプト使用する」ボタンクリック

注意点

スマホで使えるかは確認していません。

var ignore行を編集すれば、好きな言葉を追加できます

お願い

AutoPagerize対応していません。

URLが2行連続するとあぼーん対象になってしまうので、本文があればあぼーん対象から除外したい。

あとURL1行のみの投稿あぼーんしたい。

どなたかエロい人お願いします。

// ==UserScript==

// @name Masuda A bone

// @namespace http://www.petitnoir.net/

// @description

// @include http://anond.hatelabo.jp/

// @include http://anond.hatelabo.jp/?page=*

// ==/UserScript==

///////////////////////////////////////////////////////

//あぼーんしたい言葉

//あぼーんしたい言葉を「""」でくくって入力します。複数個追加したい場合は「,」でくぎります

//入力

// igonore =["あぼーんしたい言葉1","あぼーんしたい言葉2","あぼーんしたい言葉3"]

// var ignore = ["死ね","糞","クソ","くそ","<●>","ばーか","スイーツ(笑)"];

var ignore = ["[0-9a-zA-Z/\-]https?://"];

///////////////////////////////////////////////////////

///////////////////////////////////////////////////////

//あぼーんした時タイトルに表示する言葉

//

var abonemessage = "__";

///////////////////////////////////////////////////////

(function abone(){

//本文

var section = document.evaluate('//div[@class="section"]',document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);

for (i=0; i < section.snapshotLength; i++) {

var sec = section.snapshotItem(i);

var p = sec.textContent;

for (t=0; t < ignore.length; t++){

var reg = p.match(ignore[t]);

if(reg){break;}

}

if(reg){

while(sec.firstChild){

sec.removeChild(sec.firstChild);

}

var message = document.createElement('h3');

message.textContent = abonemessage;

sec.appendChild(message);

}

}

//言及

var refererlist = document.evaluate('//ul/li',document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);

for (i=0; i < refererlist.snapshotLength; i++) {

var list = refererlist.snapshotItem(i);

var p = list.textContent;

for (t=0; t < ignore.length; t++){

var reg = p.match(ignore[t]);

if(reg){break;}

}

if(reg){

for(y=0;y < 8 ; y++){

list.removeChild(list.firstChild);

}

var message =document.createElement('span');

message.textContent = abonemessage;

list.insertBefore(message, list.firstChild);

}

}

})();

2015-02-21

anond:20150217184623

開発者です。ver 1.7 で AutoPagerize 対応しておきました。

ついさっき登録してきたので、おそらく数十分後には利用可能になるかと思います

フィードバックありがとうございました。

2015-02-17

masudalertとAutoPagerizeバッティングする件

AutoPagerize有効にしていると、1ページ目のブコメユーザー数がちゃんと表示されないのと、自動読み込みされた2ページ目以降はmasudalertが有効にならない。

知らずにmasdalertが機能してないって人がいるかもしれないので、そういう人はAutoPagerize側で除外パターンに”http://anond.hatelabo.jp/*”とかを指定しておいてね。

技術的な話はよくわからないので、両立させて下さいってのはあんまり望みません。

ってかもう誰も見てない?

http://anond.hatelabo.jp/20150203042628

2013-06-30

AutoPagerizeを連番URLでも使えるようにする

page-1 page-2 page-3みたいなやつ

autopagerize incrementalでググるとそれっぽいのが出てくる

こんなかんじの記述Autopagerize適当場所に追加したら連番URLでも使えるようになるはず

var pages = getElementsByXPath(this.info.pageElement, htmlDoc);

var url = this.getNextURL(this.info.nextLink, htmlDoc);

if (this.info.incremental) {

var exp = new RegExp(this.info.incremental.nextMatch,'i');

var _m = this.info.incremental.nextLink;

var step = this.info.incremental.step || 1;

url = this.requestURL.replace(exp,function(m0,m1){

var n = parseInt(m1,10) + step;

return _m.split('#').join(n);

});

}

var next = getFirstElementByXPath(xpath, doc);

if (next) {

if (this.info.incremental) {

var loc = this.requestURL || location.href;

var exp = new RegExp(this.info.incremental.nextMatch,'i');

var nextLink = this.info.incremental.nextLink;

var step = this.info.incremental.step || 1;

if (loc.match(exp)) {

return loc.replace(exp,nextLink.replace("#",parseInt(RegExp.$1)+step));

} else if (!loc.match(exp)) {

return loc + nextLink.replace("#",step);

}

} else {

return next.getAttribute('href') || next.getAttribute('action') || next.getAttribute('value');

}

}

連番に適応するSITEINFOはこんなかんじになる

pageelementは普通のsiteinfoと同じ

nextlinkはリンクをたどるわけじゃないので意味ないのだが一応書いておく必要があるので'//a'とでも書いておけばいい

url: '^http://matome\.naver\.jp/odai/'

,incremental: {

nextMatch: 'page=(\\d+)'

,nextLink: 'page=#'

}

,pageElement: '//div[@role="main"]'

,nextLink: '//a'

サンプル

http://matome.naver.jp/odai/2135645268395674701

2011-06-20

http://anond.hatelabo.jp/20110620131809

広告って言ってるしAutoPagerizeの類ではないんじゃないのかなぁ、と思ったけど、真意は知らない。

2011-06-05

y_arimは↓この記事読むなよ!危ないぞ!

http://d.hatena.ne.jp/GiGir/20110604/1307155344

萌え豚起源の分析を興味深く読んでいたy_arimだったが、

AutoPagerizeによって追加された次の記事のタイトル漫画版まおゆう」堂々の完結」を見てしま

全身の毛穴から血を吹き出して病院送りになる。

2011-02-17

http://anond.hatelabo.jp/20110217154136

Webboyというのがどんなもんか使ったことないからわからないけども、設定いじったのがまずかったかねえ。

下じゃAutopagerizeクラッシュしたかのような増田もあったしなあ。

http://anond.hatelabo.jp/20110217154516

プニルだと…!

http://anond.hatelabo.jp/20110217150737

うん。

ここのページアクセスしただけでアホかというほど重くなったからな。

AutoPagerizeのおかげでいったん強制終了するはめになったぜ。

2011-01-28

Greasemonkeyが0.9になってLDRizeAutoPagerizeが動かなくなった

Greasemonkeyが0.9にアップデートされてから?かどうかは分からないけどAutoPagerizeLDRizeが動かなくて困った。

エラーコンソールを見たらVimperatorプラグインldrize_cooperation.js

                GreasemonkeyService = Cc["@greasemonkey.mozdev.org/greasemonkey-service;1"].getService().wrappedJSObject;
                this.addAfter(GreasemonkeyService,"evalInSandbox",function(code,codebase,sandbox){
                    if(sandbox.window.LDRize != undefined &amp;amp;&amp;amp; sandbox.window.Minibuffer != undefined){

エラーになっていた。

greasemonkey.jsをみてみたら

  evalInSandbox: function(code, sandbox, script) {

で0.8のgreasemonkey.js

  evalInSandbox: function(code, codebase, sandbox, script) {

だった。

ldrize_cooperation.js

-                this.addAfter(GreasemonkeyService,"evalInSandbox",function(code,codebase,sandbox){
+                this.addAfter(GreasemonkeyService,"evalInSandbox",function(code,sandbox,script){

したAutoPagerizeは動くようになった

LDRizeはこれでもまだ動かない。Vimperatorを無効にしても同じ。

どうやらGreasemonkey 0.8ではMinibufferでのwindowとLDRizeでのwindowが同一のXPCNativeWrapperオブジェクトだったけど0.9では別のオブジェクトになったようだ。だからLDRizeでのwindow.MinibufferもundefinedになるしGM_MinibufferLoadedのイベントリスナーを設定してもwindowが違うから発行されないということみたい

ううむ

追記

0.9.0から0.9.1の間のこの変更が原因ぽい…

https://github.com/greasemonkey/greasemonkey/commit/6a4ffd52c90091714e6f49376ef07e2ce5009f79

2011-01-08

greasemonkeyスクリプトが2回ずつ実行されてしまう症状

例えば、autopagerizeでpage1, page2, page3とページングされるべきところなのに、

page1, page2, page2などと実行される人や、

niconicofavlistでニコ動お気に入りマイリストコンテナが二個も表示される人へ。

どうも、AVG Safe Searchが最新Firefoxと相性が悪い模様。

FirefoxインストールされているGreasemonkeyスクリプ - ブラウザ - 教えて!goo

http://oshiete.goo.ne.jp/qa/6283865.html

の回答5にもあるが、AVG Safe Searchを無効にしたら治った。

動作から推測するに、AVG Safe Searchは一定時間ごとに何らかのチェック動作を行うらしい

これがGreasemonkeyの動作と相性が悪いらしい

前々からこのアドオンFirefoxと相性が悪いとは言われていたようだ。

ログイン ユーザー登録
ようこそ ゲスト さん