Merge branch 'v3'

Conflicts:
	CHANGELOG.md
	LICENSE
	builds/4chan-X.meta.js
	builds/appchan-x.user.js
	builds/crx/manifest.json
	builds/crx/script.js
	latest.js
	package.json
	src/General/Header.coffee
	src/General/css/font-awesome.css
	src/Miscellaneous/CatalogLinks.coffee
This commit is contained in:
Zixaphir 2013-12-18 16:17:11 -07:00
commit d7ceb42446
8 changed files with 48 additions and 31 deletions

View File

@ -1,3 +1,4 @@
<<<<<<< HEAD
## v2.7.0
*2013-12-16*
@ -23,10 +24,9 @@
## v2.6.0
*2013-11-27*
=======
>>>>>>> v3
**MayhemYDG**:
- Fix 4chan X breaking in threads following a 4chan markup change.
- Minor cooldown fix:
- You cannot post an image reply immediately after a non-image reply anymore.
- **New option**: `Auto-hide header on scroll`.
- Added support for `4cdn.org`.
- Index navigation improvements:
@ -73,8 +73,29 @@
**Zixaphir**:
- Infinite Scrolling Bugfix (chrome)
<<<<<<< HEAD
### v2.4.1
*2013-10-13*
=======
### v1.2.44
*2013-12-06*
**MayhemYDG**:
- Cooldown fix (You can no longer post an image reply immediately after a text reply)
- Fix for 4chan markup change that caused a lot of errors
**seaweedchan**:
- Fix catalog links option
### v1.2.43
*2013-11-10*
**noface**:
- Strawpoll.me embedding support (as usual, only works on HTTP 4chan due to lack of HTTPS)
### v1.2.42
*2013-10-22*
>>>>>>> v3
**Zixaphir**:
- Bugfixes

View File

@ -1,5 +1,5 @@
/*
* appchan x - Version 2.7.0 - 2013-12-16
* appchan x - Version 2.7.0 - 2013-12-18
*
* Licensed under the MIT license.
* https://github.com/zixaphir/appchan-x/blob/master/LICENSE

View File

@ -22,7 +22,7 @@
// ==/UserScript==
/*
* appchan x - Version 2.7.0 - 2013-12-16
* appchan x - Version 2.7.0 - 2013-12-18
*
* Licensed under the MIT license.
* https://github.com/zixaphir/appchan-x/blob/master/LICENSE
@ -3942,7 +3942,7 @@
innerHTML: '<input type=checkbox name="Header auto-hide on scroll"> Auto-hide header on scroll'
});
barPositionToggler = $.el('label', {
innerHTML: '<input type=checkbox name="Bottom header"> Bottom header'
innerHTML: '<input type=checkbox name="Bottom Header"> Bottom header'
});
customNavToggler = $.el('label', {
innerHTML: '<input type=checkbox name="Custom Board Navigation"> Custom board navigation'
@ -3956,8 +3956,6 @@
this.barPositionToggler = barPositionToggler.firstElementChild;
this.headerToggler = headerToggler.firstElementChild;
this.customNavToggler = customNavToggler.firstElementChild;
this.setBarFixed(Conf['Fixed Header']);
this.setBarVisibility(Conf['Header auto-hide']);
$.on(menuButton, 'click', this.menuToggle);
$.on(this.headerToggler, 'change', this.toggleBarVisibility);
$.on(this.barFixedToggler, 'change', this.toggleBarFixed);
@ -4275,7 +4273,7 @@
clientHeight = doc.clientHeight;
bottom = clientHeight - root.getBoundingClientRect().bottom;
if (Conf['Bottom header']) {
if (Conf['Bottom Header']) {
headRect = Header.toggle.getBoundingClientRect();
bottom -= clientHeight - headRect.bottom + headRect.height;
}
@ -14164,7 +14162,7 @@
var a, board, path, _i, _len, _ref;
path = useCatalog ? 'catalog' : '';
_ref = $$("#board-list a[href*=\"boards.4chan.org\"]:not(.catalog),\n#boardNavDesktopFoot a[href*=\"boards.4chan.org\"]");
_ref = $$("#board-list a:not(.catalog),\n#boardNavDesktopFoot a");
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
a = _ref[_i];
board = a.pathname.split('/')[1];
@ -14172,7 +14170,7 @@
continue;
}
if (Conf['External Catalog']) {
a.href = useCatalog ? CatalogLinks.external(board) : "//boards.4chan.org/" + board + "/";
a.href = useCatalog ? CatalogLinks.external(board) : "/" + board + "/";
} else {
a.pathname = "/" + board + "/" + path;
}
@ -14180,7 +14178,7 @@
return this.title = "Turn catalog links " + (useCatalog ? 'off' : 'on') + ".";
},
external: function(board) {
return (['a', 'c', 'g', 'co', 'k', 'm', 'o', 'p', 'v', 'vg', 'w', 'cm', '3', 'adv', 'an', 'cgl', 'ck', 'diy', 'fa', 'fit', 'int', 'jp', 'mlp', 'lit', 'mu', 'n', 'po', 'sci', 'toy', 'trv', 'tv', 'vp', 'x', 'q'].contains(board) ? "http://catalog.neet.tv/" + board : ['d', 'e', 'gif', 'h', 'hr', 'hc', 'r9k', 's', 'pol', 'soc', 'u', 'i', 'ic', 'hm', 'r', 'w', 'wg', 'wsg', 't', 'y'].contains(board) ? "http://4index.gropes.us/" + board : "//boards.4chan.org/" + board + "/catalog");
return (['a', 'c', 'g', 'co', 'k', 'm', 'o', 'p', 'v', 'vg', 'w', 'cm', '3', 'adv', 'an', 'cgl', 'ck', 'diy', 'fa', 'fit', 'int', 'jp', 'mlp', 'lit', 'mu', 'n', 'po', 'sci', 'toy', 'trv', 'tv', 'vp', 'x', 'q'].contains(board) ? "http://catalog.neet.tv/" + board : ['d', 'e', 'gif', 'h', 'hr', 'hc', 'r9k', 's', 'pol', 'soc', 'u', 'i', 'ic', 'hm', 'r', 'w', 'wg', 'wsg', 't', 'y'].contains(board) ? "http://4index.gropes.us/" + board : "/" + board + "/catalog");
},
ready: function() {
var catalogLink;

View File

@ -1,6 +1,6 @@
// Generated by CoffeeScript
/*
* appchan x - Version 2.7.0 - 2013-12-16
* appchan x - Version 2.7.0 - 2013-12-18
*
* Licensed under the MIT license.
* https://github.com/zixaphir/appchan-x/blob/master/LICENSE
@ -3955,7 +3955,7 @@
innerHTML: '<input type=checkbox name="Header auto-hide on scroll"> Auto-hide header on scroll'
});
barPositionToggler = $.el('label', {
innerHTML: '<input type=checkbox name="Bottom header"> Bottom header'
innerHTML: '<input type=checkbox name="Bottom Header"> Bottom header'
});
customNavToggler = $.el('label', {
innerHTML: '<input type=checkbox name="Custom Board Navigation"> Custom board navigation'
@ -3969,8 +3969,6 @@
this.barPositionToggler = barPositionToggler.firstElementChild;
this.headerToggler = headerToggler.firstElementChild;
this.customNavToggler = customNavToggler.firstElementChild;
this.setBarFixed(Conf['Fixed Header']);
this.setBarVisibility(Conf['Header auto-hide']);
$.on(menuButton, 'click', this.menuToggle);
$.on(this.headerToggler, 'change', this.toggleBarVisibility);
$.on(this.barFixedToggler, 'change', this.toggleBarFixed);
@ -4288,7 +4286,7 @@
clientHeight = doc.clientHeight;
bottom = clientHeight - root.getBoundingClientRect().bottom;
if (Conf['Bottom header']) {
if (Conf['Bottom Header']) {
headRect = Header.toggle.getBoundingClientRect();
bottom -= clientHeight - headRect.bottom + headRect.height;
}
@ -14156,7 +14154,7 @@
var a, board, path, _i, _len, _ref;
path = useCatalog ? 'catalog' : '';
_ref = $$("#board-list a[href*=\"boards.4chan.org\"]:not(.catalog),\n#boardNavDesktopFoot a[href*=\"boards.4chan.org\"]");
_ref = $$("#board-list a:not(.catalog),\n#boardNavDesktopFoot a");
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
a = _ref[_i];
board = a.pathname.split('/')[1];
@ -14164,7 +14162,7 @@
continue;
}
if (Conf['External Catalog']) {
a.href = useCatalog ? CatalogLinks.external(board) : "//boards.4chan.org/" + board + "/";
a.href = useCatalog ? CatalogLinks.external(board) : "/" + board + "/";
} else {
a.pathname = "/" + board + "/" + path;
}
@ -14172,7 +14170,7 @@
return this.title = "Turn catalog links " + (useCatalog ? 'off' : 'on') + ".";
},
external: function(board) {
return (['a', 'c', 'g', 'co', 'k', 'm', 'o', 'p', 'v', 'vg', 'w', 'cm', '3', 'adv', 'an', 'cgl', 'ck', 'diy', 'fa', 'fit', 'int', 'jp', 'mlp', 'lit', 'mu', 'n', 'po', 'sci', 'toy', 'trv', 'tv', 'vp', 'x', 'q'].contains(board) ? "http://catalog.neet.tv/" + board : ['d', 'e', 'gif', 'h', 'hr', 'hc', 'r9k', 's', 'pol', 'soc', 'u', 'i', 'ic', 'hm', 'r', 'w', 'wg', 'wsg', 't', 'y'].contains(board) ? "http://4index.gropes.us/" + board : "//boards.4chan.org/" + board + "/catalog");
return (['a', 'c', 'g', 'co', 'k', 'm', 'o', 'p', 'v', 'vg', 'w', 'cm', '3', 'adv', 'an', 'cgl', 'ck', 'diy', 'fa', 'fit', 'int', 'jp', 'mlp', 'lit', 'mu', 'n', 'po', 'sci', 'toy', 'trv', 'tv', 'vp', 'x', 'q'].contains(board) ? "http://catalog.neet.tv/" + board : ['d', 'e', 'gif', 'h', 'hr', 'hc', 'r9k', 's', 'pol', 'soc', 'u', 'i', 'ic', 'hm', 'r', 'w', 'wg', 'wsg', 't', 'y'].contains(board) ? "http://4index.gropes.us/" + board : "/" + board + "/catalog");
},
ready: function() {
var catalogLink;

View File

@ -13,7 +13,7 @@ Header =
scrollHeaderToggler = $.el 'label',
innerHTML: '<input type=checkbox name="Header auto-hide on scroll"> Auto-hide header on scroll'
barPositionToggler = $.el 'label',
innerHTML: '<input type=checkbox name="Bottom header"> Bottom header'
innerHTML: '<input type=checkbox name="Bottom Header"> Bottom header'
customNavToggler = $.el 'label',
innerHTML: '<input type=checkbox name="Custom Board Navigation"> Custom board navigation'
editCustomNav = $.el 'a',
@ -26,9 +26,6 @@ Header =
@headerToggler = headerToggler.firstElementChild
@customNavToggler = customNavToggler.firstElementChild
@setBarFixed Conf['Fixed Header']
@setBarVisibility Conf['Header auto-hide']
$.on menuButton, 'click', @menuToggle
$.on @headerToggler, 'change', @toggleBarVisibility
$.on @barFixedToggler, 'change', @toggleBarFixed
@ -309,7 +306,7 @@ Header =
getBottomOf: (root) ->
{clientHeight} = doc
bottom = clientHeight - root.getBoundingClientRect().bottom
if Conf['Bottom header']
if Conf['Bottom Header']
headRect = Header.toggle.getBoundingClientRect()
bottom -= clientHeight - headRect.bottom + headRect.height
bottom

View File

@ -23,4 +23,4 @@
* Twitter: http://twitter.com/davegandy
* Work: Lead Product Designer @ Kyruus - http://kyruus.com
*/
@font-face{font-family: 'FontAwesome';src: url('data:application/font-woff;base64,<%= grunt.file.read('node_modules/font-awesome/fonts/fontawesome-webfont.woff', {encoding: 'base64'}) %>') format('woff');font-weight:normal;font-style:normal;}.fa{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;speak:none;font-size:14px !important;}#shortcuts .fa {color:rgb(130,130,130) !important;}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}
@font-face{font-family: 'FontAwesome';src: url('data:application/font-woff;base64,<%= grunt.file.read('node_modules/font-awesome/fonts/fontawesome-webfont.woff', {encoding: 'base64'}) %>') format('woff');font-weight:normal;font-style:normal;}.fa{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;speak:none;font-size:14px !important;}#shortcuts .fa {color:rgb(130,130,130) !important;}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}

