Skip to content

Instantly share code, notes, and snippets.

@kurumigi
Created November 2, 2009 15:27
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kurumigi/224219 to your computer and use it in GitHub Desktop.
Save kurumigi/224219 to your computer and use it in GitHub Desktop.
[GM script]AutoPagerize Filter for Danbooru
// ==UserScript==
// @name AutoPagerize Filter for Danbooru
// @namespace http://d.hatena.ne.jp/kurumigi/
// @description Apply "AutoPagerize" to Danbooru.
// @include http://danbooru.donmai.us/post*
// @include http://safebooru.donmai.us/post*
// @include http://danbooru.donmai.us/note*
// @include http://safebooru.donmai.us/note*
// @include http://danbooru.donmai.us/pool*
// @include http://safebooru.donmai.us/pool*
// @version 0.4
// ==/UserScript==
(function() {
// strip "blacklisted" class.
function stripClass(doc) {
var items = document.evaluate('.//span[contains(concat(" ", @class, " "), " blacklisted ")]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = 0;i < items.snapshotLength; i++) {
items.snapshotItem(i).className = items.snapshotItem(i).className.replace("blacklisted","");
}
}
// push filters.
function addFilterHandler() {
if (window.AutoPagerize.launchAutoPager) {
var siteinfo = [{
url: '^http://(?:dan|safe)booru\.donmai\.us/(?:post|note)',
nextLink: 'id("paginator")/div[@class="pagination"]/a[text()=">>"]',
pageElement: 'id("paginator")/preceding-sibling::div[1]',
exampleUrl: 'http://danbooru.donmai.us/post',
},{
url: '^http://(?:dan|safe)booru\.donmai\.us/pool/show/',
nextLink: 'id("paginator")/div[@class="pagination"]/a[text()=">>"]',
pageElement: 'id("paginator")/preceding-sibling::div[1]/div[last()]',
exampleUrl: 'http://danbooru.donmai.us/post',
}]
window.AutoPagerize.launchAutoPager(siteinfo);
}
}
// for AutoPagerize.
if (window.AutoPagerize) {
addFilterHandler();
} else {
window.addEventListener('GM_AutoPagerizeLoaded', addFilterHandler, false);
}
document.body.addEventListener('AutoPagerize_DOMNodeInserted', function(evt) {
stripClass(evt.target);
}, false);
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment