From 4d4514234515bc4e41b08d9b54adc7c1fcef4b4d Mon Sep 17 00:00:00 2001 From: Zixaphir Date: Mon, 22 Apr 2013 18:25:30 -0700 Subject: [PATCH] Redirect.to, modularized. --- builds/4chan-X.js | 206 +++++++++++++++----------- builds/4chan-X.user.js | 206 +++++++++++++++----------- builds/crx.crx | Bin 82885 -> 83569 bytes builds/crx/script.js | 206 +++++++++++++++----------- src/features/misc/redirection.coffee | 115 +++++++++----- src/features/monitoring/unread.coffee | 2 +- src/main.coffee | 2 + src/settings.coffee | 21 +++ 8 files changed, 473 insertions(+), 285 deletions(-) diff --git a/builds/4chan-X.js b/builds/4chan-X.js index 46f944d28..d903c28a3 100644 --- a/builds/4chan-X.js +++ b/builds/4chan-X.js @@ -5242,6 +5242,17 @@ }; Redirect = { + init: function() { + return $.sync('archs', this.updateArchives); + }, + updateArchives: function() { + return $.get('archivers', {}, function(_arg) { + var archivers; + + archivers = _arg.archivers; + return Conf['archivers'] = archivers; + }); + }, image: function(boardID, filename) { switch (boardID) { case 'a': @@ -5282,91 +5293,99 @@ } }, post: function(boardID, postID) { - switch (boardID) { - case 'a': - case 'co': - case 'gd': - case 'jp': - case 'm': - case 'q': - case 'sp': - case 'tg': - case 'tv': - case 'v': - case 'vg': - case 'vp': - case 'vr': - case 'wsg': - return "https://archive.foolz.us/_/api/chan/post/?board=" + boardID + "&num=" + postID; - case 'u': - return "https://nsfw.foolz.us/_/api/chan/post/?board=" + boardID + "&num=" + postID; - case 'c': - case 'int': - case 'out': - case 'po': - return "//archive.thedarkcave.org/_/api/chan/post/?board=" + boardID + "&num=" + postID; - case 'hr': - case 'x': - return "http://archive.4plebs.org/_/api/chan/post/?board=" + boardID + "&num=" + postID; + var archive, name, _base, _ref; + + if (Redirect.post[boardID] == null) { + _ref = this.archiver; + for (name in _ref) { + archive = _ref[name]; + if (archive.type === 'foolfuuka' && archive.boards.contains(boardID)) { + Redirect.post[boardID] = archive.base; + break; + } + } + (_base = Redirect.post)[boardID] || (_base[boardID] = false); + } + if (Redirect.post[boardID]) { + return "" + Redirect.post[boardID] + "/_/api/chan/post/?board=" + boardID + "&num=" + postID; + } else { + return null; } }, + select: function(board) { + var archive, name, _ref, _results; + + _ref = this.archiver; + _results = []; + for (name in _ref) { + archive = _ref[name]; + if (!archive.boards.contains(board)) { + continue; + } + _results.push(name); + } + return _results; + }, to: function(data) { - var boardID; + var arch, archive, boardID; boardID = data.boardID; - switch (boardID) { - case 'a': - case 'co': - case 'gd': - case 'jp': - case 'm': - case 'q': - case 'sp': - case 'tg': - case 'tv': - case 'v': - case 'vg': - case 'vp': - case 'vr': - case 'wsg': - return Redirect.path('//archive.foolz.us', 'foolfuuka', data); - case 'u': - return Redirect.path('//nsfw.foolz.us', 'foolfuuka', data); - case 'int': - case 'out': - case 'po': - return Redirect.path('//archive.thedarkcave.org', 'foolfuuka', data); - case 'hr': - return Redirect.path('http://archive.4plebs.org', 'foolfuuka', data); - case 'ck': - case 'fa': - case 'lit': - case 's4s': - return Redirect.path('//fuuka.warosu.org', 'fuuka', data); - case 'diy': - case 'g': - case 'sci': - return Redirect.path('//archive.installgentoo.net', 'fuuka', data); - case 'cgl': - case 'mu': - case 'w': - return Redirect.path('//rbt.asia', 'fuuka', data); - case 'an': - case 'fit': - case 'k': - case 'mlp': - case 'r9k': - case 'toy': - case 'x': - return Redirect.path('http://archive.heinessen.com', 'fuuka', data); - case 'c': - return Redirect.path('//archive.nyafuu.org', 'fuuka', data); - default: - if (data.threadID) { - return "//boards.4chan.org/" + boardID + "/"; - } else { - return ''; - } + if ((arch = Conf.archivers[boardID]) == null) { + Conf.archivers[boardID] = arch = this.select(boardID)[0]; + $.set('archivers', Conf.archivers); + } + return (arch && (archive = this.archiver[arch]) ? Redirect.path(archive.base, archive.type, data) : data.threadID ? "//boards.4chan.org/" + boardID + "/" : null); + }, + archiver: { + 'Foolz': { + base: 'https://archive.foolz.us', + boards: ['a', 'co', 'gd', 'jp', 'm', 'q', 'sp', 'tg', 'tv', 'v', 'vg', 'vp', 'vr', 'wsg'], + type: 'foolfuuka' + }, + 'NSFWFoolz': { + base: 'https://nsfw.foolz.us', + boards: ['u'], + type: 'foolfuuka' + }, + 'TheDarkCave': { + base: 'http://archive.thedarkcave.org', + boards: ['c', 'int', 'out', 'po'], + type: 'foolfuuka' + }, + '4plebs': { + base: 'http://archive.4plebs.org', + boards: ['hr', 'tg', 'tv', 'x'], + base: 'foolfuuka' + }, + 'Warosu': { + base: '//fuuka.warosu.org', + boards: ['cgl', 'ck', 'fa', 'jp', 'lit', 's4s', 'q', 'tg'], + type: 'fuuka' + }, + 'RebeccaBlackTech': { + base: '//rbt.asia', + boards: ['an', 'cgl', 'g', 'mu', 'w'], + type: 'fuuka_mail' + }, + 'InstallGentoo': { + base: '//archive.installgentoo.net', + boards: ['diy', 'g', 'sci'], + type: 'fuuka' + }, + 'Heinessen': { + base: 'http://archive.heinessen.com', + boards: ['an', 'fit', 'k', 'mlp', 'r9k', 'toy', 'x'], + type: 'fuuka' + }, + 'Cliche': { + base: '//www.cliché.net/4chan/cgi-board.pl', + boards: ['e'], + type: 'fuuka' + }, + 'NyaFuu': { + base: '//archive.nyafuu.org', + boards: ['c', 'w'], + type: 'fuuka' } }, path: function(base, archiver, data) { @@ -6424,7 +6443,7 @@ }); } }, - scroll: function() { + scroll: function(posts) { var hash, root; if ((hash = location.hash.match(/\d+/)) && hash[0] in this.posts) { @@ -8977,9 +8996,9 @@ return $.on(sauce, 'change', $.cb.value); }, rice: function(section) { - var event, input, inputs, items, name, _i, _len, _ref; + var archiver, event, input, inputs, items, name, toSelect, _i, _j, _len, _len1, _ref; - section.innerHTML = "
\n Custom Board Navigation is disabled.\n
\n
In the following, board can translate to a board ID (a, b, etc...), the current board (current), or the Status/Twitter link (status, @).
\n
\n For example:
\n [ toggle-all ] [current-title] [g-title / a-title / jp-title] [x / wsg / h] [t-text:\"Piracy\"]
\n will give you
\n [ + ] [Technology] [Technology / Anime & Manga / Otaku Culture] [x / wsg / h] [Piracy]
\n if you are on /g/.\n
\n
Board link: board
\n
Title link: board-title
\n
Board link (Replace with title when on that board): board-replace
\n
Full text link: board-full
\n
Custom text link: board-text:\"VIP Board\"
\n
Index-only link: board-index
\n
Catalog-only link: board-catalog
\n
Combinations are possible: board-index-text:\"VIP Index\"
\n
Full board list toggle: toggle-all
\n
\n\n
\n Time Formatting is disabled.\n
:
\n
Supported format specifiers:
\n
Day: %a, %A, %d, %e
\n
Month: %m, %b, %B
\n
Year: %y
\n
Hour: %k, %H, %l, %I, %p, %P
\n
Minute: %M
\n
Second: %S
\n
\n\n
\n Quote Backlinks formatting is disabled.\n
:
\n
\n\n
\n File Info Formatting is disabled.\n
:
\n
Link: %l (truncated), %L (untruncated), %T (Unix timestamp)
\n
Original file name: %n (truncated), %N (untruncated), %t (Unix timestamp)
\n
Spoiler indicator: %p
\n
Size: %B (Bytes), %K (KB), %M (MB), %s (4chan default)
\n
Resolution: %r (Displays 'PDF' for PDF files)
\n
\n\n
\n Unread Tab Icon is disabled.\n \n \n
\n\n
\n \n \n \n \n \n
"; + section.innerHTML = "
\n Archiver\n Select an Archiver for this board:\n \n
\n
\n Custom Board Navigation is disabled.\n
\n
In the following, board can translate to a board ID (a, b, etc...), the current board (current), or the Status/Twitter link (status, @).
\n
\n For example:
\n [ toggle-all ] [current-title] [g-title / a-title / jp-title] [x / wsg / h] [t-text:\"Piracy\"]
\n will give you
\n [ + ] [Technology] [Technology / Anime & Manga / Otaku Culture] [x / wsg / h] [Piracy]
\n if you are on /g/.\n
\n
Board link: board
\n
Title link: board-title
\n
Board link (Replace with title when on that board): board-replace
\n
Full text link: board-full
\n
Custom text link: board-text:\"VIP Board\"
\n
Index-only link: board-index
\n
Catalog-only link: board-catalog
\n
Combinations are possible: board-index-text:\"VIP Index\"
\n
Full board list toggle: toggle-all
\n
\n\n
\n Time Formatting is disabled.\n
:
\n
Supported format specifiers:
\n
Day: %a, %A, %d, %e
\n
Month: %m, %b, %B
\n
Year: %y
\n
Hour: %k, %H, %l, %I, %p, %P
\n
Minute: %M
\n
Second: %S
\n
\n\n
\n Quote Backlinks formatting is disabled.\n
:
\n
\n\n
\n File Info Formatting is disabled.\n
:
\n
Link: %l (truncated), %L (untruncated), %T (Unix timestamp)
\n
Original file name: %n (truncated), %N (untruncated), %t (Unix timestamp)
\n
Spoiler indicator: %p
\n
Size: %B (Bytes), %K (KB), %M (MB), %s (4chan default)
\n
Resolution: %r (Displays 'PDF' for PDF files)
\n
\n\n
\n Unread Tab Icon is disabled.\n \n \n
\n\n
\n \n \n \n \n \n
"; items = {}; inputs = {}; _ref = ['boardnav', 'time', 'backlink', 'fileInfo', 'favicon', 'usercss']; @@ -8991,6 +9010,25 @@ event = ['favicon', 'usercss'].contains(name) ? 'change' : 'input'; $.on(input, event, $.cb.value); } + archiver = $('select[name=archiver]', section); + toSelect = Redirect.select(g.BOARD.ID); + if (!toSelect[0]) { + toSelect = ['No Archive Available']; + } + for (_j = 0, _len1 = toSelect.length; _j < _len1; _j++) { + name = toSelect[_j]; + $.add(archiver, $.el('option', { + textContent: name + })); + } + if (toSelect[1]) { + Conf['archivers'][g.BOARD]; + archiver.value = Conf['archivers'][g.BOARD] || toSelect[0]; + $.on(archiver, 'change', function() { + Conf['archivers'][g.BOARD] = this.value; + return $.set('archivers', Conf.archivers); + }); + } $.get(items, function(items) { var key, val; @@ -9126,6 +9164,7 @@ boards: {} }; } + Conf['archivers'] = {}; $.get(Conf, Main.initFeatures); return $.on(d, '4chanMainInit', Main.initStyle); }, @@ -9185,6 +9224,7 @@ }; init({ 'Polyfill': Polyfill, + 'Redirection': Redirect, 'Header': Header, 'Catalog Links': CatalogLinks, 'Settings': Settings, diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js index 8f3dc3ec6..d15e1b856 100644 --- a/builds/4chan-X.user.js +++ b/builds/4chan-X.user.js @@ -5233,6 +5233,17 @@ }; Redirect = { + init: function() { + return $.sync('archs', this.updateArchives); + }, + updateArchives: function() { + return $.get('archivers', {}, function(_arg) { + var archivers; + + archivers = _arg.archivers; + return Conf['archivers'] = archivers; + }); + }, image: function(boardID, filename) { switch (boardID) { case 'a': @@ -5273,91 +5284,99 @@ } }, post: function(boardID, postID) { - switch (boardID) { - case 'a': - case 'co': - case 'gd': - case 'jp': - case 'm': - case 'q': - case 'sp': - case 'tg': - case 'tv': - case 'v': - case 'vg': - case 'vp': - case 'vr': - case 'wsg': - return "https://archive.foolz.us/_/api/chan/post/?board=" + boardID + "&num=" + postID; - case 'u': - return "https://nsfw.foolz.us/_/api/chan/post/?board=" + boardID + "&num=" + postID; - case 'c': - case 'int': - case 'out': - case 'po': - return "//archive.thedarkcave.org/_/api/chan/post/?board=" + boardID + "&num=" + postID; - case 'hr': - case 'x': - return "http://archive.4plebs.org/_/api/chan/post/?board=" + boardID + "&num=" + postID; + var archive, name, _base, _ref; + + if (Redirect.post[boardID] == null) { + _ref = this.archiver; + for (name in _ref) { + archive = _ref[name]; + if (archive.type === 'foolfuuka' && archive.boards.contains(boardID)) { + Redirect.post[boardID] = archive.base; + break; + } + } + (_base = Redirect.post)[boardID] || (_base[boardID] = false); + } + if (Redirect.post[boardID]) { + return "" + Redirect.post[boardID] + "/_/api/chan/post/?board=" + boardID + "&num=" + postID; + } else { + return null; } }, + select: function(board) { + var archive, name, _ref, _results; + + _ref = this.archiver; + _results = []; + for (name in _ref) { + archive = _ref[name]; + if (!archive.boards.contains(board)) { + continue; + } + _results.push(name); + } + return _results; + }, to: function(data) { - var boardID; + var arch, archive, boardID; boardID = data.boardID; - switch (boardID) { - case 'a': - case 'co': - case 'gd': - case 'jp': - case 'm': - case 'q': - case 'sp': - case 'tg': - case 'tv': - case 'v': - case 'vg': - case 'vp': - case 'vr': - case 'wsg': - return Redirect.path('//archive.foolz.us', 'foolfuuka', data); - case 'u': - return Redirect.path('//nsfw.foolz.us', 'foolfuuka', data); - case 'int': - case 'out': - case 'po': - return Redirect.path('//archive.thedarkcave.org', 'foolfuuka', data); - case 'hr': - return Redirect.path('http://archive.4plebs.org', 'foolfuuka', data); - case 'ck': - case 'fa': - case 'lit': - case 's4s': - return Redirect.path('//fuuka.warosu.org', 'fuuka', data); - case 'diy': - case 'g': - case 'sci': - return Redirect.path('//archive.installgentoo.net', 'fuuka', data); - case 'cgl': - case 'mu': - case 'w': - return Redirect.path('//rbt.asia', 'fuuka', data); - case 'an': - case 'fit': - case 'k': - case 'mlp': - case 'r9k': - case 'toy': - case 'x': - return Redirect.path('http://archive.heinessen.com', 'fuuka', data); - case 'c': - return Redirect.path('//archive.nyafuu.org', 'fuuka', data); - default: - if (data.threadID) { - return "//boards.4chan.org/" + boardID + "/"; - } else { - return ''; - } + if ((arch = Conf.archivers[boardID]) == null) { + Conf.archivers[boardID] = arch = this.select(boardID)[0]; + $.set('archivers', Conf.archivers); + } + return (arch && (archive = this.archiver[arch]) ? Redirect.path(archive.base, archive.type, data) : data.threadID ? "//boards.4chan.org/" + boardID + "/" : null); + }, + archiver: { + 'Foolz': { + base: 'https://archive.foolz.us', + boards: ['a', 'co', 'gd', 'jp', 'm', 'q', 'sp', 'tg', 'tv', 'v', 'vg', 'vp', 'vr', 'wsg'], + type: 'foolfuuka' + }, + 'NSFWFoolz': { + base: 'https://nsfw.foolz.us', + boards: ['u'], + type: 'foolfuuka' + }, + 'TheDarkCave': { + base: 'http://archive.thedarkcave.org', + boards: ['c', 'int', 'out', 'po'], + type: 'foolfuuka' + }, + '4plebs': { + base: 'http://archive.4plebs.org', + boards: ['hr', 'tg', 'tv', 'x'], + base: 'foolfuuka' + }, + 'Warosu': { + base: '//fuuka.warosu.org', + boards: ['cgl', 'ck', 'fa', 'jp', 'lit', 's4s', 'q', 'tg'], + type: 'fuuka' + }, + 'RebeccaBlackTech': { + base: '//rbt.asia', + boards: ['an', 'cgl', 'g', 'mu', 'w'], + type: 'fuuka_mail' + }, + 'InstallGentoo': { + base: '//archive.installgentoo.net', + boards: ['diy', 'g', 'sci'], + type: 'fuuka' + }, + 'Heinessen': { + base: 'http://archive.heinessen.com', + boards: ['an', 'fit', 'k', 'mlp', 'r9k', 'toy', 'x'], + type: 'fuuka' + }, + 'Cliche': { + base: '//www.cliché.net/4chan/cgi-board.pl', + boards: ['e'], + type: 'fuuka' + }, + 'NyaFuu': { + base: '//archive.nyafuu.org', + boards: ['c', 'w'], + type: 'fuuka' } }, path: function(base, archiver, data) { @@ -6415,7 +6434,7 @@ }); } }, - scroll: function() { + scroll: function(posts) { var hash, root; if ((hash = location.hash.match(/\d+/)) && hash[0] in this.posts) { @@ -8995,9 +9014,9 @@ return $.on(sauce, 'change', $.cb.value); }, rice: function(section) { - var event, input, inputs, items, name, _i, _len, _ref; + var archiver, event, input, inputs, items, name, toSelect, _i, _j, _len, _len1, _ref; - section.innerHTML = "
\n Custom Board Navigation is disabled.\n
\n
In the following, board can translate to a board ID (a, b, etc...), the current board (current), or the Status/Twitter link (status, @).
\n
\n For example:
\n [ toggle-all ] [current-title] [g-title / a-title / jp-title] [x / wsg / h] [t-text:\"Piracy\"]
\n will give you
\n [ + ] [Technology] [Technology / Anime & Manga / Otaku Culture] [x / wsg / h] [Piracy]
\n if you are on /g/.\n
\n
Board link: board
\n
Title link: board-title
\n
Board link (Replace with title when on that board): board-replace
\n
Full text link: board-full
\n
Custom text link: board-text:\"VIP Board\"
\n
Index-only link: board-index
\n
Catalog-only link: board-catalog
\n
Combinations are possible: board-index-text:\"VIP Index\"
\n
Full board list toggle: toggle-all
\n
\n\n
\n Time Formatting is disabled.\n
:
\n
Supported format specifiers:
\n
Day: %a, %A, %d, %e
\n
Month: %m, %b, %B
\n
Year: %y
\n
Hour: %k, %H, %l, %I, %p, %P
\n
Minute: %M
\n
Second: %S
\n
\n\n
\n Quote Backlinks formatting is disabled.\n
:
\n
\n\n
\n File Info Formatting is disabled.\n
:
\n
Link: %l (truncated), %L (untruncated), %T (Unix timestamp)
\n
Original file name: %n (truncated), %N (untruncated), %t (Unix timestamp)
\n
Spoiler indicator: %p
\n
Size: %B (Bytes), %K (KB), %M (MB), %s (4chan default)
\n
Resolution: %r (Displays 'PDF' for PDF files)
\n
\n\n
\n Unread Tab Icon is disabled.\n \n \n
\n\n
\n \n \n \n \n \n
"; + section.innerHTML = "
\n Archiver\n Select an Archiver for this board:\n \n
\n
\n Custom Board Navigation is disabled.\n
\n
In the following, board can translate to a board ID (a, b, etc...), the current board (current), or the Status/Twitter link (status, @).
\n
\n For example:
\n [ toggle-all ] [current-title] [g-title / a-title / jp-title] [x / wsg / h] [t-text:\"Piracy\"]
\n will give you
\n [ + ] [Technology] [Technology / Anime & Manga / Otaku Culture] [x / wsg / h] [Piracy]
\n if you are on /g/.\n
\n
Board link: board
\n
Title link: board-title
\n
Board link (Replace with title when on that board): board-replace
\n
Full text link: board-full
\n
Custom text link: board-text:\"VIP Board\"
\n
Index-only link: board-index
\n
Catalog-only link: board-catalog
\n
Combinations are possible: board-index-text:\"VIP Index\"
\n
Full board list toggle: toggle-all
\n
\n\n
\n Time Formatting is disabled.\n
:
\n
Supported format specifiers:
\n
Day: %a, %A, %d, %e
\n
Month: %m, %b, %B
\n
Year: %y
\n
Hour: %k, %H, %l, %I, %p, %P
\n
Minute: %M
\n
Second: %S
\n
\n\n
\n Quote Backlinks formatting is disabled.\n
:
\n
\n\n
\n File Info Formatting is disabled.\n
:
\n
Link: %l (truncated), %L (untruncated), %T (Unix timestamp)
\n
Original file name: %n (truncated), %N (untruncated), %t (Unix timestamp)
\n
Spoiler indicator: %p
\n
Size: %B (Bytes), %K (KB), %M (MB), %s (4chan default)
\n
Resolution: %r (Displays 'PDF' for PDF files)
\n
\n\n
\n Unread Tab Icon is disabled.\n \n \n
\n\n
\n \n \n \n \n \n
"; items = {}; inputs = {}; _ref = ['boardnav', 'time', 'backlink', 'fileInfo', 'favicon', 'usercss']; @@ -9009,6 +9028,25 @@ event = ['favicon', 'usercss'].contains(name) ? 'change' : 'input'; $.on(input, event, $.cb.value); } + archiver = $('select[name=archiver]', section); + toSelect = Redirect.select(g.BOARD.ID); + if (!toSelect[0]) { + toSelect = ['No Archive Available']; + } + for (_j = 0, _len1 = toSelect.length; _j < _len1; _j++) { + name = toSelect[_j]; + $.add(archiver, $.el('option', { + textContent: name + })); + } + if (toSelect[1]) { + Conf['archivers'][g.BOARD]; + archiver.value = Conf['archivers'][g.BOARD] || toSelect[0]; + $.on(archiver, 'change', function() { + Conf['archivers'][g.BOARD] = this.value; + return $.set('archivers', Conf.archivers); + }); + } $.get(items, function(items) { var key, val; @@ -9144,6 +9182,7 @@ boards: {} }; } + Conf['archivers'] = {}; $.get(Conf, Main.initFeatures); return $.on(d, '4chanMainInit', Main.initStyle); }, @@ -9203,6 +9242,7 @@ }; init({ 'Polyfill': Polyfill, + 'Redirection': Redirect, 'Header': Header, 'Catalog Links': CatalogLinks, 'Settings': Settings, diff --git a/builds/crx.crx b/builds/crx.crx index 5fe752f81a1360ea1322449e7c7bc51921991b34..77e8f53c66f22e45d0abad3a39494e91adb42ab0 100644 GIT binary patch delta 52326 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

!X|cZZ^Yp6X)$V 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 delta 51654 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 disabled.\n

\n
In the following, board can translate to a board ID (a, b, etc...), the current board (current), or the Status/Twitter link (status, @).
\n
\n For example:
\n [ toggle-all ] [current-title] [g-title / a-title / jp-title] [x / wsg / h] [t-text:\"Piracy\"]
\n will give you
\n [ + ] [Technology] [Technology / Anime & Manga / Otaku Culture] [x / wsg / h] [Piracy]
\n if you are on /g/.\n
\n
Board link: board
\n
Title link: board-title
\n
Board link (Replace with title when on that board): board-replace
\n
Full text link: board-full
\n
Custom text link: board-text:\"VIP Board\"
\n
Index-only link: board-index
\n
Catalog-only link: board-catalog
\n
Combinations are possible: board-index-text:\"VIP Index\"
\n
Full board list toggle: toggle-all
\n\n\n
\n Time Formatting is disabled.\n
:
\n \n
Day: %a, %A, %d, %e
\n
Month: %m, %b, %B
\n
Year: %y
\n
Hour: %k, %H, %l, %I, %p, %P
\n
Minute: %M
\n
Second: %S
\n
\n\n
\n Quote Backlinks formatting is disabled.\n
:
\n
\n\n
\n File Info Formatting is disabled.\n
:
\n
Link: %l (truncated), %L (untruncated), %T (Unix timestamp)
\n
Original file name: %n (truncated), %N (untruncated), %t (Unix timestamp)
\n
Spoiler indicator: %p
\n
Size: %B (Bytes), %K (KB), %M (MB), %s (4chan default)
\n
Resolution: %r (Displays 'PDF' for PDF files)
\n
\n\n
\n Unread Tab Icon is disabled.\n \n \n
\n\n
\n \n \n \n \n \n
"; + section.innerHTML = "
\n Archiver\n Select an Archiver for this board:\n \n
\n
\n Custom Board Navigation is disabled.\n
\n
In the following, board can translate to a board ID (a, b, etc...), the current board (current), or the Status/Twitter link (status, @).
\n
\n For example:
\n [ toggle-all ] [current-title] [g-title / a-title / jp-title] [x / wsg / h] [t-text:\"Piracy\"]
\n will give you
\n [ + ] [Technology] [Technology / Anime & Manga / Otaku Culture] [x / wsg / h] [Piracy]
\n if you are on /g/.\n
\n
Board link: board
\n
Title link: board-title
\n
Board link (Replace with title when on that board): board-replace
\n
Full text link: board-full
\n
Custom text link: board-text:\"VIP Board\"
\n
Index-only link: board-index
\n
Catalog-only link: board-catalog
\n
Combinations are possible: board-index-text:\"VIP Index\"
\n
Full board list toggle: toggle-all
\n
\n\n
\n Time Formatting is disabled.\n
:
\n \n
Day: %a, %A, %d, %e
\n
Month: %m, %b, %B
\n
Year: %y
\n
Hour: %k, %H, %l, %I, %p, %P
\n
Minute: %M
\n
Second: %S
\n
\n\n
\n Quote Backlinks formatting is disabled.\n
:
\n
\n\n
\n File Info Formatting is disabled.\n
:
\n
Link: %l (truncated), %L (untruncated), %T (Unix timestamp)
\n
Original file name: %n (truncated), %N (untruncated), %t (Unix timestamp)
\n
Spoiler indicator: %p
\n
Size: %B (Bytes), %K (KB), %M (MB), %s (4chan default)
\n
Resolution: %r (Displays 'PDF' for PDF files)
\n
\n\n
\n Unread Tab Icon is disabled.\n \n \n
\n\n
\n \n \n \n \n \n
"; items = {}; inputs = {}; _ref = ['boardnav', 'time', 'backlink', 'fileInfo', 'favicon', 'usercss']; @@ -8911,6 +8930,25 @@ event = ['favicon', 'usercss'].contains(name) ? 'change' : 'input'; $.on(input, event, $.cb.value); } + archiver = $('select[name=archiver]', section); + toSelect = Redirect.select(g.BOARD.ID); + if (!toSelect[0]) { + toSelect = ['No Archive Available']; + } + for (_j = 0, _len1 = toSelect.length; _j < _len1; _j++) { + name = toSelect[_j]; + $.add(archiver, $.el('option', { + textContent: name + })); + } + if (toSelect[1]) { + Conf['archivers'][g.BOARD]; + archiver.value = Conf['archivers'][g.BOARD] || toSelect[0]; + $.on(archiver, 'change', function() { + Conf['archivers'][g.BOARD] = this.value; + return $.set('archivers', Conf.archivers); + }); + } $.get(items, function(items) { var key, val; @@ -9046,6 +9084,7 @@ boards: {} }; } + Conf['archivers'] = {}; $.get(Conf, Main.initFeatures); return $.on(d, '4chanMainInit', Main.initStyle); }, @@ -9105,6 +9144,7 @@ }; init({ 'Polyfill': Polyfill, + 'Redirection': Redirect, 'Header': Header, 'Catalog Links': CatalogLinks, 'Settings': Settings, diff --git a/src/features/misc/redirection.coffee b/src/features/misc/redirection.coffee index ad27d64ac..4b1ba3edd 100644 --- a/src/features/misc/redirection.coffee +++ b/src/features/misc/redirection.coffee @@ -1,4 +1,11 @@ Redirect = + init: -> + $.sync 'archs', @updateArchives + + updateArchives: -> + $.get 'archivers', {}, ({archivers}) -> + Conf['archivers'] = archivers + image: (boardID, filename) -> # Do not use g.BOARD, the image url can originate from a cross-quote. switch boardID @@ -9,7 +16,7 @@ Redirect = when 'po' "//archive.thedarkcave.org/#{boardID}/full_image/#{filename}" when 'hr', 'tv' - "http://archive.4plebs.org/#{boardID}/full_image/#{filename}" + "http://archive.4plebs.org/#{boardID}/full_image/#{filename}" when 'ck', 'fa', 'lit', 's4s' "//fuuka.warosu.org/#{boardID}/full_image/#{filename}" when 'cgl', 'g', 'mu', 'w' @@ -18,43 +25,81 @@ Redirect = "http://archive.heinessen.com/#{boardID}/full_image/#{filename}" when 'c' "//archive.nyafuu.org/#{boardID}/full_image/#{filename}" + post: (boardID, postID) -> - # XXX foolz had HSTS set for 120 days, which broke XHR+CORS+Redirection when on HTTP. - # Remove necessary HTTPS procotol in September 2013. - switch boardID - when 'a', 'co', 'gd', 'jp', 'm', 'q', 'sp', 'tg', 'tv', 'v', 'vg', 'vp', 'vr', 'wsg' - "https://archive.foolz.us/_/api/chan/post/?board=#{boardID}&num=#{postID}" - when 'u' - "https://nsfw.foolz.us/_/api/chan/post/?board=#{boardID}&num=#{postID}" - when 'c', 'int', 'out', 'po' - "//archive.thedarkcave.org/_/api/chan/post/?board=#{boardID}&num=#{postID}" - when 'hr', 'x' - "http://archive.4plebs.org/_/api/chan/post/?board=#{boardID}&num=#{postID}" - # for fuuka-based archives: - # https://github.com/eksopl/fuuka/issues/27 + unless Redirect.post[boardID]? + for name, archive of @archiver + if archive.type is 'foolfuuka' and archive.boards.contains boardID + Redirect.post[boardID] = archive.base + break + Redirect.post[boardID] or= false + + return if Redirect.post[boardID] + "#{Redirect.post[boardID]}/_/api/chan/post/?board=#{boardID}&num=#{postID}" + else + null + + select: (board) -> + for name, archive of @archiver + continue unless archive.boards.contains board + name + to: (data) -> {boardID} = data - switch boardID - when 'a', 'co', 'gd', 'jp', 'm', 'q', 'sp', 'tg', 'tv', 'v', 'vg', 'vp', 'vr', 'wsg' - Redirect.path '//archive.foolz.us', 'foolfuuka', data - when 'u' - Redirect.path '//nsfw.foolz.us', 'foolfuuka', data - when 'int', 'out', 'po' - Redirect.path '//archive.thedarkcave.org', 'foolfuuka', data - when 'hr' - Redirect.path 'http://archive.4plebs.org', 'foolfuuka', data - when 'ck', 'fa', 'lit', 's4s' - Redirect.path '//fuuka.warosu.org', 'fuuka', data - when 'diy', 'g', 'sci' - Redirect.path '//archive.installgentoo.net', 'fuuka', data - when 'cgl', 'mu', 'w' - Redirect.path '//rbt.asia', 'fuuka', data - when 'an', 'fit', 'k', 'mlp', 'r9k', 'toy', 'x' - Redirect.path 'http://archive.heinessen.com', 'fuuka', data - when 'c' - Redirect.path '//archive.nyafuu.org', 'fuuka', data - else - if data.threadID then "//boards.4chan.org/#{boardID}/" else '' + + unless (arch = Conf.archivers[boardID])? + Conf.archivers[boardID] = arch = @select(boardID)[0] + $.set 'archivers', Conf.archivers + + return (if arch and archive = @archiver[arch] + Redirect.path archive.base, archive.type, data + else if data.threadID + "//boards.4chan.org/#{boardID}/" + else + null) + + archiver: + 'Foolz': + base: 'https://archive.foolz.us' + boards: ['a', 'co', 'gd', 'jp', 'm', 'q', 'sp', 'tg', 'tv', 'v', 'vg', 'vp', 'vr', 'wsg'] + type: 'foolfuuka' + 'NSFWFoolz': + base: 'https://nsfw.foolz.us' + boards: ['u'] + type: 'foolfuuka' + 'TheDarkCave': + base: 'http://archive.thedarkcave.org' + boards: ['c', 'int', 'out', 'po'] + type: 'foolfuuka' + '4plebs': + base: 'http://archive.4plebs.org' + boards: ['hr', 'tg', 'tv', 'x'] + base: 'foolfuuka' + 'Warosu': + base: '//fuuka.warosu.org' + boards: ['cgl', 'ck', 'fa', 'jp', 'lit', 's4s', 'q', 'tg'] + type: 'fuuka' + 'RebeccaBlackTech': + base: '//rbt.asia' + boards: ['an', 'cgl', 'g', 'mu', 'w'] + type: 'fuuka_mail' + 'InstallGentoo': + base: '//archive.installgentoo.net' + boards: ['diy', 'g', 'sci'] + type: 'fuuka' + 'Heinessen': + base: 'http://archive.heinessen.com' + boards: ['an', 'fit', 'k', 'mlp', 'r9k', 'toy', 'x'] + type: 'fuuka' + 'Cliche': + base: '//www.cliché.net/4chan/cgi-board.pl' + boards: ['e'] + type: 'fuuka' + 'NyaFuu': + base: '//archive.nyafuu.org' + boards: ['c', 'w'] + type: 'fuuka' + path: (base, archiver, data) -> if data.isSearch {boardID, type, value} = data diff --git a/src/features/monitoring/unread.coffee b/src/features/monitoring/unread.coffee index 18edbd94d..e51ebd721 100644 --- a/src/features/monitoring/unread.coffee +++ b/src/features/monitoring/unread.coffee @@ -30,7 +30,7 @@ Unread = $.on window, 'load', (posts) => Unread.scroll.apply @, posts - scroll: -> + scroll: (posts) -> # Let the header's onload callback handle it. return if (hash = location.hash.match /\d+/) and hash[0] of @posts if Unread.posts.length diff --git a/src/main.coffee b/src/main.coffee index 2ccbea66f..57a452eb5 100644 --- a/src/main.coffee +++ b/src/main.coffee @@ -14,6 +14,7 @@ Main = flatten null, Config for db in DataBoards Conf[db] = boards: {} + Conf['archivers'] = {} $.get Conf, Main.initFeatures $.on d, '4chanMainInit', Main.initStyle @@ -64,6 +65,7 @@ Main = init 'Polyfill': Polyfill + 'Redirection': Redirect 'Header': Header 'Catalog Links': CatalogLinks 'Settings': Settings diff --git a/src/settings.coffee b/src/settings.coffee index 67133b9ac..6f7ea2da4 100644 --- a/src/settings.coffee +++ b/src/settings.coffee @@ -32,6 +32,7 @@ Settings = Settings.addSection 'Sauce', Settings.sauce Settings.addSection 'Rice', Settings.rice Settings.addSection 'Keybinds', Settings.keybinds + $.on d, 'AddSettingsSection', Settings.addSection $.on d, 'OpenSettings', (e) -> Settings.open e.detail @@ -378,6 +379,11 @@ Settings = rice: (section) -> section.innerHTML = """ +
+ Archiver + Select an Archiver for this board: + +
Custom Board Navigation is disabled.
@@ -457,6 +463,21 @@ Settings = else 'input' $.on input, event, $.cb.value + + # Archiver + archiver = $ 'select[name=archiver]', section + toSelect = Redirect.select g.BOARD.ID + toSelect = ['No Archive Available'] unless toSelect[0] + + $.add archiver, $.el('option', {textContent: name}) for name in toSelect + + if toSelect[1] + Conf['archivers'][g.BOARD] + archiver.value = Conf['archivers'][g.BOARD] or toSelect[0] + $.on archiver, 'change', -> + Conf['archivers'][g.BOARD] = @value + $.set 'archivers', Conf.archivers + $.get items, (items) -> for key, val of items input = inputs[key]