Release 4chan X v1.11.29.5.
This commit is contained in:
parent
a68236efa3
commit
ffd37f1a2c
@ -4,6 +4,9 @@ Sometimes the changelog has notes (not comprehensive) acknowledging people's wor
|
||||
|
||||
### v1.11.29
|
||||
|
||||
**v1.11.29.5** *(2016-04-02)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.29.5/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.29.5/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||
- Remove upvotes.
|
||||
|
||||
**v1.11.29.4** *(2016-04-01)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.29.4/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.29.4/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||
- Fix image expansion under current 4chan theme.
|
||||
|
||||
|
||||
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name 4chan X beta
|
||||
// @version 1.11.29.4
|
||||
// @version 1.11.29.5
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
// Generated by CoffeeScript
|
||||
// ==UserScript==
|
||||
// @name 4chan X beta
|
||||
// @version 1.11.29.4
|
||||
// @version 1.11.29.5
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
@ -119,7 +119,7 @@
|
||||
'use strict';
|
||||
|
||||
(function() {
|
||||
var $, $$, Anonymize, AntiAutoplay, ArchiveLink, Banner, Board, Build, Callbacks, Captcha, CatalogLinks, CatalogThread, Clone, Conf, Config, Connection, CrossOrigin, CustomCSS, DataBoard, DeleteLink, DownloadLink, E, Embedding, ExpandComment, ExpandThread, FappeTyme, Favicon, Fetcher, FileInfo, Filter, Flash, Fourchan, Gallery, Get, Header, IDColor, IDHighlight, ImageCommon, ImageExpand, ImageHover, ImageLoader, Index, Keybinds, Linkify, Main, MarkNewIPs, Menu, Metadata, Nav, NormalizeURL, Notice, PSAHiding, PassLink, Polyfill, Post, PostHiding, PostSuccessful, PruneReplies, QR, QuoteBacklink, QuoteCT, QuoteInline, QuoteOP, QuotePreview, QuoteStrikeThrough, QuoteThreading, QuoteYou, Quotify, RandomAccessList, Recursive, Redirect, RelativeDates, RemoveSpoilers, Report, ReportLink, RevealSpoilers, Sauce, Settings, ShimSet, SimpleDict, Thread, ThreadExcerpt, ThreadHiding, ThreadLinks, ThreadStats, ThreadUpdater, ThreadWatcher, Time, UI, Unread, Upvotes, Volume, c, d, doc, g,
|
||||
var $, $$, Anonymize, AntiAutoplay, ArchiveLink, Banner, Board, Build, Callbacks, Captcha, CatalogLinks, CatalogThread, Clone, Conf, Config, Connection, CrossOrigin, CustomCSS, DataBoard, DeleteLink, DownloadLink, E, Embedding, ExpandComment, ExpandThread, FappeTyme, Favicon, Fetcher, FileInfo, Filter, Flash, Fourchan, Gallery, Get, Header, IDColor, IDHighlight, ImageCommon, ImageExpand, ImageHover, ImageLoader, Index, Keybinds, Linkify, Main, MarkNewIPs, Menu, Metadata, Nav, NormalizeURL, Notice, PSAHiding, PassLink, Polyfill, Post, PostHiding, PostSuccessful, PruneReplies, QR, QuoteBacklink, QuoteCT, QuoteInline, QuoteOP, QuotePreview, QuoteStrikeThrough, QuoteThreading, QuoteYou, Quotify, RandomAccessList, Recursive, Redirect, RelativeDates, RemoveSpoilers, Report, ReportLink, RevealSpoilers, Sauce, Settings, ShimSet, SimpleDict, Thread, ThreadExcerpt, ThreadHiding, ThreadLinks, ThreadStats, ThreadUpdater, ThreadWatcher, Time, UI, Unread, Volume, c, d, doc, g,
|
||||
slice = [].slice,
|
||||
indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
|
||||
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
|
||||
@ -270,8 +270,7 @@
|
||||
'Highlight Own Posts': [true, 'Highlights own posts.', 1],
|
||||
'Mark OP Quotes': [true, 'Add \'(OP)\' to OP quotes.'],
|
||||
'Mark Cross-thread Quotes': [true, 'Add \'(Cross-thread)\' to cross-threads quotes.'],
|
||||
'Quote Threading': [false, 'Thread conversations'],
|
||||
'Upvotes': [true, 'Upvote posts.']
|
||||
'Quote Threading': [false, 'Thread conversations']
|
||||
}
|
||||
},
|
||||
imageExpansion: {
|
||||
@ -432,8 +431,7 @@
|
||||
pruneReplies: {
|
||||
'Prune Replies': false,
|
||||
'Max Replies': 1000
|
||||
},
|
||||
upvoteText: ''
|
||||
}
|
||||
};
|
||||
|
||||
Conf = {};
|
||||
@ -445,7 +443,7 @@
|
||||
doc = d.documentElement;
|
||||
|
||||
g = {
|
||||
VERSION: '1.11.29.4',
|
||||
VERSION: '1.11.29.5',
|
||||
NAMESPACE: '4chan X.',
|
||||
boards: {}
|
||||
};
|
||||
@ -7114,103 +7112,6 @@
|
||||
}
|
||||
};
|
||||
|
||||
Upvotes = {
|
||||
count: {},
|
||||
text: '\u305D\u3046\u3060\u306D',
|
||||
regexp: /(?:^>.*\n)+(?:i|top|holy|shit|ay*|oh?|omg|god|jesus|christ|fuck|fukken|fucking?|\s|[.,-])*(?:\u305D\u3046\u3060\u306D|this(?! )|\+1|upvote(?! )d?|under[ -]?rated|\/thread|10\/10|(?:lol|kek|lel|lmao)(?:'?d|[.!]?$)|(?:ha)+[.!]?$|saved|nice(?! )|my sides)(?=\b|\W|$)/gmi,
|
||||
init: function() {
|
||||
var ref;
|
||||
if (!(((ref = g.VIEW) === 'thread' || ref === 'index') && Conf['Upvotes'])) {
|
||||
return;
|
||||
}
|
||||
return Post.callbacks.push({
|
||||
name: 'Upvotes',
|
||||
cb: this.node
|
||||
});
|
||||
},
|
||||
node: function() {
|
||||
var a, context, k, len1, len2, q, quote, quotes, ref, ref1, ref2, results;
|
||||
if (this.isFetchedQuote || ((ref = this.origin) != null ? ref.isFetchedQuote : void 0)) {
|
||||
return;
|
||||
}
|
||||
if (this.isClone) {
|
||||
this.nodes.vote = $('.upvote', this.nodes.info);
|
||||
$.on(this.nodes.vote, 'click', Upvotes.vote);
|
||||
return;
|
||||
}
|
||||
a = $.el('a', {
|
||||
className: 'upvote',
|
||||
href: 'javascript:;',
|
||||
textContent: '+'
|
||||
});
|
||||
$.add(this.nodes.info, a);
|
||||
this.nodes.vote = a;
|
||||
$.on(a, 'click', Upvotes.vote);
|
||||
if (g.VIEW !== 'thread') {
|
||||
return;
|
||||
}
|
||||
Upvotes.count[this.fullID] = 0;
|
||||
quotes = {};
|
||||
ref1 = this.info.comment.match(Upvotes.regexp) || [];
|
||||
for (k = 0, len1 = ref1.length; k < len1; k++) {
|
||||
context = ref1[k];
|
||||
ref2 = context.match(/>>\d+/g) || [];
|
||||
for (q = 0, len2 = ref2.length; q < len2; q++) {
|
||||
quote = ref2[q];
|
||||
quotes[quote.slice(2)] = true;
|
||||
}
|
||||
}
|
||||
results = [];
|
||||
for (quote in quotes) {
|
||||
results.push(Upvotes.increment(g.BOARD + "." + quote));
|
||||
}
|
||||
return results;
|
||||
},
|
||||
increment: function(fullID) {
|
||||
var count, k, len1, post, ref;
|
||||
if (!(fullID in Upvotes.count)) {
|
||||
return;
|
||||
}
|
||||
count = ++Upvotes.count[fullID];
|
||||
post = g.posts[fullID];
|
||||
ref = [post].concat(slice.call(post.clones));
|
||||
for (k = 0, len1 = ref.length; k < len1; k++) {
|
||||
post = ref[k];
|
||||
post.nodes.vote.textContent = Upvotes.text + "x" + count;
|
||||
}
|
||||
},
|
||||
vote: function() {
|
||||
var com, pos, text;
|
||||
if (!QR.postingIsEnabled) {
|
||||
return;
|
||||
}
|
||||
if (QR.nodes) {
|
||||
$.off(QR.nodes.com, 'input', Upvotes.setText);
|
||||
}
|
||||
QR.quote.call(this);
|
||||
com = QR.nodes.com;
|
||||
text = Conf['upvoteText'] + "\n";
|
||||
pos = com.selectionStart;
|
||||
Upvotes.context = com.value.slice(0, pos);
|
||||
com.value = com.value.slice(0, pos) + text + com.value.slice(pos);
|
||||
pos += text.length;
|
||||
com.setSelectionRange(pos, pos);
|
||||
$.event('input', null, com);
|
||||
Upvotes.post = $.id('selected');
|
||||
return $.on(com, 'input', Upvotes.setText);
|
||||
},
|
||||
setText: function() {
|
||||
var context;
|
||||
context = Upvotes.context;
|
||||
if ($.id('selected') === Upvotes.post && this.value.slice(0, context.length) === context) {
|
||||
Conf['upvoteText'] = this.value.slice(context.length).split('\n')[0];
|
||||
return $.set('upvoteText', Conf['upvoteText']);
|
||||
} else {
|
||||
return $.off(this, 'input', Upvotes.setText);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
QR = {
|
||||
mimeTypes: ['image/jpeg', 'image/png', 'image/gif', 'application/pdf', 'application/vnd.adobe.flash.movie', 'application/x-shockwave-flash', 'video/webm'],
|
||||
validExtension: /\.(jpe?g|png|gif|pdf|swf|webm)$/i,
|
||||
@ -21428,13 +21329,6 @@
|
||||
":root.gallery-open.fixed #header-bar:not(.autohide) #shortcuts .fa::before {\n" +
|
||||
" visibility: hidden;\n" +
|
||||
"}\n" +
|
||||
"/* Upvotes */\n" +
|
||||
".upvote {\n" +
|
||||
" margin: 0 4px;\n" +
|
||||
"}\n" +
|
||||
".post .menu-button:not(:last-of-type) {\n" +
|
||||
" margin-right: -4px;\n" +
|
||||
"}\n" +
|
||||
"/* General */\n" +
|
||||
":root.yotsuba .dialog {\n" +
|
||||
" background-color: #F0E0D6;\n" +
|
||||
@ -21962,6 +21856,15 @@
|
||||
":root.md2016 .inline div.post {\n" +
|
||||
" max-width: 100%;\n" +
|
||||
"}\n" +
|
||||
":root.md2016 #unread-line {\n" +
|
||||
" display: block;\n" +
|
||||
" position: relative;\n" +
|
||||
" top: 7.5px;\n" +
|
||||
"}\n" +
|
||||
":root.md2016 .threadContainer {\n" +
|
||||
" margin-left: 26px;\n" +
|
||||
" border-left: none;\n" +
|
||||
"}\n" +
|
||||
"/* XXX Moved to end of stylesheet to avoid breaking whole stylesheet in Maxthon. */\n" +
|
||||
"@supports (text-decoration-style: dashed) or (-moz-text-decoration-style: dashed) {\n" +
|
||||
" .quotelink.forwardlink,\n" +
|
||||
@ -21975,7 +21878,7 @@
|
||||
cssWWW: "#captcha-cnt {\n" +
|
||||
" height: auto;\n" +
|
||||
"}",
|
||||
features: [['Polyfill', Polyfill], ['Normalize URL', NormalizeURL], ['Captcha Configuration', Captcha.replace], ['Redirect', Redirect], ['Header', Header], ['Catalog Links', CatalogLinks], ['Settings', Settings], ['Index Generator', Index], ['Disable Autoplay', AntiAutoplay], ['Announcement Hiding', PSAHiding], ['Fourchan thingies', Fourchan], ['Color User IDs', IDColor], ['Highlight by User ID', IDHighlight], ['Custom CSS', CustomCSS], ['Thread Links', ThreadLinks], ['Linkify', Linkify], ['Reveal Spoilers', RemoveSpoilers], ['Resurrect Quotes', Quotify], ['Filter', Filter], ['Thread Hiding Buttons', ThreadHiding], ['Reply Hiding Buttons', PostHiding], ['Recursive', Recursive], ['Strike-through Quotes', QuoteStrikeThrough], ['Quick Reply', QR], ['Cooldown', QR.cooldown], ['Pass Link', PassLink], ['Menu', Menu], ['Index Generator (Menu)', Index.menu], ['Report Link', ReportLink], ['Thread Hiding (Menu)', ThreadHiding.menu], ['Reply Hiding (Menu)', PostHiding.menu], ['Delete Link', DeleteLink], ['Filter (Menu)', Filter.menu], ['Edit Link', QR.oekaki.menu], ['Download Link', DownloadLink], ['Archive Link', ArchiveLink], ['Upvotes', Upvotes], ['Quote Inlining', QuoteInline], ['Quote Previewing', QuotePreview], ['Quote Backlinks', QuoteBacklink], ['Mark Quotes of You', QuoteYou], ['Mark OP Quotes', QuoteOP], ['Mark Cross-thread Quotes', QuoteCT], ['Anonymize', Anonymize], ['Time Formatting', Time], ['Relative Post Dates', RelativeDates], ['File Info Formatting', FileInfo], ['Fappe Tyme', FappeTyme], ['Gallery', Gallery], ['Gallery (menu)', Gallery.menu], ['Sauce', Sauce], ['Image Expansion', ImageExpand], ['Image Expansion (Menu)', ImageExpand.menu], ['Reveal Spoiler Thumbnails', RevealSpoilers], ['Image Loading', ImageLoader], ['Image Hover', ImageHover], ['Volume Control', Volume], ['WEBM Metadata', Metadata], ['Comment Expansion', ExpandComment], ['Thread Expansion', ExpandThread], ['Thread Excerpt', ThreadExcerpt], ['Favicon', Favicon], ['Unread', Unread], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Watcher', ThreadWatcher], ['Thread Watcher (Menu)', ThreadWatcher.menu], ['Mark New IPs', MarkNewIPs], ['Index Navigation', Nav], ['Keybinds', Keybinds], ['Banner', Banner], ['Flash Features', Flash], ['Prune Replies', PruneReplies]]
|
||||
features: [['Polyfill', Polyfill], ['Normalize URL', NormalizeURL], ['Captcha Configuration', Captcha.replace], ['Redirect', Redirect], ['Header', Header], ['Catalog Links', CatalogLinks], ['Settings', Settings], ['Index Generator', Index], ['Disable Autoplay', AntiAutoplay], ['Announcement Hiding', PSAHiding], ['Fourchan thingies', Fourchan], ['Color User IDs', IDColor], ['Highlight by User ID', IDHighlight], ['Custom CSS', CustomCSS], ['Thread Links', ThreadLinks], ['Linkify', Linkify], ['Reveal Spoilers', RemoveSpoilers], ['Resurrect Quotes', Quotify], ['Filter', Filter], ['Thread Hiding Buttons', ThreadHiding], ['Reply Hiding Buttons', PostHiding], ['Recursive', Recursive], ['Strike-through Quotes', QuoteStrikeThrough], ['Quick Reply', QR], ['Cooldown', QR.cooldown], ['Pass Link', PassLink], ['Menu', Menu], ['Index Generator (Menu)', Index.menu], ['Report Link', ReportLink], ['Thread Hiding (Menu)', ThreadHiding.menu], ['Reply Hiding (Menu)', PostHiding.menu], ['Delete Link', DeleteLink], ['Filter (Menu)', Filter.menu], ['Edit Link', QR.oekaki.menu], ['Download Link', DownloadLink], ['Archive Link', ArchiveLink], ['Quote Inlining', QuoteInline], ['Quote Previewing', QuotePreview], ['Quote Backlinks', QuoteBacklink], ['Mark Quotes of You', QuoteYou], ['Mark OP Quotes', QuoteOP], ['Mark Cross-thread Quotes', QuoteCT], ['Anonymize', Anonymize], ['Time Formatting', Time], ['Relative Post Dates', RelativeDates], ['File Info Formatting', FileInfo], ['Fappe Tyme', FappeTyme], ['Gallery', Gallery], ['Gallery (menu)', Gallery.menu], ['Sauce', Sauce], ['Image Expansion', ImageExpand], ['Image Expansion (Menu)', ImageExpand.menu], ['Reveal Spoiler Thumbnails', RevealSpoilers], ['Image Loading', ImageLoader], ['Image Hover', ImageHover], ['Volume Control', Volume], ['WEBM Metadata', Metadata], ['Comment Expansion', ExpandComment], ['Thread Expansion', ExpandThread], ['Thread Excerpt', ThreadExcerpt], ['Favicon', Favicon], ['Unread', Unread], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Watcher', ThreadWatcher], ['Thread Watcher (Menu)', ThreadWatcher.menu], ['Mark New IPs', MarkNewIPs], ['Index Navigation', Nav], ['Keybinds', Keybinds], ['Banner', Banner], ['Flash Features', Flash], ['Prune Replies', PruneReplies]]
|
||||
};
|
||||
|
||||
Main.init();
|
||||
|
||||
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
// Generated by CoffeeScript
|
||||
// ==UserScript==
|
||||
// @name 4chan X
|
||||
// @version 1.11.29.4
|
||||
// @version 1.11.29.5
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
@ -119,7 +119,7 @@
|
||||
'use strict';
|
||||
|
||||
(function() {
|
||||
var $, $$, Anonymize, AntiAutoplay, ArchiveLink, Banner, Board, Build, Callbacks, Captcha, CatalogLinks, CatalogThread, Clone, Conf, Config, Connection, CrossOrigin, CustomCSS, DataBoard, DeleteLink, DownloadLink, E, Embedding, ExpandComment, ExpandThread, FappeTyme, Favicon, Fetcher, FileInfo, Filter, Flash, Fourchan, Gallery, Get, Header, IDColor, IDHighlight, ImageCommon, ImageExpand, ImageHover, ImageLoader, Index, Keybinds, Linkify, Main, MarkNewIPs, Menu, Metadata, Nav, NormalizeURL, Notice, PSAHiding, PassLink, Polyfill, Post, PostHiding, PostSuccessful, PruneReplies, QR, QuoteBacklink, QuoteCT, QuoteInline, QuoteOP, QuotePreview, QuoteStrikeThrough, QuoteThreading, QuoteYou, Quotify, RandomAccessList, Recursive, Redirect, RelativeDates, RemoveSpoilers, Report, ReportLink, RevealSpoilers, Sauce, Settings, ShimSet, SimpleDict, Thread, ThreadExcerpt, ThreadHiding, ThreadLinks, ThreadStats, ThreadUpdater, ThreadWatcher, Time, UI, Unread, Upvotes, Volume, c, d, doc, g,
|
||||
var $, $$, Anonymize, AntiAutoplay, ArchiveLink, Banner, Board, Build, Callbacks, Captcha, CatalogLinks, CatalogThread, Clone, Conf, Config, Connection, CrossOrigin, CustomCSS, DataBoard, DeleteLink, DownloadLink, E, Embedding, ExpandComment, ExpandThread, FappeTyme, Favicon, Fetcher, FileInfo, Filter, Flash, Fourchan, Gallery, Get, Header, IDColor, IDHighlight, ImageCommon, ImageExpand, ImageHover, ImageLoader, Index, Keybinds, Linkify, Main, MarkNewIPs, Menu, Metadata, Nav, NormalizeURL, Notice, PSAHiding, PassLink, Polyfill, Post, PostHiding, PostSuccessful, PruneReplies, QR, QuoteBacklink, QuoteCT, QuoteInline, QuoteOP, QuotePreview, QuoteStrikeThrough, QuoteThreading, QuoteYou, Quotify, RandomAccessList, Recursive, Redirect, RelativeDates, RemoveSpoilers, Report, ReportLink, RevealSpoilers, Sauce, Settings, ShimSet, SimpleDict, Thread, ThreadExcerpt, ThreadHiding, ThreadLinks, ThreadStats, ThreadUpdater, ThreadWatcher, Time, UI, Unread, Volume, c, d, doc, g,
|
||||
slice = [].slice,
|
||||
indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
|
||||
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
|
||||
@ -270,8 +270,7 @@
|
||||
'Highlight Own Posts': [true, 'Highlights own posts.', 1],
|
||||
'Mark OP Quotes': [true, 'Add \'(OP)\' to OP quotes.'],
|
||||
'Mark Cross-thread Quotes': [true, 'Add \'(Cross-thread)\' to cross-threads quotes.'],
|
||||
'Quote Threading': [false, 'Thread conversations'],
|
||||
'Upvotes': [true, 'Upvote posts.']
|
||||
'Quote Threading': [false, 'Thread conversations']
|
||||
}
|
||||
},
|
||||
imageExpansion: {
|
||||
@ -432,8 +431,7 @@
|
||||
pruneReplies: {
|
||||
'Prune Replies': false,
|
||||
'Max Replies': 1000
|
||||
},
|
||||
upvoteText: ''
|
||||
}
|
||||
};
|
||||
|
||||
Conf = {};
|
||||
@ -445,7 +443,7 @@
|
||||
doc = d.documentElement;
|
||||
|
||||
g = {
|
||||
VERSION: '1.11.29.4',
|
||||
VERSION: '1.11.29.5',
|
||||
NAMESPACE: '4chan X.',
|
||||
boards: {}
|
||||
};
|
||||
@ -7114,103 +7112,6 @@
|
||||
}
|
||||
};
|
||||
|
||||
Upvotes = {
|
||||
count: {},
|
||||
text: '\u305D\u3046\u3060\u306D',
|
||||
regexp: /(?:^>.*\n)+(?:i|top|holy|shit|ay*|oh?|omg|god|jesus|christ|fuck|fukken|fucking?|\s|[.,-])*(?:\u305D\u3046\u3060\u306D|this(?! )|\+1|upvote(?! )d?|under[ -]?rated|\/thread|10\/10|(?:lol|kek|lel|lmao)(?:'?d|[.!]?$)|(?:ha)+[.!]?$|saved|nice(?! )|my sides)(?=\b|\W|$)/gmi,
|
||||
init: function() {
|
||||
var ref;
|
||||
if (!(((ref = g.VIEW) === 'thread' || ref === 'index') && Conf['Upvotes'])) {
|
||||
return;
|
||||
}
|
||||
return Post.callbacks.push({
|
||||
name: 'Upvotes',
|
||||
cb: this.node
|
||||
});
|
||||
},
|
||||
node: function() {
|
||||
var a, context, k, len1, len2, q, quote, quotes, ref, ref1, ref2, results;
|
||||
if (this.isFetchedQuote || ((ref = this.origin) != null ? ref.isFetchedQuote : void 0)) {
|
||||
return;
|
||||
}
|
||||
if (this.isClone) {
|
||||
this.nodes.vote = $('.upvote', this.nodes.info);
|
||||
$.on(this.nodes.vote, 'click', Upvotes.vote);
|
||||
return;
|
||||
}
|
||||
a = $.el('a', {
|
||||
className: 'upvote',
|
||||
href: 'javascript:;',
|
||||
textContent: '+'
|
||||
});
|
||||
$.add(this.nodes.info, a);
|
||||
this.nodes.vote = a;
|
||||
$.on(a, 'click', Upvotes.vote);
|
||||
if (g.VIEW !== 'thread') {
|
||||
return;
|
||||
}
|
||||
Upvotes.count[this.fullID] = 0;
|
||||
quotes = {};
|
||||
ref1 = this.info.comment.match(Upvotes.regexp) || [];
|
||||
for (k = 0, len1 = ref1.length; k < len1; k++) {
|
||||
context = ref1[k];
|
||||
ref2 = context.match(/>>\d+/g) || [];
|
||||
for (q = 0, len2 = ref2.length; q < len2; q++) {
|
||||
quote = ref2[q];
|
||||
quotes[quote.slice(2)] = true;
|
||||
}
|
||||
}
|
||||
results = [];
|
||||
for (quote in quotes) {
|
||||
results.push(Upvotes.increment(g.BOARD + "." + quote));
|
||||
}
|
||||
return results;
|
||||
},
|
||||
increment: function(fullID) {
|
||||
var count, k, len1, post, ref;
|
||||
if (!(fullID in Upvotes.count)) {
|
||||
return;
|
||||
}
|
||||
count = ++Upvotes.count[fullID];
|
||||
post = g.posts[fullID];
|
||||
ref = [post].concat(slice.call(post.clones));
|
||||
for (k = 0, len1 = ref.length; k < len1; k++) {
|
||||
post = ref[k];
|
||||
post.nodes.vote.textContent = Upvotes.text + "x" + count;
|
||||
}
|
||||
},
|
||||
vote: function() {
|
||||
var com, pos, text;
|
||||
if (!QR.postingIsEnabled) {
|
||||
return;
|
||||
}
|
||||
if (QR.nodes) {
|
||||
$.off(QR.nodes.com, 'input', Upvotes.setText);
|
||||
}
|
||||
QR.quote.call(this);
|
||||
com = QR.nodes.com;
|
||||
text = Conf['upvoteText'] + "\n";
|
||||
pos = com.selectionStart;
|
||||
Upvotes.context = com.value.slice(0, pos);
|
||||
com.value = com.value.slice(0, pos) + text + com.value.slice(pos);
|
||||
pos += text.length;
|
||||
com.setSelectionRange(pos, pos);
|
||||
$.event('input', null, com);
|
||||
Upvotes.post = $.id('selected');
|
||||
return $.on(com, 'input', Upvotes.setText);
|
||||
},
|
||||
setText: function() {
|
||||
var context;
|
||||
context = Upvotes.context;
|
||||
if ($.id('selected') === Upvotes.post && this.value.slice(0, context.length) === context) {
|
||||
Conf['upvoteText'] = this.value.slice(context.length).split('\n')[0];
|
||||
return $.set('upvoteText', Conf['upvoteText']);
|
||||
} else {
|
||||
return $.off(this, 'input', Upvotes.setText);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
QR = {
|
||||
mimeTypes: ['image/jpeg', 'image/png', 'image/gif', 'application/pdf', 'application/vnd.adobe.flash.movie', 'application/x-shockwave-flash', 'video/webm'],
|
||||
validExtension: /\.(jpe?g|png|gif|pdf|swf|webm)$/i,
|
||||
@ -21428,13 +21329,6 @@
|
||||
":root.gallery-open.fixed #header-bar:not(.autohide) #shortcuts .fa::before {\n" +
|
||||
" visibility: hidden;\n" +
|
||||
"}\n" +
|
||||
"/* Upvotes */\n" +
|
||||
".upvote {\n" +
|
||||
" margin: 0 4px;\n" +
|
||||
"}\n" +
|
||||
".post .menu-button:not(:last-of-type) {\n" +
|
||||
" margin-right: -4px;\n" +
|
||||
"}\n" +
|
||||
"/* General */\n" +
|
||||
":root.yotsuba .dialog {\n" +
|
||||
" background-color: #F0E0D6;\n" +
|
||||
@ -21962,6 +21856,15 @@
|
||||
":root.md2016 .inline div.post {\n" +
|
||||
" max-width: 100%;\n" +
|
||||
"}\n" +
|
||||
":root.md2016 #unread-line {\n" +
|
||||
" display: block;\n" +
|
||||
" position: relative;\n" +
|
||||
" top: 7.5px;\n" +
|
||||
"}\n" +
|
||||
":root.md2016 .threadContainer {\n" +
|
||||
" margin-left: 26px;\n" +
|
||||
" border-left: none;\n" +
|
||||
"}\n" +
|
||||
"/* XXX Moved to end of stylesheet to avoid breaking whole stylesheet in Maxthon. */\n" +
|
||||
"@supports (text-decoration-style: dashed) or (-moz-text-decoration-style: dashed) {\n" +
|
||||
" .quotelink.forwardlink,\n" +
|
||||
@ -21975,7 +21878,7 @@
|
||||
cssWWW: "#captcha-cnt {\n" +
|
||||
" height: auto;\n" +
|
||||
"}",
|
||||
features: [['Polyfill', Polyfill], ['Normalize URL', NormalizeURL], ['Captcha Configuration', Captcha.replace], ['Redirect', Redirect], ['Header', Header], ['Catalog Links', CatalogLinks], ['Settings', Settings], ['Index Generator', Index], ['Disable Autoplay', AntiAutoplay], ['Announcement Hiding', PSAHiding], ['Fourchan thingies', Fourchan], ['Color User IDs', IDColor], ['Highlight by User ID', IDHighlight], ['Custom CSS', CustomCSS], ['Thread Links', ThreadLinks], ['Linkify', Linkify], ['Reveal Spoilers', RemoveSpoilers], ['Resurrect Quotes', Quotify], ['Filter', Filter], ['Thread Hiding Buttons', ThreadHiding], ['Reply Hiding Buttons', PostHiding], ['Recursive', Recursive], ['Strike-through Quotes', QuoteStrikeThrough], ['Quick Reply', QR], ['Cooldown', QR.cooldown], ['Pass Link', PassLink], ['Menu', Menu], ['Index Generator (Menu)', Index.menu], ['Report Link', ReportLink], ['Thread Hiding (Menu)', ThreadHiding.menu], ['Reply Hiding (Menu)', PostHiding.menu], ['Delete Link', DeleteLink], ['Filter (Menu)', Filter.menu], ['Edit Link', QR.oekaki.menu], ['Download Link', DownloadLink], ['Archive Link', ArchiveLink], ['Upvotes', Upvotes], ['Quote Inlining', QuoteInline], ['Quote Previewing', QuotePreview], ['Quote Backlinks', QuoteBacklink], ['Mark Quotes of You', QuoteYou], ['Mark OP Quotes', QuoteOP], ['Mark Cross-thread Quotes', QuoteCT], ['Anonymize', Anonymize], ['Time Formatting', Time], ['Relative Post Dates', RelativeDates], ['File Info Formatting', FileInfo], ['Fappe Tyme', FappeTyme], ['Gallery', Gallery], ['Gallery (menu)', Gallery.menu], ['Sauce', Sauce], ['Image Expansion', ImageExpand], ['Image Expansion (Menu)', ImageExpand.menu], ['Reveal Spoiler Thumbnails', RevealSpoilers], ['Image Loading', ImageLoader], ['Image Hover', ImageHover], ['Volume Control', Volume], ['WEBM Metadata', Metadata], ['Comment Expansion', ExpandComment], ['Thread Expansion', ExpandThread], ['Thread Excerpt', ThreadExcerpt], ['Favicon', Favicon], ['Unread', Unread], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Watcher', ThreadWatcher], ['Thread Watcher (Menu)', ThreadWatcher.menu], ['Mark New IPs', MarkNewIPs], ['Index Navigation', Nav], ['Keybinds', Keybinds], ['Banner', Banner], ['Flash Features', Flash], ['Prune Replies', PruneReplies]]
|
||||
features: [['Polyfill', Polyfill], ['Normalize URL', NormalizeURL], ['Captcha Configuration', Captcha.replace], ['Redirect', Redirect], ['Header', Header], ['Catalog Links', CatalogLinks], ['Settings', Settings], ['Index Generator', Index], ['Disable Autoplay', AntiAutoplay], ['Announcement Hiding', PSAHiding], ['Fourchan thingies', Fourchan], ['Color User IDs', IDColor], ['Highlight by User ID', IDHighlight], ['Custom CSS', CustomCSS], ['Thread Links', ThreadLinks], ['Linkify', Linkify], ['Reveal Spoilers', RemoveSpoilers], ['Resurrect Quotes', Quotify], ['Filter', Filter], ['Thread Hiding Buttons', ThreadHiding], ['Reply Hiding Buttons', PostHiding], ['Recursive', Recursive], ['Strike-through Quotes', QuoteStrikeThrough], ['Quick Reply', QR], ['Cooldown', QR.cooldown], ['Pass Link', PassLink], ['Menu', Menu], ['Index Generator (Menu)', Index.menu], ['Report Link', ReportLink], ['Thread Hiding (Menu)', ThreadHiding.menu], ['Reply Hiding (Menu)', PostHiding.menu], ['Delete Link', DeleteLink], ['Filter (Menu)', Filter.menu], ['Edit Link', QR.oekaki.menu], ['Download Link', DownloadLink], ['Archive Link', ArchiveLink], ['Quote Inlining', QuoteInline], ['Quote Previewing', QuotePreview], ['Quote Backlinks', QuoteBacklink], ['Mark Quotes of You', QuoteYou], ['Mark OP Quotes', QuoteOP], ['Mark Cross-thread Quotes', QuoteCT], ['Anonymize', Anonymize], ['Time Formatting', Time], ['Relative Post Dates', RelativeDates], ['File Info Formatting', FileInfo], ['Fappe Tyme', FappeTyme], ['Gallery', Gallery], ['Gallery (menu)', Gallery.menu], ['Sauce', Sauce], ['Image Expansion', ImageExpand], ['Image Expansion (Menu)', ImageExpand.menu], ['Reveal Spoiler Thumbnails', RevealSpoilers], ['Image Loading', ImageLoader], ['Image Hover', ImageHover], ['Volume Control', Volume], ['WEBM Metadata', Metadata], ['Comment Expansion', ExpandComment], ['Thread Expansion', ExpandThread], ['Thread Excerpt', ThreadExcerpt], ['Favicon', Favicon], ['Unread', Unread], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Watcher', ThreadWatcher], ['Thread Watcher (Menu)', ThreadWatcher.menu], ['Mark New IPs', MarkNewIPs], ['Index Navigation', Nav], ['Keybinds', Keybinds], ['Banner', Banner], ['Flash Features', Flash], ['Prune Replies', PruneReplies]]
|
||||
};
|
||||
|
||||
Main.init();
|
||||
|
||||
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name 4chan X
|
||||
// @version 1.11.29.4
|
||||
// @version 1.11.29.5
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
// Generated by CoffeeScript
|
||||
// ==UserScript==
|
||||
// @name 4chan X
|
||||
// @version 1.11.29.4
|
||||
// @version 1.11.29.5
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
@ -119,7 +119,7 @@
|
||||
'use strict';
|
||||
|
||||
(function() {
|
||||
var $, $$, Anonymize, AntiAutoplay, ArchiveLink, Banner, Board, Build, Callbacks, Captcha, CatalogLinks, CatalogThread, Clone, Conf, Config, Connection, CrossOrigin, CustomCSS, DataBoard, DeleteLink, DownloadLink, E, Embedding, ExpandComment, ExpandThread, FappeTyme, Favicon, Fetcher, FileInfo, Filter, Flash, Fourchan, Gallery, Get, Header, IDColor, IDHighlight, ImageCommon, ImageExpand, ImageHover, ImageLoader, Index, Keybinds, Linkify, Main, MarkNewIPs, Menu, Metadata, Nav, NormalizeURL, Notice, PSAHiding, PassLink, Polyfill, Post, PostHiding, PostSuccessful, PruneReplies, QR, QuoteBacklink, QuoteCT, QuoteInline, QuoteOP, QuotePreview, QuoteStrikeThrough, QuoteThreading, QuoteYou, Quotify, RandomAccessList, Recursive, Redirect, RelativeDates, RemoveSpoilers, Report, ReportLink, RevealSpoilers, Sauce, Settings, ShimSet, SimpleDict, Thread, ThreadExcerpt, ThreadHiding, ThreadLinks, ThreadStats, ThreadUpdater, ThreadWatcher, Time, UI, Unread, Upvotes, Volume, c, d, doc, g,
|
||||
var $, $$, Anonymize, AntiAutoplay, ArchiveLink, Banner, Board, Build, Callbacks, Captcha, CatalogLinks, CatalogThread, Clone, Conf, Config, Connection, CrossOrigin, CustomCSS, DataBoard, DeleteLink, DownloadLink, E, Embedding, ExpandComment, ExpandThread, FappeTyme, Favicon, Fetcher, FileInfo, Filter, Flash, Fourchan, Gallery, Get, Header, IDColor, IDHighlight, ImageCommon, ImageExpand, ImageHover, ImageLoader, Index, Keybinds, Linkify, Main, MarkNewIPs, Menu, Metadata, Nav, NormalizeURL, Notice, PSAHiding, PassLink, Polyfill, Post, PostHiding, PostSuccessful, PruneReplies, QR, QuoteBacklink, QuoteCT, QuoteInline, QuoteOP, QuotePreview, QuoteStrikeThrough, QuoteThreading, QuoteYou, Quotify, RandomAccessList, Recursive, Redirect, RelativeDates, RemoveSpoilers, Report, ReportLink, RevealSpoilers, Sauce, Settings, ShimSet, SimpleDict, Thread, ThreadExcerpt, ThreadHiding, ThreadLinks, ThreadStats, ThreadUpdater, ThreadWatcher, Time, UI, Unread, Volume, c, d, doc, g,
|
||||
slice = [].slice,
|
||||
indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
|
||||
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
|
||||
@ -270,8 +270,7 @@
|
||||
'Highlight Own Posts': [true, 'Highlights own posts.', 1],
|
||||
'Mark OP Quotes': [true, 'Add \'(OP)\' to OP quotes.'],
|
||||
'Mark Cross-thread Quotes': [true, 'Add \'(Cross-thread)\' to cross-threads quotes.'],
|
||||
'Quote Threading': [false, 'Thread conversations'],
|
||||
'Upvotes': [true, 'Upvote posts.']
|
||||
'Quote Threading': [false, 'Thread conversations']
|
||||
}
|
||||
},
|
||||
imageExpansion: {
|
||||
@ -432,8 +431,7 @@
|
||||
pruneReplies: {
|
||||
'Prune Replies': false,
|
||||
'Max Replies': 1000
|
||||
},
|
||||
upvoteText: ''
|
||||
}
|
||||
};
|
||||
|
||||
Conf = {};
|
||||
@ -445,7 +443,7 @@
|
||||
doc = d.documentElement;
|
||||
|
||||
g = {
|
||||
VERSION: '1.11.29.4',
|
||||
VERSION: '1.11.29.5',
|
||||
NAMESPACE: '4chan X.',
|
||||
boards: {}
|
||||
};
|
||||
@ -7114,103 +7112,6 @@
|
||||
}
|
||||
};
|
||||
|
||||
Upvotes = {
|
||||
count: {},
|
||||
text: '\u305D\u3046\u3060\u306D',
|
||||
regexp: /(?:^>.*\n)+(?:i|top|holy|shit|ay*|oh?|omg|god|jesus|christ|fuck|fukken|fucking?|\s|[.,-])*(?:\u305D\u3046\u3060\u306D|this(?! )|\+1|upvote(?! )d?|under[ -]?rated|\/thread|10\/10|(?:lol|kek|lel|lmao)(?:'?d|[.!]?$)|(?:ha)+[.!]?$|saved|nice(?! )|my sides)(?=\b|\W|$)/gmi,
|
||||
init: function() {
|
||||
var ref;
|
||||
if (!(((ref = g.VIEW) === 'thread' || ref === 'index') && Conf['Upvotes'])) {
|
||||
return;
|
||||
}
|
||||
return Post.callbacks.push({
|
||||
name: 'Upvotes',
|
||||
cb: this.node
|
||||
});
|
||||
},
|
||||
node: function() {
|
||||
var a, context, k, len1, len2, q, quote, quotes, ref, ref1, ref2, results;
|
||||
if (this.isFetchedQuote || ((ref = this.origin) != null ? ref.isFetchedQuote : void 0)) {
|
||||
return;
|
||||
}
|
||||
if (this.isClone) {
|
||||
this.nodes.vote = $('.upvote', this.nodes.info);
|
||||
$.on(this.nodes.vote, 'click', Upvotes.vote);
|
||||
return;
|
||||
}
|
||||
a = $.el('a', {
|
||||
className: 'upvote',
|
||||
href: 'javascript:;',
|
||||
textContent: '+'
|
||||
});
|
||||
$.add(this.nodes.info, a);
|
||||
this.nodes.vote = a;
|
||||
$.on(a, 'click', Upvotes.vote);
|
||||
if (g.VIEW !== 'thread') {
|
||||
return;
|
||||
}
|
||||
Upvotes.count[this.fullID] = 0;
|
||||
quotes = {};
|
||||
ref1 = this.info.comment.match(Upvotes.regexp) || [];
|
||||
for (k = 0, len1 = ref1.length; k < len1; k++) {
|
||||
context = ref1[k];
|
||||
ref2 = context.match(/>>\d+/g) || [];
|
||||
for (q = 0, len2 = ref2.length; q < len2; q++) {
|
||||
quote = ref2[q];
|
||||
quotes[quote.slice(2)] = true;
|
||||
}
|
||||
}
|
||||
results = [];
|
||||
for (quote in quotes) {
|
||||
results.push(Upvotes.increment(g.BOARD + "." + quote));
|
||||
}
|
||||
return results;
|
||||
},
|
||||
increment: function(fullID) {
|
||||
var count, k, len1, post, ref;
|
||||
if (!(fullID in Upvotes.count)) {
|
||||
return;
|
||||
}
|
||||
count = ++Upvotes.count[fullID];
|
||||
post = g.posts[fullID];
|
||||
ref = [post].concat(slice.call(post.clones));
|
||||
for (k = 0, len1 = ref.length; k < len1; k++) {
|
||||
post = ref[k];
|
||||
post.nodes.vote.textContent = Upvotes.text + "x" + count;
|
||||
}
|
||||
},
|
||||
vote: function() {
|
||||
var com, pos, text;
|
||||
if (!QR.postingIsEnabled) {
|
||||
return;
|
||||
}
|
||||
if (QR.nodes) {
|
||||
$.off(QR.nodes.com, 'input', Upvotes.setText);
|
||||
}
|
||||
QR.quote.call(this);
|
||||
com = QR.nodes.com;
|
||||
text = Conf['upvoteText'] + "\n";
|
||||
pos = com.selectionStart;
|
||||
Upvotes.context = com.value.slice(0, pos);
|
||||
com.value = com.value.slice(0, pos) + text + com.value.slice(pos);
|
||||
pos += text.length;
|
||||
com.setSelectionRange(pos, pos);
|
||||
$.event('input', null, com);
|
||||
Upvotes.post = $.id('selected');
|
||||
return $.on(com, 'input', Upvotes.setText);
|
||||
},
|
||||
setText: function() {
|
||||
var context;
|
||||
context = Upvotes.context;
|
||||
if ($.id('selected') === Upvotes.post && this.value.slice(0, context.length) === context) {
|
||||
Conf['upvoteText'] = this.value.slice(context.length).split('\n')[0];
|
||||
return $.set('upvoteText', Conf['upvoteText']);
|
||||
} else {
|
||||
return $.off(this, 'input', Upvotes.setText);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
QR = {
|
||||
mimeTypes: ['image/jpeg', 'image/png', 'image/gif', 'application/pdf', 'application/vnd.adobe.flash.movie', 'application/x-shockwave-flash', 'video/webm'],
|
||||
validExtension: /\.(jpe?g|png|gif|pdf|swf|webm)$/i,
|
||||
@ -21428,13 +21329,6 @@
|
||||
":root.gallery-open.fixed #header-bar:not(.autohide) #shortcuts .fa::before {\n" +
|
||||
" visibility: hidden;\n" +
|
||||
"}\n" +
|
||||
"/* Upvotes */\n" +
|
||||
".upvote {\n" +
|
||||
" margin: 0 4px;\n" +
|
||||
"}\n" +
|
||||
".post .menu-button:not(:last-of-type) {\n" +
|
||||
" margin-right: -4px;\n" +
|
||||
"}\n" +
|
||||
"/* General */\n" +
|
||||
":root.yotsuba .dialog {\n" +
|
||||
" background-color: #F0E0D6;\n" +
|
||||
@ -21962,6 +21856,15 @@
|
||||
":root.md2016 .inline div.post {\n" +
|
||||
" max-width: 100%;\n" +
|
||||
"}\n" +
|
||||
":root.md2016 #unread-line {\n" +
|
||||
" display: block;\n" +
|
||||
" position: relative;\n" +
|
||||
" top: 7.5px;\n" +
|
||||
"}\n" +
|
||||
":root.md2016 .threadContainer {\n" +
|
||||
" margin-left: 26px;\n" +
|
||||
" border-left: none;\n" +
|
||||
"}\n" +
|
||||
"/* XXX Moved to end of stylesheet to avoid breaking whole stylesheet in Maxthon. */\n" +
|
||||
"@supports (text-decoration-style: dashed) or (-moz-text-decoration-style: dashed) {\n" +
|
||||
" .quotelink.forwardlink,\n" +
|
||||
@ -21975,7 +21878,7 @@
|
||||
cssWWW: "#captcha-cnt {\n" +
|
||||
" height: auto;\n" +
|
||||
"}",
|
||||
features: [['Polyfill', Polyfill], ['Normalize URL', NormalizeURL], ['Captcha Configuration', Captcha.replace], ['Redirect', Redirect], ['Header', Header], ['Catalog Links', CatalogLinks], ['Settings', Settings], ['Index Generator', Index], ['Disable Autoplay', AntiAutoplay], ['Announcement Hiding', PSAHiding], ['Fourchan thingies', Fourchan], ['Color User IDs', IDColor], ['Highlight by User ID', IDHighlight], ['Custom CSS', CustomCSS], ['Thread Links', ThreadLinks], ['Linkify', Linkify], ['Reveal Spoilers', RemoveSpoilers], ['Resurrect Quotes', Quotify], ['Filter', Filter], ['Thread Hiding Buttons', ThreadHiding], ['Reply Hiding Buttons', PostHiding], ['Recursive', Recursive], ['Strike-through Quotes', QuoteStrikeThrough], ['Quick Reply', QR], ['Cooldown', QR.cooldown], ['Pass Link', PassLink], ['Menu', Menu], ['Index Generator (Menu)', Index.menu], ['Report Link', ReportLink], ['Thread Hiding (Menu)', ThreadHiding.menu], ['Reply Hiding (Menu)', PostHiding.menu], ['Delete Link', DeleteLink], ['Filter (Menu)', Filter.menu], ['Edit Link', QR.oekaki.menu], ['Download Link', DownloadLink], ['Archive Link', ArchiveLink], ['Upvotes', Upvotes], ['Quote Inlining', QuoteInline], ['Quote Previewing', QuotePreview], ['Quote Backlinks', QuoteBacklink], ['Mark Quotes of You', QuoteYou], ['Mark OP Quotes', QuoteOP], ['Mark Cross-thread Quotes', QuoteCT], ['Anonymize', Anonymize], ['Time Formatting', Time], ['Relative Post Dates', RelativeDates], ['File Info Formatting', FileInfo], ['Fappe Tyme', FappeTyme], ['Gallery', Gallery], ['Gallery (menu)', Gallery.menu], ['Sauce', Sauce], ['Image Expansion', ImageExpand], ['Image Expansion (Menu)', ImageExpand.menu], ['Reveal Spoiler Thumbnails', RevealSpoilers], ['Image Loading', ImageLoader], ['Image Hover', ImageHover], ['Volume Control', Volume], ['WEBM Metadata', Metadata], ['Comment Expansion', ExpandComment], ['Thread Expansion', ExpandThread], ['Thread Excerpt', ThreadExcerpt], ['Favicon', Favicon], ['Unread', Unread], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Watcher', ThreadWatcher], ['Thread Watcher (Menu)', ThreadWatcher.menu], ['Mark New IPs', MarkNewIPs], ['Index Navigation', Nav], ['Keybinds', Keybinds], ['Banner', Banner], ['Flash Features', Flash], ['Prune Replies', PruneReplies]]
|
||||
features: [['Polyfill', Polyfill], ['Normalize URL', NormalizeURL], ['Captcha Configuration', Captcha.replace], ['Redirect', Redirect], ['Header', Header], ['Catalog Links', CatalogLinks], ['Settings', Settings], ['Index Generator', Index], ['Disable Autoplay', AntiAutoplay], ['Announcement Hiding', PSAHiding], ['Fourchan thingies', Fourchan], ['Color User IDs', IDColor], ['Highlight by User ID', IDHighlight], ['Custom CSS', CustomCSS], ['Thread Links', ThreadLinks], ['Linkify', Linkify], ['Reveal Spoilers', RemoveSpoilers], ['Resurrect Quotes', Quotify], ['Filter', Filter], ['Thread Hiding Buttons', ThreadHiding], ['Reply Hiding Buttons', PostHiding], ['Recursive', Recursive], ['Strike-through Quotes', QuoteStrikeThrough], ['Quick Reply', QR], ['Cooldown', QR.cooldown], ['Pass Link', PassLink], ['Menu', Menu], ['Index Generator (Menu)', Index.menu], ['Report Link', ReportLink], ['Thread Hiding (Menu)', ThreadHiding.menu], ['Reply Hiding (Menu)', PostHiding.menu], ['Delete Link', DeleteLink], ['Filter (Menu)', Filter.menu], ['Edit Link', QR.oekaki.menu], ['Download Link', DownloadLink], ['Archive Link', ArchiveLink], ['Quote Inlining', QuoteInline], ['Quote Previewing', QuotePreview], ['Quote Backlinks', QuoteBacklink], ['Mark Quotes of You', QuoteYou], ['Mark OP Quotes', QuoteOP], ['Mark Cross-thread Quotes', QuoteCT], ['Anonymize', Anonymize], ['Time Formatting', Time], ['Relative Post Dates', RelativeDates], ['File Info Formatting', FileInfo], ['Fappe Tyme', FappeTyme], ['Gallery', Gallery], ['Gallery (menu)', Gallery.menu], ['Sauce', Sauce], ['Image Expansion', ImageExpand], ['Image Expansion (Menu)', ImageExpand.menu], ['Reveal Spoiler Thumbnails', RevealSpoilers], ['Image Loading', ImageLoader], ['Image Hover', ImageHover], ['Volume Control', Volume], ['WEBM Metadata', Metadata], ['Comment Expansion', ExpandComment], ['Thread Expansion', ExpandThread], ['Thread Excerpt', ThreadExcerpt], ['Favicon', Favicon], ['Unread', Unread], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Watcher', ThreadWatcher], ['Thread Watcher (Menu)', ThreadWatcher.menu], ['Mark New IPs', MarkNewIPs], ['Index Navigation', Nav], ['Keybinds', Keybinds], ['Banner', Banner], ['Flash Features', Flash], ['Prune Replies', PruneReplies]]
|
||||
};
|
||||
|
||||
Main.init();
|
||||
|
||||
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
|
||||
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
|
||||
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X-beta.crx' version='1.11.29.4' />
|
||||
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X-beta.crx' version='1.11.29.5' />
|
||||
</app>
|
||||
</gupdate>
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
|
||||
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
|
||||
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X.crx' version='1.11.29.4' />
|
||||
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X.crx' version='1.11.29.5' />
|
||||
</app>
|
||||
</gupdate>
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{
|
||||
"version": "1.11.29.4",
|
||||
"date": "2016-04-02T03:36:56.776Z"
|
||||
"version": "1.11.29.5",
|
||||
"date": "2016-04-02T09:30:52.063Z"
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user