Release 4chan X v1.11.7.0.
This commit is contained in:
parent
8f45172cae
commit
8a030b78e5
@ -2,6 +2,13 @@
|
|||||||
|
|
||||||
Sometimes the changelog has notes (not comprehensive) acknowledging people's work. This does not mean the changes are their fault, only that their code was used. All changes to the script are chosen by and the fault of the maintainer (ccd0).
|
Sometimes the changelog has notes (not comprehensive) acknowledging people's work. This does not mean the changes are their fault, only that their code was used. All changes to the script are chosen by and the fault of the maintainer (ccd0).
|
||||||
|
|
||||||
|
### v1.11.7
|
||||||
|
|
||||||
|
**v1.11.7.0** *(2015-08-02)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.7.0/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.7.0/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||||
|
- Based on v1.11.6.0.
|
||||||
|
- Turn `Custom Board Navigation` off by default. To turn it back on, check `Header` > `Custom board navigation` in the header menu.
|
||||||
|
- Experimental MS Edge support via https://github.com/ccd0/4chan-x-proxy.
|
||||||
|
|
||||||
### v1.11.6
|
### v1.11.6
|
||||||
|
|
||||||
**v1.11.6.0** *(2015-07-19)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.6.0/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.6.0/builds/4chan-X-noupdate.crx "Chromium version")]
|
**v1.11.6.0** *(2015-07-19)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.6.0/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.6.0/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||||
|
|||||||
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X beta
|
// @name 4chan X beta
|
||||||
// @version 1.11.6.0
|
// @version 1.11.7.0
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
// Generated by CoffeeScript
|
// Generated by CoffeeScript
|
||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X beta
|
// @name 4chan X beta
|
||||||
// @version 1.11.6.0
|
// @version 1.11.7.0
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -300,7 +300,7 @@
|
|||||||
tripcode: "# Filter any tripfag\n#/^!/",
|
tripcode: "# Filter any tripfag\n#/^!/",
|
||||||
capcode: "# Set a custom class for mods:\n#/Mod$/;highlight:mod;op:yes\n# Set a custom class for moot:\n#/Admin$/;highlight:moot;op:yes",
|
capcode: "# Set a custom class for mods:\n#/Mod$/;highlight:mod;op:yes\n# Set a custom class for moot:\n#/Admin$/;highlight:moot;op:yes",
|
||||||
subject: "# Filter Generals on /v/:\n#/general/i;boards:v;op:only",
|
subject: "# Filter Generals on /v/:\n#/general/i;boards:v;op:only",
|
||||||
comment: "# Filter Stallman copypasta on /g/:\n#/what you\'re refer+ing to as linux/i;boards:g\n# Filter posts with 20 or more quote links:\n#/(?:>>\\d(?:(?!>>\\d)[^])*){20}/",
|
comment: "# Filter Stallman copypasta on /g/:\n#/what you\'re refer+ing to as linux/i;boards:g\n# Filter posts with 20 or more quote links:\n#/(?:>>\\d(?:(?!>>\\d)[^])*){20}/\n# Filter posts like T H I S / H / I / S:\n#/^>?\\s?\\w\\s?(\\w)\\s?(\\w)\\s?(\\w).*$[\\s>]+\\1[\\s>]+\\2[\\s>]+\\3/im",
|
||||||
flag: '',
|
flag: '',
|
||||||
filename: '',
|
filename: '',
|
||||||
dimensions: "# Highlight potential wallpapers:\n#/1920x1080/;op:yes;highlight;top:no;boards:w,wg",
|
dimensions: "# Highlight potential wallpapers:\n#/1920x1080/;op:yes;highlight;top:no;boards:w,wg",
|
||||||
@ -331,7 +331,7 @@
|
|||||||
'Header catalog links': false,
|
'Header catalog links': false,
|
||||||
'Bottom Board List': true,
|
'Bottom Board List': true,
|
||||||
'Shortcut Icons': true,
|
'Shortcut Icons': true,
|
||||||
'Custom Board Navigation': true
|
'Custom Board Navigation': false
|
||||||
},
|
},
|
||||||
boardnav: "[ toggle-all ]\na-replace\nc-replace\ng-replace\nk-replace\nv-replace\nvg-replace\nvr-replace\nck-replace\nco-replace\nfit-replace\njp-replace\nmu-replace\nsp-replace\ntv-replace\nvp-replace\n[external-text:\"FAQ\",\"https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions\"]",
|
boardnav: "[ toggle-all ]\na-replace\nc-replace\ng-replace\nk-replace\nv-replace\nvg-replace\nvr-replace\nck-replace\nco-replace\nfit-replace\njp-replace\nmu-replace\nsp-replace\ntv-replace\nvp-replace\n[external-text:\"FAQ\",\"https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions\"]",
|
||||||
QR: {
|
QR: {
|
||||||
@ -411,7 +411,7 @@
|
|||||||
doc = d.documentElement;
|
doc = d.documentElement;
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.11.6.0',
|
VERSION: '1.11.7.0',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
boards: {}
|
boards: {}
|
||||||
};
|
};
|
||||||
@ -631,6 +631,14 @@
|
|||||||
if (el = $(selector, root)) {
|
if (el = $(selector, root)) {
|
||||||
return cb(el);
|
return cb(el);
|
||||||
}
|
}
|
||||||
|
if ($.engine === 'edge' && d.readyState === 'loading') {
|
||||||
|
$.asap((function() {
|
||||||
|
return d.readyState !== 'loading' || $(selector, root);
|
||||||
|
}), function() {
|
||||||
|
return $.onExists(root, selector, subtree, cb);
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
observer = new MutationObserver(function() {
|
observer = new MutationObserver(function() {
|
||||||
if (el = $(selector, root)) {
|
if (el = $(selector, root)) {
|
||||||
observer.disconnect();
|
observer.disconnect();
|
||||||
@ -696,7 +704,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
$.rm = function(el) {
|
$.rm = function(el) {
|
||||||
return el.remove();
|
return el != null ? el.remove() : void 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
$.rmAll = function(root) {
|
$.rmAll = function(root) {
|
||||||
@ -872,6 +880,9 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
$.engine = (function() {
|
$.engine = (function() {
|
||||||
|
if (/Edge\//.test(navigator.userAgent)) {
|
||||||
|
return 'edge';
|
||||||
|
}
|
||||||
if (/Chrome\//.test(navigator.userAgent)) {
|
if (/Chrome\//.test(navigator.userAgent)) {
|
||||||
return 'blink';
|
return 'blink';
|
||||||
}
|
}
|
||||||
@ -1313,9 +1324,19 @@
|
|||||||
quote: $('.postNum > a:nth-of-type(2)', info),
|
quote: $('.postNum > a:nth-of-type(2)', info),
|
||||||
comment: $('.postMessage', post),
|
comment: $('.postMessage', post),
|
||||||
links: [],
|
links: [],
|
||||||
quotelinks: [],
|
quotelinks: []
|
||||||
backlinks: info.getElementsByClassName('backlink')
|
|
||||||
};
|
};
|
||||||
|
if ($.engine === 'edge') {
|
||||||
|
Object.defineProperty(this.nodes, 'backlinks', {
|
||||||
|
configurable: true,
|
||||||
|
enumerable: true,
|
||||||
|
get: function() {
|
||||||
|
return info.getElementsByClassName('backlink');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.nodes.backlinks = info.getElementsByClassName('backlink');
|
||||||
|
}
|
||||||
if (!(this.isReply = $.hasClass(post, 'reply'))) {
|
if (!(this.isReply = $.hasClass(post, 'reply'))) {
|
||||||
this.thread.OP = this;
|
this.thread.OP = this;
|
||||||
this.thread.isArchived = !!$('.archivedIcon', info);
|
this.thread.isArchived = !!$('.archivedIcon', info);
|
||||||
@ -1605,9 +1626,19 @@
|
|||||||
nameBlock: $('.nameBlock', info),
|
nameBlock: $('.nameBlock', info),
|
||||||
quote: $('.postNum > a:nth-of-type(2)', info),
|
quote: $('.postNum > a:nth-of-type(2)', info),
|
||||||
comment: $('.postMessage', post),
|
comment: $('.postMessage', post),
|
||||||
quotelinks: [],
|
quotelinks: []
|
||||||
backlinks: info.getElementsByClassName('backlink')
|
|
||||||
};
|
};
|
||||||
|
if ($.engine === 'edge') {
|
||||||
|
Object.defineProperty(this.nodes, 'backlinks', {
|
||||||
|
configurable: true,
|
||||||
|
enumerable: true,
|
||||||
|
get: function() {
|
||||||
|
return info.getElementsByClassName('backlink');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.nodes.backlinks = info.getElementsByClassName('backlink');
|
||||||
|
}
|
||||||
ref1 = $$('.inline', post);
|
ref1 = $$('.inline', post);
|
||||||
for (q = 0, len2 = ref1.length; q < len2; q++) {
|
for (q = 0, len2 = ref1.length; q < len2; q++) {
|
||||||
inline = ref1[q];
|
inline = ref1[q];
|
||||||
@ -3211,7 +3242,7 @@
|
|||||||
$.asap((function() {
|
$.asap((function() {
|
||||||
return $('.board > .thread > .postContainer', doc) || d.readyState !== 'loading';
|
return $('.board > .thread > .postContainer', doc) || d.readyState !== 'loading';
|
||||||
}), function() {
|
}), function() {
|
||||||
var board, el, len3, len4, ref6, ref7, ref8, threadRoot, topNavPos, u, v;
|
var board, el, len3, len4, ref6, ref7, threadRoot, topNavPos, u, v;
|
||||||
if (!Main.isThisPageLegit()) {
|
if (!Main.isThisPageLegit()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -3232,9 +3263,7 @@
|
|||||||
el = ref7[v];
|
el = ref7[v];
|
||||||
$.rm(el);
|
$.rm(el);
|
||||||
}
|
}
|
||||||
if ((ref8 = $.id('search-box')) != null) {
|
$.rm($.id('ctrl-top'));
|
||||||
ref8.parentNode.remove();
|
|
||||||
}
|
|
||||||
topNavPos = $.id('delform').previousElementSibling;
|
topNavPos = $.id('delform').previousElementSibling;
|
||||||
$.before(topNavPos, $.el('hr'));
|
$.before(topNavPos, $.el('hr'));
|
||||||
return $.before(topNavPos, Index.navLinks);
|
return $.before(topNavPos, Index.navLinks);
|
||||||
@ -8049,13 +8078,9 @@
|
|||||||
if (!this.isEnabled) {
|
if (!this.isEnabled) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (this.nodes.img) {
|
$.rm(this.nodes.img);
|
||||||
$.rm(this.nodes.img);
|
|
||||||
}
|
|
||||||
delete this.nodes.img;
|
delete this.nodes.img;
|
||||||
if (this.nodes.iframe) {
|
$.rm(this.nodes.iframe);
|
||||||
$.rm(this.nodes.iframe);
|
|
||||||
}
|
|
||||||
delete this.nodes.iframe;
|
delete this.nodes.iframe;
|
||||||
delete this.occupied;
|
delete this.occupied;
|
||||||
return this.beforeSetup();
|
return this.beforeSetup();
|
||||||
@ -9330,7 +9355,7 @@
|
|||||||
if (!(node = QR.nodes[name])) {
|
if (!(node = QR.nodes[name])) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
node.value = this[name] || node.dataset["default"] || null;
|
node.value = this[name] || node.dataset["default"] || '';
|
||||||
}
|
}
|
||||||
(this.thread !== 'new' ? $.addClass : $.rmClass)(QR.nodes.el, 'reply-to-thread');
|
(this.thread !== 'new' ? $.addClass : $.rmClass)(QR.nodes.el, 'reply-to-thread');
|
||||||
this.showFileData();
|
this.showFileData();
|
||||||
@ -10568,9 +10593,7 @@
|
|||||||
}
|
}
|
||||||
$.rmClass(post.nodes.root, 'expanded-image');
|
$.rmClass(post.nodes.root, 'expanded-image');
|
||||||
$.rmClass(file.thumb, 'expanding');
|
$.rmClass(file.thumb, 'expanding');
|
||||||
if (file.videoControls) {
|
$.rm(file.videoControls);
|
||||||
$.rm(file.videoControls);
|
|
||||||
}
|
|
||||||
file.thumb.parentNode.href = file.url;
|
file.thumb.parentNode.href = file.url;
|
||||||
file.thumb.parentNode.target = '_blank';
|
file.thumb.parentNode.target = '_blank';
|
||||||
ref = ['isExpanding', 'isExpanded', 'videoControls', 'wasPlaying', 'scrollIntoView'];
|
ref = ['isExpanding', 'isExpanded', 'videoControls', 'wasPlaying', 'scrollIntoView'];
|
||||||
@ -18312,6 +18335,7 @@
|
|||||||
" flex: auto;\n" +
|
" flex: auto;\n" +
|
||||||
" display: -webkit-flex;\n" +
|
" display: -webkit-flex;\n" +
|
||||||
" display: flex;\n" +
|
" display: flex;\n" +
|
||||||
|
" width: 0px; /* XXX Fixes Edge not shrinking the board list below default size when needed */\n" +
|
||||||
" }\n" +
|
" }\n" +
|
||||||
" :root.fixed:not(.centered-links) #full-board-list > .boardList > a,\n" +
|
" :root.fixed:not(.centered-links) #full-board-list > .boardList > a,\n" +
|
||||||
" :root.fixed:not(.centered-links) #full-board-list > .boardList > span:not(.space):not(.spacer) {\n" +
|
" :root.fixed:not(.centered-links) #full-board-list > .boardList > span:not(.space):not(.spacer) {\n" +
|
||||||
@ -19316,6 +19340,7 @@
|
|||||||
".has-file #qr-filename {\n" +
|
".has-file #qr-filename {\n" +
|
||||||
" -webkit-flex: 1 1 auto;\n" +
|
" -webkit-flex: 1 1 auto;\n" +
|
||||||
" flex: 1 1 auto;\n" +
|
" flex: 1 1 auto;\n" +
|
||||||
|
" width: 0px; /* XXX Fixes filename not shrinking to allow space for buttons in Edge */\n" +
|
||||||
" display: inline-block;\n" +
|
" display: inline-block;\n" +
|
||||||
" padding: 0;\n" +
|
" padding: 0;\n" +
|
||||||
" padding-left: 3px;\n" +
|
" padding-left: 3px;\n" +
|
||||||
|
|||||||
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
// Generated by CoffeeScript
|
// Generated by CoffeeScript
|
||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.11.6.0
|
// @version 1.11.7.0
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -299,7 +299,7 @@
|
|||||||
tripcode: "# Filter any tripfag\n#/^!/",
|
tripcode: "# Filter any tripfag\n#/^!/",
|
||||||
capcode: "# Set a custom class for mods:\n#/Mod$/;highlight:mod;op:yes\n# Set a custom class for moot:\n#/Admin$/;highlight:moot;op:yes",
|
capcode: "# Set a custom class for mods:\n#/Mod$/;highlight:mod;op:yes\n# Set a custom class for moot:\n#/Admin$/;highlight:moot;op:yes",
|
||||||
subject: "# Filter Generals on /v/:\n#/general/i;boards:v;op:only",
|
subject: "# Filter Generals on /v/:\n#/general/i;boards:v;op:only",
|
||||||
comment: "# Filter Stallman copypasta on /g/:\n#/what you\'re refer+ing to as linux/i;boards:g\n# Filter posts with 20 or more quote links:\n#/(?:>>\\d(?:(?!>>\\d)[^])*){20}/",
|
comment: "# Filter Stallman copypasta on /g/:\n#/what you\'re refer+ing to as linux/i;boards:g\n# Filter posts with 20 or more quote links:\n#/(?:>>\\d(?:(?!>>\\d)[^])*){20}/\n# Filter posts like T H I S / H / I / S:\n#/^>?\\s?\\w\\s?(\\w)\\s?(\\w)\\s?(\\w).*$[\\s>]+\\1[\\s>]+\\2[\\s>]+\\3/im",
|
||||||
flag: '',
|
flag: '',
|
||||||
filename: '',
|
filename: '',
|
||||||
dimensions: "# Highlight potential wallpapers:\n#/1920x1080/;op:yes;highlight;top:no;boards:w,wg",
|
dimensions: "# Highlight potential wallpapers:\n#/1920x1080/;op:yes;highlight;top:no;boards:w,wg",
|
||||||
@ -330,7 +330,7 @@
|
|||||||
'Header catalog links': false,
|
'Header catalog links': false,
|
||||||
'Bottom Board List': true,
|
'Bottom Board List': true,
|
||||||
'Shortcut Icons': true,
|
'Shortcut Icons': true,
|
||||||
'Custom Board Navigation': true
|
'Custom Board Navigation': false
|
||||||
},
|
},
|
||||||
boardnav: "[ toggle-all ]\na-replace\nc-replace\ng-replace\nk-replace\nv-replace\nvg-replace\nvr-replace\nck-replace\nco-replace\nfit-replace\njp-replace\nmu-replace\nsp-replace\ntv-replace\nvp-replace\n[external-text:\"FAQ\",\"https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions\"]",
|
boardnav: "[ toggle-all ]\na-replace\nc-replace\ng-replace\nk-replace\nv-replace\nvg-replace\nvr-replace\nck-replace\nco-replace\nfit-replace\njp-replace\nmu-replace\nsp-replace\ntv-replace\nvp-replace\n[external-text:\"FAQ\",\"https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions\"]",
|
||||||
QR: {
|
QR: {
|
||||||
@ -410,7 +410,7 @@
|
|||||||
doc = d.documentElement;
|
doc = d.documentElement;
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.11.6.0',
|
VERSION: '1.11.7.0',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
boards: {}
|
boards: {}
|
||||||
};
|
};
|
||||||
@ -630,6 +630,14 @@
|
|||||||
if (el = $(selector, root)) {
|
if (el = $(selector, root)) {
|
||||||
return cb(el);
|
return cb(el);
|
||||||
}
|
}
|
||||||
|
if ($.engine === 'edge' && d.readyState === 'loading') {
|
||||||
|
$.asap((function() {
|
||||||
|
return d.readyState !== 'loading' || $(selector, root);
|
||||||
|
}), function() {
|
||||||
|
return $.onExists(root, selector, subtree, cb);
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
observer = new MutationObserver(function() {
|
observer = new MutationObserver(function() {
|
||||||
if (el = $(selector, root)) {
|
if (el = $(selector, root)) {
|
||||||
observer.disconnect();
|
observer.disconnect();
|
||||||
@ -695,7 +703,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
$.rm = function(el) {
|
$.rm = function(el) {
|
||||||
return el.remove();
|
return el != null ? el.remove() : void 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
$.rmAll = function(root) {
|
$.rmAll = function(root) {
|
||||||
@ -871,6 +879,9 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
$.engine = (function() {
|
$.engine = (function() {
|
||||||
|
if (/Edge\//.test(navigator.userAgent)) {
|
||||||
|
return 'edge';
|
||||||
|
}
|
||||||
if (/Chrome\//.test(navigator.userAgent)) {
|
if (/Chrome\//.test(navigator.userAgent)) {
|
||||||
return 'blink';
|
return 'blink';
|
||||||
}
|
}
|
||||||
@ -1312,9 +1323,19 @@
|
|||||||
quote: $('.postNum > a:nth-of-type(2)', info),
|
quote: $('.postNum > a:nth-of-type(2)', info),
|
||||||
comment: $('.postMessage', post),
|
comment: $('.postMessage', post),
|
||||||
links: [],
|
links: [],
|
||||||
quotelinks: [],
|
quotelinks: []
|
||||||
backlinks: info.getElementsByClassName('backlink')
|
|
||||||
};
|
};
|
||||||
|
if ($.engine === 'edge') {
|
||||||
|
Object.defineProperty(this.nodes, 'backlinks', {
|
||||||
|
configurable: true,
|
||||||
|
enumerable: true,
|
||||||
|
get: function() {
|
||||||
|
return info.getElementsByClassName('backlink');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.nodes.backlinks = info.getElementsByClassName('backlink');
|
||||||
|
}
|
||||||
if (!(this.isReply = $.hasClass(post, 'reply'))) {
|
if (!(this.isReply = $.hasClass(post, 'reply'))) {
|
||||||
this.thread.OP = this;
|
this.thread.OP = this;
|
||||||
this.thread.isArchived = !!$('.archivedIcon', info);
|
this.thread.isArchived = !!$('.archivedIcon', info);
|
||||||
@ -1604,9 +1625,19 @@
|
|||||||
nameBlock: $('.nameBlock', info),
|
nameBlock: $('.nameBlock', info),
|
||||||
quote: $('.postNum > a:nth-of-type(2)', info),
|
quote: $('.postNum > a:nth-of-type(2)', info),
|
||||||
comment: $('.postMessage', post),
|
comment: $('.postMessage', post),
|
||||||
quotelinks: [],
|
quotelinks: []
|
||||||
backlinks: info.getElementsByClassName('backlink')
|
|
||||||
};
|
};
|
||||||
|
if ($.engine === 'edge') {
|
||||||
|
Object.defineProperty(this.nodes, 'backlinks', {
|
||||||
|
configurable: true,
|
||||||
|
enumerable: true,
|
||||||
|
get: function() {
|
||||||
|
return info.getElementsByClassName('backlink');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.nodes.backlinks = info.getElementsByClassName('backlink');
|
||||||
|
}
|
||||||
ref1 = $$('.inline', post);
|
ref1 = $$('.inline', post);
|
||||||
for (q = 0, len2 = ref1.length; q < len2; q++) {
|
for (q = 0, len2 = ref1.length; q < len2; q++) {
|
||||||
inline = ref1[q];
|
inline = ref1[q];
|
||||||
@ -3210,7 +3241,7 @@
|
|||||||
$.asap((function() {
|
$.asap((function() {
|
||||||
return $('.board > .thread > .postContainer', doc) || d.readyState !== 'loading';
|
return $('.board > .thread > .postContainer', doc) || d.readyState !== 'loading';
|
||||||
}), function() {
|
}), function() {
|
||||||
var board, el, len3, len4, ref6, ref7, ref8, threadRoot, topNavPos, u, v;
|
var board, el, len3, len4, ref6, ref7, threadRoot, topNavPos, u, v;
|
||||||
if (!Main.isThisPageLegit()) {
|
if (!Main.isThisPageLegit()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -3231,9 +3262,7 @@
|
|||||||
el = ref7[v];
|
el = ref7[v];
|
||||||
$.rm(el);
|
$.rm(el);
|
||||||
}
|
}
|
||||||
if ((ref8 = $.id('search-box')) != null) {
|
$.rm($.id('ctrl-top'));
|
||||||
ref8.parentNode.remove();
|
|
||||||
}
|
|
||||||
topNavPos = $.id('delform').previousElementSibling;
|
topNavPos = $.id('delform').previousElementSibling;
|
||||||
$.before(topNavPos, $.el('hr'));
|
$.before(topNavPos, $.el('hr'));
|
||||||
return $.before(topNavPos, Index.navLinks);
|
return $.before(topNavPos, Index.navLinks);
|
||||||
@ -8048,13 +8077,9 @@
|
|||||||
if (!this.isEnabled) {
|
if (!this.isEnabled) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (this.nodes.img) {
|
$.rm(this.nodes.img);
|
||||||
$.rm(this.nodes.img);
|
|
||||||
}
|
|
||||||
delete this.nodes.img;
|
delete this.nodes.img;
|
||||||
if (this.nodes.iframe) {
|
$.rm(this.nodes.iframe);
|
||||||
$.rm(this.nodes.iframe);
|
|
||||||
}
|
|
||||||
delete this.nodes.iframe;
|
delete this.nodes.iframe;
|
||||||
delete this.occupied;
|
delete this.occupied;
|
||||||
return this.beforeSetup();
|
return this.beforeSetup();
|
||||||
@ -9329,7 +9354,7 @@
|
|||||||
if (!(node = QR.nodes[name])) {
|
if (!(node = QR.nodes[name])) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
node.value = this[name] || node.dataset["default"] || null;
|
node.value = this[name] || node.dataset["default"] || '';
|
||||||
}
|
}
|
||||||
(this.thread !== 'new' ? $.addClass : $.rmClass)(QR.nodes.el, 'reply-to-thread');
|
(this.thread !== 'new' ? $.addClass : $.rmClass)(QR.nodes.el, 'reply-to-thread');
|
||||||
this.showFileData();
|
this.showFileData();
|
||||||
@ -10567,9 +10592,7 @@
|
|||||||
}
|
}
|
||||||
$.rmClass(post.nodes.root, 'expanded-image');
|
$.rmClass(post.nodes.root, 'expanded-image');
|
||||||
$.rmClass(file.thumb, 'expanding');
|
$.rmClass(file.thumb, 'expanding');
|
||||||
if (file.videoControls) {
|
$.rm(file.videoControls);
|
||||||
$.rm(file.videoControls);
|
|
||||||
}
|
|
||||||
file.thumb.parentNode.href = file.url;
|
file.thumb.parentNode.href = file.url;
|
||||||
file.thumb.parentNode.target = '_blank';
|
file.thumb.parentNode.target = '_blank';
|
||||||
ref = ['isExpanding', 'isExpanded', 'videoControls', 'wasPlaying', 'scrollIntoView'];
|
ref = ['isExpanding', 'isExpanded', 'videoControls', 'wasPlaying', 'scrollIntoView'];
|
||||||
@ -18311,6 +18334,7 @@
|
|||||||
" flex: auto;\n" +
|
" flex: auto;\n" +
|
||||||
" display: -webkit-flex;\n" +
|
" display: -webkit-flex;\n" +
|
||||||
" display: flex;\n" +
|
" display: flex;\n" +
|
||||||
|
" width: 0px; /* XXX Fixes Edge not shrinking the board list below default size when needed */\n" +
|
||||||
" }\n" +
|
" }\n" +
|
||||||
" :root.fixed:not(.centered-links) #full-board-list > .boardList > a,\n" +
|
" :root.fixed:not(.centered-links) #full-board-list > .boardList > a,\n" +
|
||||||
" :root.fixed:not(.centered-links) #full-board-list > .boardList > span:not(.space):not(.spacer) {\n" +
|
" :root.fixed:not(.centered-links) #full-board-list > .boardList > span:not(.space):not(.spacer) {\n" +
|
||||||
@ -19315,6 +19339,7 @@
|
|||||||
".has-file #qr-filename {\n" +
|
".has-file #qr-filename {\n" +
|
||||||
" -webkit-flex: 1 1 auto;\n" +
|
" -webkit-flex: 1 1 auto;\n" +
|
||||||
" flex: 1 1 auto;\n" +
|
" flex: 1 1 auto;\n" +
|
||||||
|
" width: 0px; /* XXX Fixes filename not shrinking to allow space for buttons in Edge */\n" +
|
||||||
" display: inline-block;\n" +
|
" display: inline-block;\n" +
|
||||||
" padding: 0;\n" +
|
" padding: 0;\n" +
|
||||||
" padding-left: 3px;\n" +
|
" padding-left: 3px;\n" +
|
||||||
|
|||||||
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.11.6.0
|
// @version 1.11.7.0
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
// Generated by CoffeeScript
|
// Generated by CoffeeScript
|
||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.11.6.0
|
// @version 1.11.7.0
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -300,7 +300,7 @@
|
|||||||
tripcode: "# Filter any tripfag\n#/^!/",
|
tripcode: "# Filter any tripfag\n#/^!/",
|
||||||
capcode: "# Set a custom class for mods:\n#/Mod$/;highlight:mod;op:yes\n# Set a custom class for moot:\n#/Admin$/;highlight:moot;op:yes",
|
capcode: "# Set a custom class for mods:\n#/Mod$/;highlight:mod;op:yes\n# Set a custom class for moot:\n#/Admin$/;highlight:moot;op:yes",
|
||||||
subject: "# Filter Generals on /v/:\n#/general/i;boards:v;op:only",
|
subject: "# Filter Generals on /v/:\n#/general/i;boards:v;op:only",
|
||||||
comment: "# Filter Stallman copypasta on /g/:\n#/what you\'re refer+ing to as linux/i;boards:g\n# Filter posts with 20 or more quote links:\n#/(?:>>\\d(?:(?!>>\\d)[^])*){20}/",
|
comment: "# Filter Stallman copypasta on /g/:\n#/what you\'re refer+ing to as linux/i;boards:g\n# Filter posts with 20 or more quote links:\n#/(?:>>\\d(?:(?!>>\\d)[^])*){20}/\n# Filter posts like T H I S / H / I / S:\n#/^>?\\s?\\w\\s?(\\w)\\s?(\\w)\\s?(\\w).*$[\\s>]+\\1[\\s>]+\\2[\\s>]+\\3/im",
|
||||||
flag: '',
|
flag: '',
|
||||||
filename: '',
|
filename: '',
|
||||||
dimensions: "# Highlight potential wallpapers:\n#/1920x1080/;op:yes;highlight;top:no;boards:w,wg",
|
dimensions: "# Highlight potential wallpapers:\n#/1920x1080/;op:yes;highlight;top:no;boards:w,wg",
|
||||||
@ -331,7 +331,7 @@
|
|||||||
'Header catalog links': false,
|
'Header catalog links': false,
|
||||||
'Bottom Board List': true,
|
'Bottom Board List': true,
|
||||||
'Shortcut Icons': true,
|
'Shortcut Icons': true,
|
||||||
'Custom Board Navigation': true
|
'Custom Board Navigation': false
|
||||||
},
|
},
|
||||||
boardnav: "[ toggle-all ]\na-replace\nc-replace\ng-replace\nk-replace\nv-replace\nvg-replace\nvr-replace\nck-replace\nco-replace\nfit-replace\njp-replace\nmu-replace\nsp-replace\ntv-replace\nvp-replace\n[external-text:\"FAQ\",\"https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions\"]",
|
boardnav: "[ toggle-all ]\na-replace\nc-replace\ng-replace\nk-replace\nv-replace\nvg-replace\nvr-replace\nck-replace\nco-replace\nfit-replace\njp-replace\nmu-replace\nsp-replace\ntv-replace\nvp-replace\n[external-text:\"FAQ\",\"https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions\"]",
|
||||||
QR: {
|
QR: {
|
||||||
@ -411,7 +411,7 @@
|
|||||||
doc = d.documentElement;
|
doc = d.documentElement;
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.11.6.0',
|
VERSION: '1.11.7.0',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
boards: {}
|
boards: {}
|
||||||
};
|
};
|
||||||
@ -631,6 +631,14 @@
|
|||||||
if (el = $(selector, root)) {
|
if (el = $(selector, root)) {
|
||||||
return cb(el);
|
return cb(el);
|
||||||
}
|
}
|
||||||
|
if ($.engine === 'edge' && d.readyState === 'loading') {
|
||||||
|
$.asap((function() {
|
||||||
|
return d.readyState !== 'loading' || $(selector, root);
|
||||||
|
}), function() {
|
||||||
|
return $.onExists(root, selector, subtree, cb);
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
observer = new MutationObserver(function() {
|
observer = new MutationObserver(function() {
|
||||||
if (el = $(selector, root)) {
|
if (el = $(selector, root)) {
|
||||||
observer.disconnect();
|
observer.disconnect();
|
||||||
@ -696,7 +704,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
$.rm = function(el) {
|
$.rm = function(el) {
|
||||||
return el.remove();
|
return el != null ? el.remove() : void 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
$.rmAll = function(root) {
|
$.rmAll = function(root) {
|
||||||
@ -872,6 +880,9 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
$.engine = (function() {
|
$.engine = (function() {
|
||||||
|
if (/Edge\//.test(navigator.userAgent)) {
|
||||||
|
return 'edge';
|
||||||
|
}
|
||||||
if (/Chrome\//.test(navigator.userAgent)) {
|
if (/Chrome\//.test(navigator.userAgent)) {
|
||||||
return 'blink';
|
return 'blink';
|
||||||
}
|
}
|
||||||
@ -1313,9 +1324,19 @@
|
|||||||
quote: $('.postNum > a:nth-of-type(2)', info),
|
quote: $('.postNum > a:nth-of-type(2)', info),
|
||||||
comment: $('.postMessage', post),
|
comment: $('.postMessage', post),
|
||||||
links: [],
|
links: [],
|
||||||
quotelinks: [],
|
quotelinks: []
|
||||||
backlinks: info.getElementsByClassName('backlink')
|
|
||||||
};
|
};
|
||||||
|
if ($.engine === 'edge') {
|
||||||
|
Object.defineProperty(this.nodes, 'backlinks', {
|
||||||
|
configurable: true,
|
||||||
|
enumerable: true,
|
||||||
|
get: function() {
|
||||||
|
return info.getElementsByClassName('backlink');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.nodes.backlinks = info.getElementsByClassName('backlink');
|
||||||
|
}
|
||||||
if (!(this.isReply = $.hasClass(post, 'reply'))) {
|
if (!(this.isReply = $.hasClass(post, 'reply'))) {
|
||||||
this.thread.OP = this;
|
this.thread.OP = this;
|
||||||
this.thread.isArchived = !!$('.archivedIcon', info);
|
this.thread.isArchived = !!$('.archivedIcon', info);
|
||||||
@ -1605,9 +1626,19 @@
|
|||||||
nameBlock: $('.nameBlock', info),
|
nameBlock: $('.nameBlock', info),
|
||||||
quote: $('.postNum > a:nth-of-type(2)', info),
|
quote: $('.postNum > a:nth-of-type(2)', info),
|
||||||
comment: $('.postMessage', post),
|
comment: $('.postMessage', post),
|
||||||
quotelinks: [],
|
quotelinks: []
|
||||||
backlinks: info.getElementsByClassName('backlink')
|
|
||||||
};
|
};
|
||||||
|
if ($.engine === 'edge') {
|
||||||
|
Object.defineProperty(this.nodes, 'backlinks', {
|
||||||
|
configurable: true,
|
||||||
|
enumerable: true,
|
||||||
|
get: function() {
|
||||||
|
return info.getElementsByClassName('backlink');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.nodes.backlinks = info.getElementsByClassName('backlink');
|
||||||
|
}
|
||||||
ref1 = $$('.inline', post);
|
ref1 = $$('.inline', post);
|
||||||
for (q = 0, len2 = ref1.length; q < len2; q++) {
|
for (q = 0, len2 = ref1.length; q < len2; q++) {
|
||||||
inline = ref1[q];
|
inline = ref1[q];
|
||||||
@ -3211,7 +3242,7 @@
|
|||||||
$.asap((function() {
|
$.asap((function() {
|
||||||
return $('.board > .thread > .postContainer', doc) || d.readyState !== 'loading';
|
return $('.board > .thread > .postContainer', doc) || d.readyState !== 'loading';
|
||||||
}), function() {
|
}), function() {
|
||||||
var board, el, len3, len4, ref6, ref7, ref8, threadRoot, topNavPos, u, v;
|
var board, el, len3, len4, ref6, ref7, threadRoot, topNavPos, u, v;
|
||||||
if (!Main.isThisPageLegit()) {
|
if (!Main.isThisPageLegit()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -3232,9 +3263,7 @@
|
|||||||
el = ref7[v];
|
el = ref7[v];
|
||||||
$.rm(el);
|
$.rm(el);
|
||||||
}
|
}
|
||||||
if ((ref8 = $.id('search-box')) != null) {
|
$.rm($.id('ctrl-top'));
|
||||||
ref8.parentNode.remove();
|
|
||||||
}
|
|
||||||
topNavPos = $.id('delform').previousElementSibling;
|
topNavPos = $.id('delform').previousElementSibling;
|
||||||
$.before(topNavPos, $.el('hr'));
|
$.before(topNavPos, $.el('hr'));
|
||||||
return $.before(topNavPos, Index.navLinks);
|
return $.before(topNavPos, Index.navLinks);
|
||||||
@ -8049,13 +8078,9 @@
|
|||||||
if (!this.isEnabled) {
|
if (!this.isEnabled) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (this.nodes.img) {
|
$.rm(this.nodes.img);
|
||||||
$.rm(this.nodes.img);
|
|
||||||
}
|
|
||||||
delete this.nodes.img;
|
delete this.nodes.img;
|
||||||
if (this.nodes.iframe) {
|
$.rm(this.nodes.iframe);
|
||||||
$.rm(this.nodes.iframe);
|
|
||||||
}
|
|
||||||
delete this.nodes.iframe;
|
delete this.nodes.iframe;
|
||||||
delete this.occupied;
|
delete this.occupied;
|
||||||
return this.beforeSetup();
|
return this.beforeSetup();
|
||||||
@ -9330,7 +9355,7 @@
|
|||||||
if (!(node = QR.nodes[name])) {
|
if (!(node = QR.nodes[name])) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
node.value = this[name] || node.dataset["default"] || null;
|
node.value = this[name] || node.dataset["default"] || '';
|
||||||
}
|
}
|
||||||
(this.thread !== 'new' ? $.addClass : $.rmClass)(QR.nodes.el, 'reply-to-thread');
|
(this.thread !== 'new' ? $.addClass : $.rmClass)(QR.nodes.el, 'reply-to-thread');
|
||||||
this.showFileData();
|
this.showFileData();
|
||||||
@ -10568,9 +10593,7 @@
|
|||||||
}
|
}
|
||||||
$.rmClass(post.nodes.root, 'expanded-image');
|
$.rmClass(post.nodes.root, 'expanded-image');
|
||||||
$.rmClass(file.thumb, 'expanding');
|
$.rmClass(file.thumb, 'expanding');
|
||||||
if (file.videoControls) {
|
$.rm(file.videoControls);
|
||||||
$.rm(file.videoControls);
|
|
||||||
}
|
|
||||||
file.thumb.parentNode.href = file.url;
|
file.thumb.parentNode.href = file.url;
|
||||||
file.thumb.parentNode.target = '_blank';
|
file.thumb.parentNode.target = '_blank';
|
||||||
ref = ['isExpanding', 'isExpanded', 'videoControls', 'wasPlaying', 'scrollIntoView'];
|
ref = ['isExpanding', 'isExpanded', 'videoControls', 'wasPlaying', 'scrollIntoView'];
|
||||||
@ -18312,6 +18335,7 @@
|
|||||||
" flex: auto;\n" +
|
" flex: auto;\n" +
|
||||||
" display: -webkit-flex;\n" +
|
" display: -webkit-flex;\n" +
|
||||||
" display: flex;\n" +
|
" display: flex;\n" +
|
||||||
|
" width: 0px; /* XXX Fixes Edge not shrinking the board list below default size when needed */\n" +
|
||||||
" }\n" +
|
" }\n" +
|
||||||
" :root.fixed:not(.centered-links) #full-board-list > .boardList > a,\n" +
|
" :root.fixed:not(.centered-links) #full-board-list > .boardList > a,\n" +
|
||||||
" :root.fixed:not(.centered-links) #full-board-list > .boardList > span:not(.space):not(.spacer) {\n" +
|
" :root.fixed:not(.centered-links) #full-board-list > .boardList > span:not(.space):not(.spacer) {\n" +
|
||||||
@ -19316,6 +19340,7 @@
|
|||||||
".has-file #qr-filename {\n" +
|
".has-file #qr-filename {\n" +
|
||||||
" -webkit-flex: 1 1 auto;\n" +
|
" -webkit-flex: 1 1 auto;\n" +
|
||||||
" flex: 1 1 auto;\n" +
|
" flex: 1 1 auto;\n" +
|
||||||
|
" width: 0px; /* XXX Fixes filename not shrinking to allow space for buttons in Edge */\n" +
|
||||||
" display: inline-block;\n" +
|
" display: inline-block;\n" +
|
||||||
" padding: 0;\n" +
|
" padding: 0;\n" +
|
||||||
" padding-left: 3px;\n" +
|
" padding-left: 3px;\n" +
|
||||||
|
|||||||
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
|
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
|
||||||
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
|
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
|
||||||
<updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X-beta.crx' version='1.11.6.0' />
|
<updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X-beta.crx' version='1.11.7.0' />
|
||||||
</app>
|
</app>
|
||||||
</gupdate>
|
</gupdate>
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
|
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
|
||||||
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
|
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
|
||||||
<updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X.crx' version='1.11.6.0' />
|
<updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X.crx' version='1.11.7.0' />
|
||||||
</app>
|
</app>
|
||||||
</gupdate>
|
</gupdate>
|
||||||
|
|
||||||
|
|||||||
@ -3,8 +3,8 @@
|
|||||||
"description": "Cross-browser userscript for maximum lurking on 4chan.",
|
"description": "Cross-browser userscript for maximum lurking on 4chan.",
|
||||||
"meta": {
|
"meta": {
|
||||||
"name": "4chan X",
|
"name": "4chan X",
|
||||||
"version": "1.11.6.0",
|
"version": "1.11.7.0",
|
||||||
"date": "2015-07-20T02:05:39.061Z",
|
"date": "2015-08-02T20:43:11.702Z",
|
||||||
"repo": "https://github.com/ccd0/4chan-x/",
|
"repo": "https://github.com/ccd0/4chan-x/",
|
||||||
"page": "https://github.com/ccd0/4chan-x",
|
"page": "https://github.com/ccd0/4chan-x",
|
||||||
"downloads": "https://ccd0.github.io/4chan-x/builds/",
|
"downloads": "https://ccd0.github.io/4chan-x/builds/",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user