parent
8656eb34c7
commit
158390bed1
2
LICENSE
2
LICENSE
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* appchan x - Version 2.3.4 - 2013-08-18
|
* appchan x - Version 2.3.4 - 2013-08-19
|
||||||
*
|
*
|
||||||
* Licensed under the MIT license.
|
* Licensed under the MIT license.
|
||||||
* https://github.com/zixaphir/appchan-x/blob/master/LICENSE
|
* https://github.com/zixaphir/appchan-x/blob/master/LICENSE
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
// ==/UserScript==
|
// ==/UserScript==
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* appchan x - Version 2.3.4 - 2013-08-18
|
* appchan x - Version 2.3.4 - 2013-08-19
|
||||||
*
|
*
|
||||||
* Licensed under the MIT license.
|
* Licensed under the MIT license.
|
||||||
* https://github.com/zixaphir/appchan-x/blob/master/LICENSE
|
* https://github.com/zixaphir/appchan-x/blob/master/LICENSE
|
||||||
@ -12136,7 +12136,21 @@
|
|||||||
|
|
||||||
Style = {
|
Style = {
|
||||||
init: function() {
|
init: function() {
|
||||||
this.setup();
|
var i, item, items, theme;
|
||||||
|
|
||||||
|
theme = Themes[Conf['theme']] || Themes['Yotsuba B'];
|
||||||
|
Style.svg = $.el('div', {
|
||||||
|
id: 'svg_filters'
|
||||||
|
});
|
||||||
|
items = [['layoutCSS', Style.layout, 'layout'], ['themeCSS', Style.theme(theme), 'theme'], ['emojiCSS', Emoji.css(), 'emoji'], ['dynamicCSS', Style.dynamic(), 'dynamic'], ['icons', "", 'icons'], ['paddingSheet', "", 'padding'], ['mascot', "", 'mascotSheet']];
|
||||||
|
i = 0;
|
||||||
|
while (item = items[i++]) {
|
||||||
|
Style[item[0]] = $.addStyle(item[1], item[2]);
|
||||||
|
}
|
||||||
|
$.addStyle(JSColor.css(), 'jsColor');
|
||||||
|
$.asap((function() {
|
||||||
|
return d.head;
|
||||||
|
}), Style.observe);
|
||||||
$.asap((function() {
|
$.asap((function() {
|
||||||
return d.body;
|
return d.body;
|
||||||
}), this.asapInit);
|
}), this.asapInit);
|
||||||
@ -12198,57 +12212,42 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
setup: function() {
|
|
||||||
var i, item, items, theme;
|
|
||||||
|
|
||||||
theme = Themes[Conf['theme']] || Themes['Yotsuba B'];
|
|
||||||
Style.svg = $.el('div', {
|
|
||||||
id: 'svg_filters'
|
|
||||||
});
|
|
||||||
items = [['layoutCSS', Style.layout, 'layout'], ['themeCSS', Style.theme(theme), 'theme'], ['emojiCSS', Emoji.css(), 'emoji'], ['dynamicCSS', Style.dynamic(), 'dynamic'], ['icons', "", 'icons'], ['paddingSheet', "", 'padding'], ['mascot', "", 'mascotSheet']];
|
|
||||||
i = 0;
|
|
||||||
while (item = items[i++]) {
|
|
||||||
Style[item[0]] = $.addStyle(item[1], item[2]);
|
|
||||||
}
|
|
||||||
$.addStyle(JSColor.css(), 'jsColor');
|
|
||||||
if (d.head) {
|
|
||||||
this.remStyle();
|
|
||||||
}
|
|
||||||
return this.observe();
|
|
||||||
},
|
|
||||||
observe: function() {
|
observe: function() {
|
||||||
var onMutationObserver;
|
var onMutationObserver;
|
||||||
|
|
||||||
if (window.MutationObserver) {
|
if (window.MutationObserver) {
|
||||||
Style.observer = new MutationObserver(onMutationObserver = this.wrapper);
|
Style.observer = new MutationObserver(onMutationObserver = Style.wrapper);
|
||||||
return Style.observer.observe(d, {
|
return Style.observer.observe(d.head, {
|
||||||
childList: true,
|
childList: true,
|
||||||
subtree: true
|
subtree: true
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
return $.on(d, 'DOMNodeInserted', this.wrapper);
|
return $.on(d.head, 'DOMNodeInserted', Style.wrapper);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
wrapper: function() {
|
wrapper: function() {
|
||||||
if (d.head) {
|
var first;
|
||||||
Style.remStyle();
|
|
||||||
if (d.readyState === 'complete') {
|
first = {
|
||||||
if (Style.observer) {
|
addedNodes: d.head.children
|
||||||
return Style.observer.disconnect();
|
};
|
||||||
} else {
|
Style.remStyle(first);
|
||||||
return $.off(d, 'DOMNodeInserted', Style.wrapper);
|
if (d.readyState === 'complete') {
|
||||||
}
|
if (Style.observer) {
|
||||||
|
return Style.observer.disconnect();
|
||||||
|
} else {
|
||||||
|
return $.off(d, 'DOMNodeInserted', Style.wrapper);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
remStyle: function() {
|
remStyle: function(_arg) {
|
||||||
var href, i, node, nodes;
|
var addedNodes, href, i, node;
|
||||||
|
|
||||||
nodes = d.head.children;
|
addedNodes = _arg.addedNodes;
|
||||||
i = nodes.length;
|
i = addedNodes.length;
|
||||||
while (i--) {
|
while (i--) {
|
||||||
node = nodes[i];
|
node = addedNodes[i];
|
||||||
if (node.id || !['STYLE', 'LINK'].contains(node.nodeName) || node.rel && !(/stylesheet/.test(node.rel) || (/flags.*\.css$/.test(href = node.href) || href.slice(0, 4) === 'data')) || (/\.typeset/.test(node.textContent))) {
|
if (node.nodeName === 'STYLE' && node.id || node.nodeName !== 'LINK' || node.rel && (!/stylesheet/.test(node.rel) || /flags.*\.css$/.test(href = node.href) || href.slice(0, 4) === 'data') || /\.typeset/.test(node.textContent)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$.rm(node);
|
$.rm(node);
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
// Generated by CoffeeScript
|
// Generated by CoffeeScript
|
||||||
/*
|
/*
|
||||||
* appchan x - Version 2.3.4 - 2013-08-18
|
* appchan x - Version 2.3.4 - 2013-08-19
|
||||||
*
|
*
|
||||||
* Licensed under the MIT license.
|
* Licensed under the MIT license.
|
||||||
* https://github.com/zixaphir/appchan-x/blob/master/LICENSE
|
* https://github.com/zixaphir/appchan-x/blob/master/LICENSE
|
||||||
@ -12129,7 +12129,21 @@
|
|||||||
|
|
||||||
Style = {
|
Style = {
|
||||||
init: function() {
|
init: function() {
|
||||||
this.setup();
|
var i, item, items, theme;
|
||||||
|
|
||||||
|
theme = Themes[Conf['theme']] || Themes['Yotsuba B'];
|
||||||
|
Style.svg = $.el('div', {
|
||||||
|
id: 'svg_filters'
|
||||||
|
});
|
||||||
|
items = [['layoutCSS', Style.layout, 'layout'], ['themeCSS', Style.theme(theme), 'theme'], ['emojiCSS', Emoji.css(), 'emoji'], ['dynamicCSS', Style.dynamic(), 'dynamic'], ['icons', "", 'icons'], ['paddingSheet', "", 'padding'], ['mascot', "", 'mascotSheet']];
|
||||||
|
i = 0;
|
||||||
|
while (item = items[i++]) {
|
||||||
|
Style[item[0]] = $.addStyle(item[1], item[2]);
|
||||||
|
}
|
||||||
|
$.addStyle(JSColor.css(), 'jsColor');
|
||||||
|
$.asap((function() {
|
||||||
|
return d.head;
|
||||||
|
}), Style.observe);
|
||||||
$.asap((function() {
|
$.asap((function() {
|
||||||
return d.body;
|
return d.body;
|
||||||
}), this.asapInit);
|
}), this.asapInit);
|
||||||
@ -12191,57 +12205,42 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
setup: function() {
|
|
||||||
var i, item, items, theme;
|
|
||||||
|
|
||||||
theme = Themes[Conf['theme']] || Themes['Yotsuba B'];
|
|
||||||
Style.svg = $.el('div', {
|
|
||||||
id: 'svg_filters'
|
|
||||||
});
|
|
||||||
items = [['layoutCSS', Style.layout, 'layout'], ['themeCSS', Style.theme(theme), 'theme'], ['emojiCSS', Emoji.css(), 'emoji'], ['dynamicCSS', Style.dynamic(), 'dynamic'], ['icons', "", 'icons'], ['paddingSheet', "", 'padding'], ['mascot', "", 'mascotSheet']];
|
|
||||||
i = 0;
|
|
||||||
while (item = items[i++]) {
|
|
||||||
Style[item[0]] = $.addStyle(item[1], item[2]);
|
|
||||||
}
|
|
||||||
$.addStyle(JSColor.css(), 'jsColor');
|
|
||||||
if (d.head) {
|
|
||||||
this.remStyle();
|
|
||||||
}
|
|
||||||
return this.observe();
|
|
||||||
},
|
|
||||||
observe: function() {
|
observe: function() {
|
||||||
var onMutationObserver;
|
var onMutationObserver;
|
||||||
|
|
||||||
if (window.MutationObserver) {
|
if (window.MutationObserver) {
|
||||||
Style.observer = new MutationObserver(onMutationObserver = this.wrapper);
|
Style.observer = new MutationObserver(onMutationObserver = Style.wrapper);
|
||||||
return Style.observer.observe(d, {
|
return Style.observer.observe(d.head, {
|
||||||
childList: true,
|
childList: true,
|
||||||
subtree: true
|
subtree: true
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
return $.on(d, 'DOMNodeInserted', this.wrapper);
|
return $.on(d.head, 'DOMNodeInserted', Style.wrapper);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
wrapper: function() {
|
wrapper: function() {
|
||||||
if (d.head) {
|
var first;
|
||||||
Style.remStyle();
|
|
||||||
if (d.readyState === 'complete') {
|
first = {
|
||||||
if (Style.observer) {
|
addedNodes: d.head.children
|
||||||
return Style.observer.disconnect();
|
};
|
||||||
} else {
|
Style.remStyle(first);
|
||||||
return $.off(d, 'DOMNodeInserted', Style.wrapper);
|
if (d.readyState === 'complete') {
|
||||||
}
|
if (Style.observer) {
|
||||||
|
return Style.observer.disconnect();
|
||||||
|
} else {
|
||||||
|
return $.off(d, 'DOMNodeInserted', Style.wrapper);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
remStyle: function() {
|
remStyle: function(_arg) {
|
||||||
var href, i, node, nodes;
|
var addedNodes, href, i, node;
|
||||||
|
|
||||||
nodes = d.head.children;
|
addedNodes = _arg.addedNodes;
|
||||||
i = nodes.length;
|
i = addedNodes.length;
|
||||||
while (i--) {
|
while (i--) {
|
||||||
node = nodes[i];
|
node = addedNodes[i];
|
||||||
if (node.id || !['STYLE', 'LINK'].contains(node.nodeName) || node.rel && !(/stylesheet/.test(node.rel) || (/flags.*\.css$/.test(href = node.href) || href.slice(0, 4) === 'data')) || (/\.typeset/.test(node.textContent))) {
|
if (node.nodeName === 'STYLE' && node.id || node.nodeName !== 'LINK' || node.rel && (!/stylesheet/.test(node.rel) || /flags.*\.css$/.test(href = node.href) || href.slice(0, 4) === 'data') || /\.typeset/.test(node.textContent)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$.rm(node);
|
$.rm(node);
|
||||||
|
|||||||
@ -1,6 +1,28 @@
|
|||||||
Style =
|
Style =
|
||||||
init: ->
|
init: ->
|
||||||
@setup()
|
theme = Themes[Conf['theme']] or Themes['Yotsuba B']
|
||||||
|
Style.svg = $.el 'div',
|
||||||
|
id: 'svg_filters'
|
||||||
|
|
||||||
|
items = [
|
||||||
|
['layoutCSS', Style.layout, 'layout']
|
||||||
|
['themeCSS', Style.theme(theme), 'theme']
|
||||||
|
['emojiCSS', Emoji.css(), 'emoji']
|
||||||
|
['dynamicCSS', Style.dynamic(), 'dynamic']
|
||||||
|
['icons', "", 'icons']
|
||||||
|
['paddingSheet', "", 'padding']
|
||||||
|
['mascot', "", 'mascotSheet']
|
||||||
|
]
|
||||||
|
|
||||||
|
i = 0
|
||||||
|
while item = items[i++]
|
||||||
|
Style[item[0]] = $.addStyle item[1], item[2]
|
||||||
|
|
||||||
|
# Non-customizable
|
||||||
|
$.addStyle JSColor.css(), 'jsColor'
|
||||||
|
|
||||||
|
$.asap (-> d.head), Style.observe
|
||||||
|
|
||||||
$.asap (-> d.body), @asapInit
|
$.asap (-> d.body), @asapInit
|
||||||
$.on window, "resize", Style.padding
|
$.on window, "resize", Style.padding
|
||||||
$.ready @readyInit
|
$.ready @readyInit
|
||||||
@ -47,61 +69,34 @@ Style =
|
|||||||
$.on exLink, "click", ->
|
$.on exLink, "click", ->
|
||||||
setTimeout Rice.nodes, 100
|
setTimeout Rice.nodes, 100
|
||||||
|
|
||||||
setup: ->
|
|
||||||
theme = Themes[Conf['theme']] or Themes['Yotsuba B']
|
|
||||||
Style.svg = $.el 'div',
|
|
||||||
id: 'svg_filters'
|
|
||||||
|
|
||||||
items = [
|
|
||||||
['layoutCSS', Style.layout, 'layout']
|
|
||||||
['themeCSS', Style.theme(theme), 'theme']
|
|
||||||
['emojiCSS', Emoji.css(), 'emoji']
|
|
||||||
['dynamicCSS', Style.dynamic(), 'dynamic']
|
|
||||||
['icons', "", 'icons']
|
|
||||||
['paddingSheet', "", 'padding']
|
|
||||||
['mascot', "", 'mascotSheet']
|
|
||||||
]
|
|
||||||
|
|
||||||
i = 0
|
|
||||||
while item = items[i++]
|
|
||||||
Style[item[0]] = $.addStyle item[1], item[2]
|
|
||||||
|
|
||||||
# Non-customizable
|
|
||||||
$.addStyle JSColor.css(), 'jsColor'
|
|
||||||
|
|
||||||
if d.head
|
|
||||||
@remStyle()
|
|
||||||
@observe()
|
|
||||||
|
|
||||||
observe: ->
|
observe: ->
|
||||||
if window.MutationObserver
|
if window.MutationObserver
|
||||||
Style.observer = new MutationObserver onMutationObserver = @wrapper
|
Style.observer = new MutationObserver onMutationObserver = Style.wrapper
|
||||||
Style.observer.observe d,
|
Style.observer.observe d.head,
|
||||||
childList: true
|
childList: true
|
||||||
subtree: true
|
subtree: true
|
||||||
else
|
else
|
||||||
$.on d, 'DOMNodeInserted', @wrapper
|
$.on d.head, 'DOMNodeInserted', Style.wrapper
|
||||||
|
|
||||||
wrapper: ->
|
wrapper: ->
|
||||||
if d.head
|
first = {addedNodes: d.head.children}
|
||||||
Style.remStyle()
|
Style.remStyle(first)
|
||||||
|
|
||||||
if d.readyState is 'complete'
|
if d.readyState is 'complete'
|
||||||
if Style.observer
|
if Style.observer
|
||||||
Style.observer.disconnect()
|
Style.observer.disconnect()
|
||||||
else
|
else
|
||||||
$.off d, 'DOMNodeInserted', Style.wrapper
|
$.off d, 'DOMNodeInserted', Style.wrapper
|
||||||
|
|
||||||
remStyle: ->
|
remStyle: ({addedNodes}) ->
|
||||||
nodes = d.head.children
|
i = addedNodes.length
|
||||||
i = nodes.length
|
|
||||||
while i--
|
while i--
|
||||||
node = nodes[i]
|
node = addedNodes[i]
|
||||||
|
|
||||||
continue if node.id or
|
continue if node.nodeName is 'STYLE' and node.id or
|
||||||
!['STYLE', 'LINK'].contains(node.nodeName) or
|
node.nodeName isnt 'LINK' or
|
||||||
node.rel and !(/stylesheet/.test(node.rel) or (/flags.*\.css$/.test(href = node.href) or href[..3] is 'data')) or
|
node.rel and ((!/stylesheet/.test(node.rel) or /flags.*\.css$/.test(href = node.href) or href[..3] is 'data')) or
|
||||||
(/\.typeset/.test node.textContent)
|
/\.typeset/.test node.textContent
|
||||||
$.rm node
|
$.rm node
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user