View File

@ -67,6 +67,9 @@ a {
display: block !important;
overflow: visible !important;
}
.reply > .file > .fileText {
margin: 0 20px;
}
[hidden] {
display: none !important;
}

View File

@ -29,8 +29,8 @@ CatalogLinks =
set: (useCatalog) ->
path = if useCatalog then 'catalog' else ''
for a in $$ """
#board-list a[href*="boards.4chan.org"]:not(.catalog),
#boardNavDesktopFoot a[href*="boards.4chan.org"]
#board-list a:not(.catalog),
#boardNavDesktopFoot a
"""
board = a.pathname.split('/')[1]
continue if ['f', 'status', '4chan'].contains(board) or !board
@ -38,7 +38,7 @@ CatalogLinks =
a.href = if useCatalog
CatalogLinks.external board
else
"//boards.4chan.org/#{board}/"
"/#{board}/"
else
a.pathname = "/#{board}/#{path}"
@title = "Turn catalog links #{if useCatalog then 'off' else 'on'}."
@ -50,7 +50,7 @@ CatalogLinks =
else if ['d', 'e', 'gif', 'h', 'hr', 'hc', 'r9k', 's', 'pol', 'soc', 'u', 'i', 'ic', 'hm', 'r', 'w', 'wg', 'wsg', 't', 'y'].contains board
"http://4index.gropes.us/#{board}"
else
"//boards.4chan.org/#{board}/catalog"
"/#{board}/catalog"
)
ready: ->
@ -58,4 +58,4 @@ CatalogLinks =
catalogLink.textContent = ''
catalogLink.className = 'a-icon'
Header.addShortcut catalogLink, true
catalogLink.id = 'catalog'
catalogLink.id = 'catalog'