diff --git a/4chan_x.user.js b/4chan_x.user.js
index c33e9a5a9..cfa44e7bd 100644
--- a/4chan_x.user.js
+++ b/4chan_x.user.js
@@ -61,13 +61,12 @@
*/
(function() {
- var $, $$, DAY, Favicon, HOUR, MINUTE, Main, NAMESPACE, QR, SECOND, Time, anonymize, conf, config, d, expandComment, expandThread, firstRun, g, getTitle, imgExpand, imgGif, imgHover, imgPreloading, key, keybinds, log, nav, nodeInserted, options, pathname, quoteBacklink, quoteInline, quoteOP, quotePreview, redirect, replyHiding, reportButton, revealSpoilers, sauce, temp, threadHiding, threadStats, threading, titlePost, ui, unread, updater, val, watcher;
+ var $, $$, DAY, Favicon, HOUR, MINUTE, Main, NAMESPACE, QR, SECOND, Time, anonymize, conf, config, d, expandComment, expandThread, filter, firstRun, g, getTitle, imgExpand, imgGif, imgHover, imgPreloading, key, keybinds, log, nav, nodeInserted, options, pathname, quoteBacklink, quoteInline, quoteOP, quotePreview, redirect, replyHiding, reportButton, revealSpoilers, sauce, temp, threadHiding, threadStats, threading, titlePost, ui, unread, updater, val, watcher;
var __slice = Array.prototype.slice;
config = {
main: {
Enhancing: {
'404 Redirect': [true, 'Redirect dead threads'],
- 'Anonymize': [false, 'Make everybody anonymous'],
'Keybinds': [true, 'Binds actions to keys'],
'Time Formatting': [true, 'Arbitrarily formatted timestamps, using your local time'],
'Report Button': [true, 'Add report buttons'],
@@ -76,7 +75,9 @@
'Index Navigation': [true, 'Navigate to previous / next thread'],
'Reply Navigation': [false, 'Navigate to top / bottom of thread']
},
- Hiding: {
+ Filtering: {
+ 'Anonymize': [false, 'Make everybody anonymous'],
+ 'Filter': [false, 'Self-moderation placebo'],
'Reply Hiding': [true, 'Hide single replies'],
'Thread Hiding': [true, 'Hide entire threads'],
'Show Stubs': [true, 'Of hidden threads / replies']
@@ -516,6 +517,15 @@
}
return Array.prototype.slice.call(root.querySelectorAll(selector));
};
+ filter = {
+ init: function() {
+ return HTMLBlockquoteElement.prototype.toString = function() {
+ return ($.el('span', {
+ innerHTML: this.innerHTML.replace(/
/g, '\n')
+ })).textContent;
+ };
+ }
+ };
expandComment = {
init: function() {
var a, _i, _len, _ref, _results;
@@ -2846,6 +2856,9 @@
if (g.REPLY && (id = location.hash.slice(1)) && /\d/.test(id[0]) && !$.id(id)) {
scrollTo(0, d.body.scrollHeight);
}
+ if (conf['Filter']) {
+ filter.init();
+ }
if (conf['Image Expansion']) {
imgExpand.init();
}
diff --git a/script.coffee b/script.coffee
index fd975629e..8dcf594dd 100644
--- a/script.coffee
+++ b/script.coffee
@@ -2,7 +2,6 @@ config =
main:
Enhancing:
'404 Redirect': [true, 'Redirect dead threads']
- 'Anonymize': [false, 'Make everybody anonymous']
'Keybinds': [true, 'Binds actions to keys']
'Time Formatting': [true, 'Arbitrarily formatted timestamps, using your local time']
'Report Button': [true, 'Add report buttons']
@@ -10,7 +9,9 @@ config =
'Thread Expansion': [true, 'View all replies']
'Index Navigation': [true, 'Navigate to previous / next thread']
'Reply Navigation': [false, 'Navigate to top / bottom of thread']
- Hiding:
+ Filtering:
+ 'Anonymize': [false, 'Make everybody anonymous']
+ 'Filter': [false, 'Self-moderation placebo']
'Reply Hiding': [true, 'Hide single replies']
'Thread Hiding': [true, 'Hide entire threads']
'Show Stubs': [true, 'Of hidden threads / replies']
@@ -374,6 +375,11 @@ else
$$ = (selector, root=d.body) ->
Array::slice.call root.querySelectorAll selector
+filter =
+ init: ->
+ HTMLBlockquoteElement.prototype.toString = ->
+ return ($.el 'span', innerHTML: @innerHTML.replace /
/g, '\n').textContent
+
expandComment =
init: ->
for a in $$ 'span.abbr a'
@@ -2183,6 +2189,9 @@ Main =
if g.REPLY and (id = location.hash[1..]) and /\d/.test(id[0]) and !$.id(id)
scrollTo 0, d.body.scrollHeight
+ if conf['Filter']
+ filter.init()
+
if conf['Image Expansion']
imgExpand.init()