├── .gitignore
├── .jpmignore
├── LICENSE
├── README.md
├── data
├── icon128.png
├── icon16.png
├── icon48.png
├── mplus-1p-bold-sub-woff.css
├── pace-option.js
├── pace.css
├── pace.min.js
├── starlight-loading.css
└── starlight-loading.js
├── doc
├── demo.gif
└── deploy.md
├── index.js
├── manifest.json
├── package.json
├── starlight-loading-latest.update.rdf
├── starlight-loading.min.css
├── starlight-loading.min.js
├── starlight_loading-latest.xpi
├── test.html
└── test
└── test-index.js
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules/
--------------------------------------------------------------------------------
/.jpmignore:
--------------------------------------------------------------------------------
1 | .git
2 | doc
3 | node_modules
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 megane42
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 |
7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Starlight Loading
2 |
3 | > Anytime, Anywhere with Cinderella.
4 |
5 | 
6 |
7 | * **Starlight Loading** is a set of Firefox / Chrome Addon and Javascript Component.
8 | * If you are a Firefox / Chrome user:
9 | * You can see a starry loading screen whenever you open a website.
10 | * If you are a web master:
11 | * You can introduce a starry loading screen into your website.
12 |
13 | ## For Firefox / Chrome User
14 |
15 | ### Install
16 |
17 | * Install add-on from http://starlight.tsudanuma-studio.net/
18 |
19 | ### Caveat
20 |
21 | * I **DO NOT** assure that Starlight Loading works on every site without problems.
22 | * I cannot be responsible for any trouble caused by using this add-on.
23 |
24 | ## For Web M@ster
25 |
26 | ### Install
27 |
28 | * Download these 2 files:
29 | * [starlight-loading.min.js](starlight-loading.min.js)
30 | * [starlight-loading.min.css](starlight-loading.min.css)
31 |
32 | * Add 2 lines into your page:
33 |
34 | ```html
35 |
36 |
37 |
38 | ...
39 | ```
40 |
41 | The above sample is equivarent to the following:
42 |
43 | ```html
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 | ...
52 | ```
53 |
54 | * See also: [Build JS & CSS](#build-js--css)
55 |
56 | ### Supported Browsers
57 |
58 | * Recent browsers
59 | * Smartphones are NOT supported
60 |
61 | ## For Contributor
62 |
63 | ### Install
64 |
65 | * `$ git clone https://github.com/megane42/starlight-loading.git`
66 | * `$ cd starlight-loading`
67 | * `$ brew install node`
68 |
69 | ### Build JS & CSS
70 |
71 | * `$ npm install`
72 | * `$ npm run build`
73 | * Sometime it doesn't work well...
74 |
75 | ### Build & Run as a Firefox Addon
76 |
77 | * `$ npm install jpm --global`
78 | * `$ jpm run`
79 |
80 | ### Build & Run as a Chrome Addon
81 |
82 | * Open `chrome://settings/` in Chrome
83 | * Click Developer mode > Load unpacked extensions...
84 | * Select starlight-loading directory
85 |
86 | ### How does it works?
87 |
88 | FIXME
89 |
90 | ## Credits
91 |
92 | * Progress bar: [Pace.js](http://github.hubspot.com/pace/docs/welcome/)
93 | * Web font: [M+ Fonts](https://mplus-fonts.osdn.jp/)
94 | * Heart icon & some css advice : [@mikeda3](https://github.com/mikeda3)
95 | * Conversely, Starlight Loading is not endorsed by nor affiliated with BANDAI NAMCO.
96 |
97 | ## Author
98 |
99 | * megane42
100 | * https://twitter.com/megane42
101 | * https://deresute.me/582302781
102 |
--------------------------------------------------------------------------------
/data/icon128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/megane42/starlight-loading/30b96c2b17b438048bd51b30a4a83f61f25f6de2/data/icon128.png
--------------------------------------------------------------------------------
/data/icon16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/megane42/starlight-loading/30b96c2b17b438048bd51b30a4a83f61f25f6de2/data/icon16.png
--------------------------------------------------------------------------------
/data/icon48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/megane42/starlight-loading/30b96c2b17b438048bd51b30a4a83f61f25f6de2/data/icon48.png
--------------------------------------------------------------------------------
/data/mplus-1p-bold-sub-woff.css:
--------------------------------------------------------------------------------
1 | /*
2 | * NOTE:
3 | * Since downloading web font via CORS is not allowed, I serialized the font and put it directly.
4 | * See: http://stackoverflow.com/questions/24357596/firefox-extension-custom-fonts
5 | *
6 | * 1. Get the subset of font which has only characters I use:
7 | * http://mplus.font-face.jp/
8 | *
9 | * 2. Encode it:
10 | * http://dopiaza.org/tools/datauri/index.php
11 | */
12 |
13 | @font-face {
14 | font-family: 'M+ 1p bold';
15 | src: url(data:application/octet-stream;base64,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) format('woff');
16 | }
17 |
--------------------------------------------------------------------------------
/data/pace-option.js:
--------------------------------------------------------------------------------
1 | window.paceOptions = {
2 | // wait for handler to be registered
3 | startOnPageLoad: false
4 | };
5 |
--------------------------------------------------------------------------------
/data/pace.css:
--------------------------------------------------------------------------------
1 | .pace {
2 | -webkit-pointer-events: none;
3 | pointer-events: none;
4 |
5 | -webkit-user-select: none;
6 | -moz-user-select: none;
7 | user-select: none;
8 |
9 | z-index: 20000;
10 | position: fixed;
11 | left: 82px;
12 | bottom: 95px;
13 | height: 14px;
14 | width: 420px;
15 | background: #1d1d1d;
16 | border: 0px;
17 |
18 | overflow: hidden;
19 | }
20 |
21 | .pace .pace-progress {
22 | -webkit-box-sizing: border-box;
23 | -moz-box-sizing: border-box;
24 | -ms-box-sizing: border-box;
25 | -o-box-sizing: border-box;
26 | box-sizing: border-box;
27 |
28 | -webkit-transform: translate3d(0, 0, 0);
29 | -moz-transform: translate3d(0, 0, 0);
30 | -ms-transform: translate3d(0, 0, 0);
31 | -o-transform: translate3d(0, 0, 0);
32 | transform: translate3d(0, 0, 0);
33 |
34 | position: fixed;
35 | z-index: 20000;
36 | display: block;
37 | position: absolute;
38 | top: 0;
39 | right: 100%;
40 | height: 100%;
41 | width: 100%;
42 | background: linear-gradient(to bottom, #71dbf6, #1babed);
43 | }
44 |
45 | .pace.pace-inactive {
46 | display: none;
47 | }
--------------------------------------------------------------------------------
/data/pace.min.js:
--------------------------------------------------------------------------------
1 | /*! pace 1.0.0 */
2 | (function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e,f;f=[];for(d in b.prototype)try{e=b.prototype[d],f.push(null==a[d]&&"function"!=typeof e?a[d]=e:void 0)}catch(g){c=g}return f},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return h.progress=a.lengthComputable?100*a.loaded/a.total:h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this);
--------------------------------------------------------------------------------
/data/starlight-loading.css:
--------------------------------------------------------------------------------
1 | .starlight-loading div {
2 | margin: 0px;
3 | padding: 0px;
4 | box-sizing: content-box;
5 | }
6 |
7 | .starlight-loading p {
8 | margin: 0px;
9 | padding: 0px;
10 | box-sizing: content-box;
11 | }
12 |
13 | .starlight-back {
14 | top: 0px;
15 | left: 0px;
16 | width: 100%;
17 | height: 100vh;
18 | background: #1d1d1d;
19 | z-index: 15000;
20 | position: fixed;
21 | }
22 |
23 | .starlight-panel {
24 | border: 2px #ddd solid;
25 | border-radius: 10px;
26 | background: linear-gradient(#c6c6c6, #b5b5b5);
27 | width: 479px;
28 | height: 139px;
29 | z-index: 16000;
30 | position: fixed;
31 | bottom: 30px;
32 | left: 50px;
33 | box-shadow: 4px 4px 10px #090909;
34 | }
35 |
36 | .starlight-panel p {
37 | color: #363636;
38 | font-size: 17px;
39 | font-family: 'M+ 1p bold';
40 | line-height: 1.4em;
41 | transform: rotate(0.028deg);
42 | }
43 |
44 | .starlight-panel .message-up {
45 | margin: 0px;
46 | padding: 0px;
47 | text-align: left;
48 | position: relative;
49 | top: 32px;
50 | left: 128px;
51 | }
52 |
53 | .starlight-panel .message-down {
54 | margin: 0px;
55 | padding: 0px;
56 | text-align: center;
57 | position: relative;
58 | top: 63px;
59 | }
60 |
61 | .starlight-panel .progress-border {
62 | border: 1px #000 solid;
63 | border-radius: 3px;
64 | width: 424px;
65 | height: 18px;
66 | z-index: 17000;
67 | position: fixed;
68 | left: 79px;
69 | bottom: 92px;
70 | }
71 |
72 | .starlight-ratio {
73 | bottom: 114px;
74 | left: 355px;
75 | z-index: 17000;
76 | position: fixed;
77 | color: #363636;
78 | font-size: 16px;
79 | font-weight: bold;
80 | font-family: 'M+ 1p bold';
81 | line-height: 1.6em;
82 | /* for anti alias */
83 | transform: rotate(0.028deg);
84 | }
85 |
86 | .starlight-banner p {
87 | bottom: 22px;
88 | right: 100px;
89 | z-index: 16000;
90 | position: fixed;
91 | color: #fff;
92 | font-size: 40px;
93 | font-family: 'M+ 1p bold';
94 | line-height: 1.4em;
95 | }
96 |
97 | .starlight-loading.hide {
98 | display: none;
99 | }
100 |
101 | .starlight-loading .heart {
102 | bottom: 13px;
103 | right: 0;
104 | z-index: 16000;
105 | position: fixed;
106 | width: 104.6px;
107 | height: 95.4px;
108 | margin: 20px;
109 | background: url("data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22104.6px%22%20height%3D%2295.4px%22%20viewBox%3D%220%200%20104.6%2095.4%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E.st0%7Bfill%3A%23FFFFFF%3B%7D%3C%2Fstyle%3E%3Cg%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M69.5%2C28c-7.7%2C0-16.2%2C3.7-20.2%2C11.8l-0.9%2C2C46%2C47.1%2C46.1%2C52%2C46.1%2C53.1c0.4%2C10.5%2C7.6%2C12.9%2C9%2C22c1.6%2C10-5.6%2C17.2-6.2%2C20.2c0%2C0%2C0.1%2C0.1%2C0.5%2C0.1c0.4%2C0%2C0.8-0.1%2C1.1-0.3c1.6-1%2C39.9-24.7%2C39.9-47.8C90.4%2C34.6%2C79.9%2C28%2C69.5%2C28z%20M71.7%2C61.1c-1.4-11.1-2.4-12.5-11.5-14.1c9.1-1.7%2C10.2-3%2C11.5-14.1c1.4%2C11.1%2C2.4%2C12.5%2C11.5%2C14.1C74.1%2C48.6%2C73%2C49.9%2C71.7%2C61.1z%20M62.4%2C72.6c-0.9-7.3-1.6-8.1-7.5-9.2c5.9-1.1%2C6.6-2%2C7.5-9.2c0.9%2C7.3%2C1.6%2C8.1%2C7.5%2C9.2C64%2C64.5%2C63.3%2C65.4%2C62.4%2C72.6z%22%2F%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M8.6%2C52.8l-5.3%2C4.7c-0.4%2C0.4-0.1%2C1.1%2C0.5%2C1l5.9-1.3C9.2%2C55.8%2C8.8%2C54.3%2C8.6%2C52.8z%22%2F%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M8.3%2C49.1c0-1.5%2C0.1-2.9%2C0.4-4.3l-8.3%2C1.4c-0.6%2C0.1-0.7%2C0.9-0.1%2C1.1l8%2C3.4C8.3%2C50.1%2C8.3%2C49.6%2C8.3%2C49.1z%22%2F%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M52.2%2C75.6c-0.5-3.5-2.1-5.8-3.9-8.5c-2.3-3.4-4.9-7.3-5.2-13.9c-0.1-2.4%2C0.1-7.3%2C2.6-12.7L46%2C40c-3.8-6.5-10.8-8.8-16.4-8.8c-5.6%2C0-10.4%2C1.9-13.7%2C5.6c-2.9%2C3.2-4.6%2C7.7-4.6%2C12.3c0%2C9.4%2C6.6%2C19.9%2C19%2C30.3c6.9%2C5.8%2C13.7%2C9.9%2C17.2%2C11.9c0.2-0.3%2C0.3-0.6%2C0.5-0.9C50.2%2C86.8%2C53.1%2C81.8%2C52.2%2C75.6z%20M21.7%2C48.7c-1.6%2C0-2.9-1.5-2.9-3.3c0-1.8%2C1.3-3.3%2C2.9-3.3c1.6%2C0%2C2.9%2C1.5%2C2.9%2C3.3C24.6%2C47.2%2C23.3%2C48.7%2C21.7%2C48.7z%22%2F%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M57.1%2C16.1c-1.1%2C0-2%2C0.9-2%2C2c0%2C0.9%2C0.6%2C1.6%2C1.4%2C1.9c-0.4%2C1.2-1.6%2C4.2-4.4%2C4.2c-2.9%2C0-4.1-4.5-4.4-6.1c1.1-0.3%2C1.9-1.2%2C1.9-2.4c0-1.4-1.1-2.5-2.5-2.5c-1.4%2C0-2.5%2C1.1-2.5%2C2.5c0%2C1.2%2C0.8%2C2.2%2C1.9%2C2.4c-0.3%2C1.5-1.5%2C6.1-4.4%2C6.1c-2.9%2C0-4-3.1-4.4-4.3c0.8-0.3%2C1.4-1%2C1.4-1.9c0-1.1-0.9-2-2-2c-1.1%2C0-2%2C0.9-2%2C2c0%2C1%2C0.7%2C1.8%2C1.6%2C2l1.9%2C10.8c0%2C0.2%2C0.2%2C0.4%2C0.5%2C0.4h16c0.2%2C0%2C0.4-0.2%2C0.5-0.4l2-10.7c0.9-0.2%2C1.6-1%2C1.6-1.9C59.1%2C17%2C58.2%2C16.1%2C57.1%2C16.1z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat;
110 | -webkit-animation: spinner 2s infinite linear;
111 | -moz-animation: spinner 2s infinite linear;
112 | -o-animation: spinner 2s infinite linear;
113 | animation: spinner 2s infinite linear;
114 | perspective: 500px;
115 | transform-style: preserve-3d;
116 | }
117 |
118 | .starlight-loading .heart svg {
119 | width: 100%;
120 | }
121 |
122 | @-webkit-keyframes spinner {
123 | 0% {
124 | transform: translateX(50%);
125 | -webkit-transform: rotate3d(0, 1, 0, 0deg);
126 | -ms-transform: rotate3d(0, 1, 0, 0deg);
127 | -o-transform: rotate3d(0, 1, 0, 0deg);
128 | transform: rotate3d(0, 1, 0, 0deg);
129 | }
130 |
131 | 50% {
132 | transform: translateX(50%);
133 | -webkit-transform: rotate3d(0, 1, 0, 180deg);
134 | -ms-transform: rotate3d(0, 1, 0, 180deg);
135 | -o-transform: rotate3d(0, 1, 0, 180deg);
136 | transform: rotate3d(0, 1, 0, 180deg);
137 | }
138 |
139 | 100% {
140 | transform: translateX(50%);
141 | -webkit-transform: rotate3d(0, 1, 0, 360deg);
142 | -ms-transform: rotate3d(0, 1, 0, 360deg);
143 | -o-transform: rotate3d(0, 1, 0, 360deg);
144 | transform: rotate3d(0, 1, 0, 360deg);
145 | }
146 | }
147 |
148 | @-moz-keyframes spinner {
149 | 0% {
150 | -webkit-transform: rotate3d(0, 1, 0, 0deg);
151 | -ms-transform: rotate3d(0, 1, 0, 0deg);
152 | -o-transform: rotate3d(0, 1, 0, 0deg);
153 | transform: rotate3d(0, 1, 0, 0deg);
154 | }
155 |
156 | 50% {
157 | -webkit-transform: rotate3d(0, 1, 0, 180deg);
158 | -ms-transform: rotate3d(0, 1, 0, 180deg);
159 | -o-transform: rotate3d(0, 1, 0, 180deg);
160 | transform: rotate3d(0, 1, 0, 180deg);
161 | }
162 |
163 | 100% {
164 | -webkit-transform: rotate3d(0, 1, 0, 360deg);
165 | -ms-transform: rotate3d(0, 1, 0, 360deg);
166 | -o-transform: rotate3d(0, 1, 0, 360deg);
167 | transform: rotate3d(0, 1, 0, 360deg);
168 | }
169 | }
170 |
171 | @-ms-keyframes spinner {
172 | 0% {
173 | -webkit-transform: rotate3d(0, 1, 0, 0deg);
174 | -ms-transform: rotate3d(0, 1, 0, 0deg);
175 | -o-transform: rotate3d(0, 1, 0, 0deg);
176 | transform: rotate3d(0, 1, 0, 0deg);
177 | }
178 |
179 | 50% {
180 | -webkit-transform: rotate3d(0, 1, 0, 180deg);
181 | -ms-transform: rotate3d(0, 1, 0, 180deg);
182 | -o-transform: rotate3d(0, 1, 0, 180deg);
183 | transform: rotate3d(0, 1, 0, 180deg);
184 | }
185 |
186 | 100% {
187 | -webkit-transform: rotate3d(0, 1, 0, 360deg);
188 | -ms-transform: rotate3d(0, 1, 0, 360deg);
189 | -o-transform: rotate3d(0, 1, 0, 360deg);
190 | transform: rotate3d(0, 1, 0, 360deg);
191 | }
192 | }
193 |
194 | @-o-keyframes spinner {
195 | 0% {
196 | -webkit-transform: rotate3d(0, 1, 0, 0deg);
197 | -ms-transform: rotate3d(0, 1, 0, 0deg);
198 | -o-transform: rotate3d(0, 1, 0, 0deg);
199 | transform: rotate3d(0, 1, 0, 0deg);
200 | }
201 |
202 | 50% {
203 | -webkit-transform: rotate3d(0, 1, 0, 180deg);
204 | -ms-transform: rotate3d(0, 1, 0, 180deg);
205 | -o-transform: rotate3d(0, 1, 0, 180deg);
206 | transform: rotate3d(0, 1, 0, 180deg);
207 | }
208 |
209 | 100% {
210 | -webkit-transform: rotate3d(0, 1, 0, 360deg);
211 | -ms-transform: rotate3d(0, 1, 0, 360deg);
212 | -o-transform: rotate3d(0, 1, 0, 360deg);
213 | transform: rotate3d(0, 1, 0, 360deg);
214 | }
215 | }
216 |
217 | @keyframes spinner {
218 | 0% {
219 | -webkit-transform: rotate3d(0, 1, 0, 0deg);
220 | -ms-transform: rotate3d(0, 1, 0, 0deg);
221 | -o-transform: rotate3d(0, 1, 0, 0deg);
222 | transform: rotate3d(0, 1, 0, 0deg);
223 | }
224 |
225 | 50% {
226 | -webkit-transform: rotate3d(0, 1, 0, 180deg);
227 | -ms-transform: rotate3d(0, 1, 0, 180deg);
228 | -o-transform: rotate3d(0, 1, 0, 180deg);
229 | transform: rotate3d(0, 1, 0, 180deg);
230 | }
231 |
232 | 100% {
233 | -webkit-transform: rotate3d(0, 1, 0, 360deg);
234 | -ms-transform: rotate3d(0, 1, 0, 360deg);
235 | -o-transform: rotate3d(0, 1, 0, 360deg);
236 | transform: rotate3d(0, 1, 0, 360deg);
237 | }
238 | }
--------------------------------------------------------------------------------
/data/starlight-loading.js:
--------------------------------------------------------------------------------
1 | // Define as a global param in order to make it disconnectable.
2 | var observer = new MutationObserver(function (mutation){
3 | // When pace-progress's "data-progress-text" is mutated, the following code runs.
4 | var progressRatio = mutation[0].target.getAttribute("data-progress-text");
5 | document.getElementsByClassName("starlight-ratio")[0].textContent = progressRatio;
6 | });
7 |
8 | Pace.on('start', function() {
9 | var wrapper = document.createElement('div');
10 | var back = document.createElement('div');
11 | var banner = document.createElement('div');
12 | var panel = document.createElement('div');
13 | var ratio = document.createElement('div');
14 |
15 | wrapper.className = 'starlight-loading';
16 | back.className = 'starlight-back';
17 | banner.className = 'starlight-banner';
18 | panel.className = 'starlight-panel';
19 | ratio.className = 'starlight-ratio';
20 |
21 | // --------------------------------------------------
22 | // Setup starlight-panel
23 |
24 | var message_up = document.createElement('p');
25 | var message_dn = document.createElement('p');
26 | message_up.className = 'message-up';
27 | message_dn.className = 'message-down';
28 | message_up.appendChild(document.createTextNode('データダウンロード中'));
29 | message_dn.appendChild(document.createTextNode('※通信環境の良い所で実行してください'));
30 | panel.appendChild(message_up);
31 | panel.appendChild(message_dn);
32 |
33 | var progress_border = document.createElement('div');
34 | progress_border.className = 'progress-border';
35 | panel.appendChild(progress_border);
36 |
37 | // --------------------------------------------------
38 | // Setup starlight-banner
39 |
40 | var nowLoading = document.createElement('p');
41 | nowLoading.appendChild(document.createTextNode('Now Loading...'));
42 | banner.appendChild(nowLoading);
43 |
44 | var heart = document.createElement('div');
45 | heart.className = 'heart';
46 | banner.appendChild(heart);
47 |
48 | // --------------------------------------------------
49 | // Setup starlight-ratio
50 |
51 | // check if pace-progress's "data-progress-text" is mutated by pace.js
52 | var progressElem = document.getElementsByClassName("pace-progress")[0];
53 | observer.observe(progressElem, {attributes: true, attributeFilter: ["data-progress-text"]});
54 |
55 | // --------------------------------------------------
56 | // Integrate
57 |
58 | wrapper.appendChild(back);
59 | wrapper.appendChild(banner);
60 | wrapper.appendChild(panel);
61 | wrapper.appendChild(ratio);
62 | document.body.appendChild(wrapper);
63 | });
64 |
65 | Pace.on('done', function() {
66 | var wrapper = document.getElementsByClassName("starlight-loading")[0];
67 | wrapper.classList.add("hide");
68 | observer.disconnect();
69 | });
70 |
71 | // support no smartphones
72 | if(!navigator.userAgent.match(/(iPhone|iPad|iPod|Android)/)){
73 | Pace.start();
74 | }
75 |
--------------------------------------------------------------------------------
/doc/demo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/megane42/starlight-loading/30b96c2b17b438048bd51b30a4a83f61f25f6de2/doc/demo.gif
--------------------------------------------------------------------------------
/doc/deploy.md:
--------------------------------------------------------------------------------
1 | # デプロイ方法
2 |
3 | ## Firefox
4 |
5 | * package.json のバージョンを最新の値に変更
6 | * ルートディレクトリから古い xpi を削除
7 | * `$ jpm sign --api-key ${AMO_API_KEY} --api-secret ${AMO_API_SECRET}`
8 | * キーとシークレット: https://addons.mozilla.org/en-US/developers/addon/api/key/
9 | * ダウンロードされた署名済みの xpi を starlight_loading-latest.xpi にリネーム
10 | * starlight-loading-latest.update.rdf を開いてバージョンを最新の値に変更
11 | * `$ git push origin master`
12 | * `$ git checkout gh-pages`
13 | * `$ git merge master`
14 | * `$ git push origin gh-pages`
15 |
16 | ## Chrome
17 |
18 | * manifest.json のバージョンを最新の値に変更
19 | * 必要なファイルだけ zip で固める
20 | * https://chrome.google.com/webstore/developer/dashboard
21 | * 新しいアイテムを追加(初回)or 編集する(更新時)
22 | * zip をアップロード
23 |
24 | ## JS / CSS
25 |
26 | * `$ npm run build-js`
27 | * `$ npm run build-css`
28 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | var data = require("sdk/self").data;
2 | var pageMod = require("sdk/page-mod");
3 |
4 | pageMod.PageMod({
5 | include: "*",
6 | contentScriptWhen: "start",
7 | contentScriptFile: [data.url("pace-option.js"),
8 | data.url("pace.min.js"),
9 | data.url("starlight-loading.js")],
10 | contentStyleFile: [data.url("pace.css"),
11 | data.url("mplus-1p-bold-sub-woff.css"),
12 | data.url("starlight-loading.css")]
13 | });
14 |
--------------------------------------------------------------------------------
/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Starlight Loading",
3 | "version": "0.1.2",
4 | "manifest_version": 2,
5 | "description": "Starlight Stage Load Screen Emulator",
6 | "homepage_url": "http://starlight.tsudanuma-studio.net/",
7 | "icons": {
8 | "16": "data/icon16.png",
9 | "48": "data/icon48.png",
10 | "128": "data/icon128.png"
11 | },
12 | "content_scripts": [
13 | {
14 | "matches": ["*://*/*"],
15 | "js" : ["data/pace-option.js", "data/pace.min.js", "data/starlight-loading.js"],
16 | "css": ["data/pace.css", "data/mplus-1p-bold-sub-woff.css", "data/starlight-loading.css"],
17 | "run_at": "document_start"
18 | }
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "title": "Starlight Loading",
3 | "name": "starlight-loading",
4 | "version": "0.1.3",
5 | "description": "Starlight Stage Load Screen Emulator",
6 | "main": "index.js",
7 | "author": "megane42",
8 | "icon": "resource://starlight-loading/data/icon48.png",
9 | "homepage": "http://starlight.tsudanuma-studio.net/",
10 | "updateURL": "https://github.com/megane42/starlight-loading/blob/master/starlight-loading-latest.update.rdf?raw=true",
11 | "updateLink": "https://github.com/megane42/starlight-loading/blob/master/starlight_loading-latest.xpi?raw=true",
12 | "engines": {
13 | "firefox": ">=38.0a1",
14 | "fennec": ">=38.0a1"
15 | },
16 | "license": "MIT",
17 | "keywords": [
18 | "jetpack"
19 | ],
20 | "devDependencies": {
21 | "clean-css": "^3.4.12",
22 | "posix-cat": "^1.1.1",
23 | "uglifyjs": "^2.4.10"
24 | },
25 | "scripts": {
26 | "cat-js" : "cat data/pace-option.js data/pace.min.js data/starlight-loading.js",
27 | "cat-css" : "cat data/mplus-1p-bold-sub-woff.css data/pace.css data/starlight-loading.css",
28 | "build-js" : "npm run -s cat-js | uglifyjs --compress --mangle - -o starlight-loading.min.js",
29 | "build-css" : "npm run -s cat-css | cleancss -o starlight-loading.min.css",
30 | "build" : "npm run build-js && npm run build-css"
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/starlight-loading-latest.update.rdf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | 0.1.3
9 |
10 |
11 |
12 | {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
13 | 38.0a1
14 | *
15 | https://github.com/megane42/starlight-loading/blob/master/starlight_loading-latest.xpi?raw=true
16 |
17 |
18 |
19 |
20 |
21 | {aa3c5121-dab2-40e2-81ca-7ea25febc110}
22 | 38.0a1
23 | *
24 | https://github.com/megane42/starlight-loading/blob/master/starlight_loading-latest.xpi?raw=true
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/starlight-loading.min.css:
--------------------------------------------------------------------------------
1 | @font-face{font-family:'M+ 1p bold';src:url(data:application/octet-stream;base64,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) format('woff')}.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:20000;position:fixed;left:82px;bottom:95px;height:14px;width:420px;background:#1d1d1d;border:0;overflow:hidden}.pace .pace-progress{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:20000;display:block;position:absolute;top:0;right:100%;height:100%;width:100%;background:linear-gradient(to bottom,#71dbf6,#1babed)}.starlight-panel p,.starlight-ratio{color:#363636;transform:rotate(.028deg);font-family:'M+ 1p bold'}.pace.pace-inactive,.starlight-loading.hide{display:none}.starlight-loading div,.starlight-loading p{margin:0;padding:0;box-sizing:content-box}.starlight-back{top:0;left:0;width:100%;height:100vh;background:#1d1d1d;z-index:15000;position:fixed}.starlight-panel{border:2px solid #ddd;border-radius:10px;background:linear-gradient(#c6c6c6,#b5b5b5);width:479px;height:139px;z-index:16000;position:fixed;bottom:30px;left:50px;box-shadow:4px 4px 10px #090909}.starlight-panel p{font-size:17px;line-height:1.4em}.starlight-panel .message-up{margin:0;padding:0;text-align:left;position:relative;top:32px;left:128px}.starlight-panel .message-down{margin:0;padding:0;text-align:center;position:relative;top:63px}.starlight-panel .progress-border{border:1px solid #000;border-radius:3px;width:424px;height:18px;z-index:17000;position:fixed;left:79px;bottom:92px}.starlight-ratio{bottom:114px;left:355px;z-index:17000;position:fixed;font-size:16px;font-weight:700;line-height:1.6em}.starlight-banner p{bottom:22px;right:100px;z-index:16000;position:fixed;color:#fff;font-size:40px;font-family:'M+ 1p bold';line-height:1.4em}.starlight-loading .heart{bottom:13px;right:0;z-index:16000;position:fixed;width:104.6px;height:95.4px;margin:20px;background:url(data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22104.6px%22%20height%3D%2295.4px%22%20viewBox%3D%220%200%20104.6%2095.4%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E.st0%7Bfill%3A%23FFFFFF%3B%7D%3C%2Fstyle%3E%3Cg%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M69.5%2C28c-7.7%2C0-16.2%2C3.7-20.2%2C11.8l-0.9%2C2C46%2C47.1%2C46.1%2C52%2C46.1%2C53.1c0.4%2C10.5%2C7.6%2C12.9%2C9%2C22c1.6%2C10-5.6%2C17.2-6.2%2C20.2c0%2C0%2C0.1%2C0.1%2C0.5%2C0.1c0.4%2C0%2C0.8-0.1%2C1.1-0.3c1.6-1%2C39.9-24.7%2C39.9-47.8C90.4%2C34.6%2C79.9%2C28%2C69.5%2C28z%20M71.7%2C61.1c-1.4-11.1-2.4-12.5-11.5-14.1c9.1-1.7%2C10.2-3%2C11.5-14.1c1.4%2C11.1%2C2.4%2C12.5%2C11.5%2C14.1C74.1%2C48.6%2C73%2C49.9%2C71.7%2C61.1z%20M62.4%2C72.6c-0.9-7.3-1.6-8.1-7.5-9.2c5.9-1.1%2C6.6-2%2C7.5-9.2c0.9%2C7.3%2C1.6%2C8.1%2C7.5%2C9.2C64%2C64.5%2C63.3%2C65.4%2C62.4%2C72.6z%22%2F%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M8.6%2C52.8l-5.3%2C4.7c-0.4%2C0.4-0.1%2C1.1%2C0.5%2C1l5.9-1.3C9.2%2C55.8%2C8.8%2C54.3%2C8.6%2C52.8z%22%2F%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M8.3%2C49.1c0-1.5%2C0.1-2.9%2C0.4-4.3l-8.3%2C1.4c-0.6%2C0.1-0.7%2C0.9-0.1%2C1.1l8%2C3.4C8.3%2C50.1%2C8.3%2C49.6%2C8.3%2C49.1z%22%2F%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M52.2%2C75.6c-0.5-3.5-2.1-5.8-3.9-8.5c-2.3-3.4-4.9-7.3-5.2-13.9c-0.1-2.4%2C0.1-7.3%2C2.6-12.7L46%2C40c-3.8-6.5-10.8-8.8-16.4-8.8c-5.6%2C0-10.4%2C1.9-13.7%2C5.6c-2.9%2C3.2-4.6%2C7.7-4.6%2C12.3c0%2C9.4%2C6.6%2C19.9%2C19%2C30.3c6.9%2C5.8%2C13.7%2C9.9%2C17.2%2C11.9c0.2-0.3%2C0.3-0.6%2C0.5-0.9C50.2%2C86.8%2C53.1%2C81.8%2C52.2%2C75.6z%20M21.7%2C48.7c-1.6%2C0-2.9-1.5-2.9-3.3c0-1.8%2C1.3-3.3%2C2.9-3.3c1.6%2C0%2C2.9%2C1.5%2C2.9%2C3.3C24.6%2C47.2%2C23.3%2C48.7%2C21.7%2C48.7z%22%2F%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M57.1%2C16.1c-1.1%2C0-2%2C0.9-2%2C2c0%2C0.9%2C0.6%2C1.6%2C1.4%2C1.9c-0.4%2C1.2-1.6%2C4.2-4.4%2C4.2c-2.9%2C0-4.1-4.5-4.4-6.1c1.1-0.3%2C1.9-1.2%2C1.9-2.4c0-1.4-1.1-2.5-2.5-2.5c-1.4%2C0-2.5%2C1.1-2.5%2C2.5c0%2C1.2%2C0.8%2C2.2%2C1.9%2C2.4c-0.3%2C1.5-1.5%2C6.1-4.4%2C6.1c-2.9%2C0-4-3.1-4.4-4.3c0.8-0.3%2C1.4-1%2C1.4-1.9c0-1.1-0.9-2-2-2c-1.1%2C0-2%2C0.9-2%2C2c0%2C1%2C0.7%2C1.8%2C1.6%2C2l1.9%2C10.8c0%2C0.2%2C0.2%2C0.4%2C0.5%2C0.4h16c0.2%2C0%2C0.4-0.2%2C0.5-0.4l2-10.7c0.9-0.2%2C1.6-1%2C1.6-1.9C59.1%2C17%2C58.2%2C16.1%2C57.1%2C16.1z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E) no-repeat;-webkit-animation:spinner 2s infinite linear;-moz-animation:spinner 2s infinite linear;-o-animation:spinner 2s infinite linear;animation:spinner 2s infinite linear;perspective:500px;transform-style:preserve-3d}.starlight-loading .heart svg{width:100%}@-webkit-keyframes spinner{0%{transform:translateX(50%);-webkit-transform:rotate3d(0,1,0,0deg);-ms-transform:rotate3d(0,1,0,0deg);-o-transform:rotate3d(0,1,0,0deg);transform:rotate3d(0,1,0,0deg)}50%{transform:translateX(50%);-webkit-transform:rotate3d(0,1,0,180deg);-ms-transform:rotate3d(0,1,0,180deg);-o-transform:rotate3d(0,1,0,180deg);transform:rotate3d(0,1,0,180deg)}100%{transform:translateX(50%);-webkit-transform:rotate3d(0,1,0,360deg);-ms-transform:rotate3d(0,1,0,360deg);-o-transform:rotate3d(0,1,0,360deg);transform:rotate3d(0,1,0,360deg)}}@-moz-keyframes spinner{0%{-webkit-transform:rotate3d(0,1,0,0deg);-ms-transform:rotate3d(0,1,0,0deg);-o-transform:rotate3d(0,1,0,0deg);transform:rotate3d(0,1,0,0deg)}50%{-webkit-transform:rotate3d(0,1,0,180deg);-ms-transform:rotate3d(0,1,0,180deg);-o-transform:rotate3d(0,1,0,180deg);transform:rotate3d(0,1,0,180deg)}100%{-webkit-transform:rotate3d(0,1,0,360deg);-ms-transform:rotate3d(0,1,0,360deg);-o-transform:rotate3d(0,1,0,360deg);transform:rotate3d(0,1,0,360deg)}}@-ms-keyframes spinner{0%{-webkit-transform:rotate3d(0,1,0,0deg);-ms-transform:rotate3d(0,1,0,0deg);-o-transform:rotate3d(0,1,0,0deg);transform:rotate3d(0,1,0,0deg)}50%{-webkit-transform:rotate3d(0,1,0,180deg);-ms-transform:rotate3d(0,1,0,180deg);-o-transform:rotate3d(0,1,0,180deg);transform:rotate3d(0,1,0,180deg)}100%{-webkit-transform:rotate3d(0,1,0,360deg);-ms-transform:rotate3d(0,1,0,360deg);-o-transform:rotate3d(0,1,0,360deg);transform:rotate3d(0,1,0,360deg)}}@-o-keyframes spinner{0%{-webkit-transform:rotate3d(0,1,0,0deg);-ms-transform:rotate3d(0,1,0,0deg);-o-transform:rotate3d(0,1,0,0deg);transform:rotate3d(0,1,0,0deg)}50%{-webkit-transform:rotate3d(0,1,0,180deg);-ms-transform:rotate3d(0,1,0,180deg);-o-transform:rotate3d(0,1,0,180deg);transform:rotate3d(0,1,0,180deg)}100%{-webkit-transform:rotate3d(0,1,0,360deg);-ms-transform:rotate3d(0,1,0,360deg);-o-transform:rotate3d(0,1,0,360deg);transform:rotate3d(0,1,0,360deg)}}@keyframes spinner{0%{-webkit-transform:rotate3d(0,1,0,0deg);-ms-transform:rotate3d(0,1,0,0deg);-o-transform:rotate3d(0,1,0,0deg);transform:rotate3d(0,1,0,0deg)}50%{-webkit-transform:rotate3d(0,1,0,180deg);-ms-transform:rotate3d(0,1,0,180deg);-o-transform:rotate3d(0,1,0,180deg);transform:rotate3d(0,1,0,180deg)}100%{-webkit-transform:rotate3d(0,1,0,360deg);-ms-transform:rotate3d(0,1,0,360deg);-o-transform:rotate3d(0,1,0,360deg);transform:rotate3d(0,1,0,360deg)}}
--------------------------------------------------------------------------------
/starlight-loading.min.js:
--------------------------------------------------------------------------------
1 | window.paceOptions={startOnPageLoad:!1},function(){var t,e,n,r,s,o,i,a,u,c,l,p,d,h,g,f,m,v,y,w,b,k,S,x,N,E,q,C,L,P,T,R,A,O,M,j,_,F,U,W,X,B,D,H,I,z,G,J,K,Q=[].slice,V={}.hasOwnProperty,Y=function(t,e){function n(){this.constructor=t}for(var r in e)V.call(e,r)&&(t[r]=e[r]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},Z=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};for(b={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},L=function(){var t;return null!=(t="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?t:+new Date},T=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,w=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==T&&(T=function(t){return setTimeout(t,50)},w=function(t){return clearTimeout(t)}),A=function(t){var e,n;return e=L(),(n=function(){var r;return r=L()-e,r>=33?(e=L(),t(r,function(){return T(n)})):setTimeout(n,33-r)})()},R=function(){var t,e,n;return n=arguments[0],e=arguments[1],t=3<=arguments.length?Q.call(arguments,2):[],"function"==typeof n[e]?n[e].apply(n,t):n[e]},k=function(){var t,e,n,r,s,o,i;for(e=arguments[0],r=2<=arguments.length?Q.call(arguments,1):[],o=0,i=r.length;i>o;o++)if(n=r[o])for(t in n)V.call(n,t)&&(s=n[t],null!=e[t]&&"object"==typeof e[t]&&null!=s&&"object"==typeof s?k(e[t],s):e[t]=s);return e},m=function(t){var e,n,r,s,o;for(n=e=0,s=0,o=t.length;o>s;s++)r=t[s],n+=Math.abs(r),e++;return n/e},x=function(t,e){var n,r,s;if(null==t&&(t="options"),null==e&&(e=!0),s=document.querySelector("[data-pace-"+t+"]")){if(n=s.getAttribute("data-pace-"+t),!e)return n;try{return JSON.parse(n)}catch(o){return r=o,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",r):void 0}}},i=function(){function t(){}return t.prototype.on=function(t,e,n,r){var s;return null==r&&(r=!1),null==this.bindings&&(this.bindings={}),null==(s=this.bindings)[t]&&(s[t]=[]),this.bindings[t].push({handler:e,ctx:n,once:r})},t.prototype.once=function(t,e,n){return this.on(t,e,n,!0)},t.prototype.off=function(t,e){var n,r,s;if(null!=(null!=(r=this.bindings)?r[t]:void 0)){if(null==e)return delete this.bindings[t];for(n=0,s=[];nD;D++)_=G[D],P[_]===!0&&(P[_]=b[_]);u=function(t){function e(){return J=e.__super__.constructor.apply(this,arguments)}return Y(e,t),e}(Error),e=function(){function t(){this.progress=0}return t.prototype.getElement=function(){var t;if(null==this.el){if(t=document.querySelector(P.target),!t)throw new u;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='\n
',null!=t.firstChild?t.insertBefore(this.el,t.firstChild):t.appendChild(this.el)}return this.el},t.prototype.finish=function(){var t;return t=this.getElement(),t.className=t.className.replace("pace-active",""),t.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},t.prototype.update=function(t){return this.progress=t,this.render()},t.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(t){u=t}return this.el=void 0},t.prototype.render=function(){var t,e,n,r,s,o,i;if(null==document.querySelector(P.target))return!1;for(t=this.getElement(),r="translate3d("+this.progress+"%, 0, 0)",i=["webkitTransform","msTransform","transform"],s=0,o=i.length;o>s;s++)e=i[s],t.children[0].style[e]=r;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(t.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?n="99":(n=this.progress<10?"0":"",n+=0|this.progress),t.children[0].setAttribute("data-progress",""+n)),this.lastRenderedProgress=this.progress},t.prototype.done=function(){return this.progress>=100},t}(),a=function(){function t(){this.bindings={}}return t.prototype.trigger=function(t,e){var n,r,s,o,i;if(null!=this.bindings[t]){for(o=this.bindings[t],i=[],r=0,s=o.length;s>r;r++)n=o[r],i.push(n.call(this,e));return i}},t.prototype.on=function(t,e){var n;return null==(n=this.bindings)[t]&&(n[t]=[]),this.bindings[t].push(e)},t}(),B=window.XMLHttpRequest,X=window.XDomainRequest,W=window.WebSocket,S=function(t,e){var n,r,s,o;o=[];for(r in e.prototype)try{s=e.prototype[r],o.push(null==t[r]&&"function"!=typeof s?t[r]=s:void 0)}catch(i){n=i}return o},q=[],c.ignore=function(){var t,e,n;return e=arguments[0],t=2<=arguments.length?Q.call(arguments,1):[],q.unshift("ignore"),n=e.apply(null,t),q.shift(),n},c.track=function(){var t,e,n;return e=arguments[0],t=2<=arguments.length?Q.call(arguments,1):[],q.unshift("track"),n=e.apply(null,t),q.shift(),n},j=function(t){var e;if(null==t&&(t="GET"),"track"===q[0])return"force";if(!q.length&&P.ajax){if("socket"===t&&P.ajax.trackWebSockets)return!0;if(e=t.toUpperCase(),Z.call(P.ajax.trackMethods,e)>=0)return!0}return!1},l=function(t){function e(){var t,n=this;e.__super__.constructor.apply(this,arguments),t=function(t){var e;return e=t.open,t.open=function(r,s){return j(r)&&n.trigger("request",{type:r,url:s,request:t}),e.apply(t,arguments)}},window.XMLHttpRequest=function(e){var n;return n=new B(e),t(n),n};try{S(window.XMLHttpRequest,B)}catch(r){}if(null!=X){window.XDomainRequest=function(){var e;return e=new X,t(e),e};try{S(window.XDomainRequest,X)}catch(r){}}if(null!=W&&P.ajax.trackWebSockets){window.WebSocket=function(t,e){var r;return r=null!=e?new W(t,e):new W(t),j("socket")&&n.trigger("request",{type:"socket",url:t,protocols:e,request:r}),r};try{S(window.WebSocket,W)}catch(r){}}}return Y(e,t),e}(a),H=null,N=function(){return null==H&&(H=new l),H},M=function(t){var e,n,r,s;for(s=P.ajax.ignoreURLs,n=0,r=s.length;r>n;n++)if(e=s[n],"string"==typeof e){if(-1!==t.indexOf(e))return!0}else if(e.test(t))return!0;return!1},N().on("request",function(e){var n,r,s,o,i;return o=e.type,s=e.request,i=e.url,M(i)?void 0:c.running||P.restartOnRequestAfter===!1&&"force"!==j(o)?void 0:(r=arguments,n=P.restartOnRequestAfter||0,"boolean"==typeof n&&(n=0),setTimeout(function(){var e,n,i,a,u,l;if(e="socket"===o?s.readyState<2:0<(a=s.readyState)&&4>a){for(c.restart(),u=c.sources,l=[],n=0,i=u.length;i>n;n++){if(_=u[n],_ instanceof t){_.watch.apply(_,r);break}l.push(void 0)}return l}},n))}),t=function(){function t(){var t=this;this.elements=[],N().on("request",function(){return t.watch.apply(t,arguments)})}return t.prototype.watch=function(t){var e,n,r,s;return r=t.type,e=t.request,s=t.url,M(s)?void 0:(n="socket"===r?new h(e):new g(e),this.elements.push(n))},t}(),g=function(){function t(t){var e,n,r,s,o,i,a=this;if(this.progress=0,null!=window.ProgressEvent)for(n=null,t.addEventListener("progress",function(t){return a.progress=t.lengthComputable?100*t.loaded/t.total:a.progress+(100-a.progress)/2},!1),i=["load","abort","timeout","error"],r=0,s=i.length;s>r;r++)e=i[r],t.addEventListener(e,function(){return a.progress=100},!1);else o=t.onreadystatechange,t.onreadystatechange=function(){var e;return 0===(e=t.readyState)||4===e?a.progress=100:3===t.readyState&&(a.progress=50),"function"==typeof o?o.apply(null,arguments):void 0}}return t}(),h=function(){function t(t){var e,n,r,s,o=this;for(this.progress=0,s=["error","open"],n=0,r=s.length;r>n;n++)e=s[n],t.addEventListener(e,function(){return o.progress=100},!1)}return t}(),r=function(){function t(t){var e,n,r,o;for(null==t&&(t={}),this.elements=[],null==t.selectors&&(t.selectors=[]),o=t.selectors,n=0,r=o.length;r>n;n++)e=o[n],this.elements.push(new s(e))}return t}(),s=function(){function t(t){this.selector=t,this.progress=0,this.check()}return t.prototype.check=function(){var t=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return t.check()},P.elements.checkInterval)},t.prototype.done=function(){return this.progress=100},t}(),n=function(){function t(){var t,e,n=this;this.progress=null!=(e=this.states[document.readyState])?e:100,t=document.onreadystatechange,document.onreadystatechange=function(){return null!=n.states[document.readyState]&&(n.progress=n.states[document.readyState]),"function"==typeof t?t.apply(null,arguments):void 0}}return t.prototype.states={loading:0,interactive:50,complete:100},t}(),o=function(){function t(){var t,e,n,r,s,o=this;this.progress=0,t=0,s=[],r=0,n=L(),e=setInterval(function(){var i;return i=L()-n-50,n=L(),s.push(i),s.length>P.eventLag.sampleCount&&s.shift(),t=m(s),++r>=P.eventLag.minSamples&&t=100&&(this.done=!0),e===this.last?this.sinceLastUpdate+=t:(this.sinceLastUpdate&&(this.rate=(e-this.last)/this.sinceLastUpdate),this.catchup=(e-this.progress)/P.catchupTime,this.sinceLastUpdate=0,this.last=e),e>this.progress&&(this.progress+=this.catchup*t),n=1-Math.pow(this.progress/100,P.easeFactor),this.progress+=n*this.rate*t,this.progress=Math.min(this.lastProgress+P.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},t}(),F=null,O=null,v=null,U=null,f=null,y=null,c.running=!1,E=function(){return P.restartOnPushState?c.restart():void 0},null!=window.history.pushState&&(z=window.history.pushState,window.history.pushState=function(){return E(),z.apply(window.history,arguments)}),null!=window.history.replaceState&&(K=window.history.replaceState,window.history.replaceState=function(){return E(),K.apply(window.history,arguments)}),p={ajax:t,elements:r,document:n,eventLag:o},(C=function(){var t,n,r,s,o,i,a,u;for(c.sources=F=[],i=["ajax","elements","document","eventLag"],n=0,s=i.length;s>n;n++)t=i[n],P[t]!==!1&&F.push(new p[t](P[t]));for(u=null!=(a=P.extraSources)?a:[],r=0,o=u.length;o>r;r++)_=u[r],F.push(new _(P));return c.bar=v=new e,O=[],U=new d})(),c.stop=function(){return c.trigger("stop"),c.running=!1,v.destroy(),y=!0,null!=f&&("function"==typeof w&&w(f),f=null),C()},c.restart=function(){return c.trigger("restart"),c.stop(),c.start()},c.go=function(){var t;return c.running=!0,v.render(),t=L(),y=!1,f=A(function(e,n){var r,s,o,i,a,u,l,p,h,g,f,m,w,b,k,S;for(p=100-v.progress,s=f=0,o=!0,u=m=0,b=F.length;b>m;u=++m)for(_=F[u],g=null!=O[u]?O[u]:O[u]=[],a=null!=(S=_.elements)?S:[_],l=w=0,k=a.length;k>w;l=++w)i=a[l],h=null!=g[l]?g[l]:g[l]=new d(i),o&=h.done,h.done||(s++,f+=h.tick(e));return r=f/s,v.update(U.tick(e,r)),v.done()||o||y?(v.update(100),c.trigger("done"),setTimeout(function(){return v.finish(),c.running=!1,c.trigger("hide")},Math.max(P.ghostTime,Math.max(P.minTime-(L()-t),0)))):n()})},c.start=function(t){k(P,t),c.running=!0;try{v.render()}catch(e){u=e}return document.querySelector(".pace")?(c.trigger("start"),c.go()):setTimeout(c.start,50)},"function"==typeof define&&define.amd?define(function(){return c}):"object"==typeof exports?module.exports=c:P.startOnPageLoad&&c.start()}.call(this);var observer=new MutationObserver(function(t){var e=t[0].target.getAttribute("data-progress-text");document.getElementsByClassName("starlight-ratio")[0].textContent=e});Pace.on("start",function(){var t=document.createElement("div"),e=document.createElement("div"),n=document.createElement("div"),r=document.createElement("div"),s=document.createElement("div");t.className="starlight-loading",e.className="starlight-back",n.className="starlight-banner",r.className="starlight-panel",s.className="starlight-ratio";var o=document.createElement("p"),i=document.createElement("p");o.className="message-up",i.className="message-down",o.appendChild(document.createTextNode("データダウンロード中")),i.appendChild(document.createTextNode("※通信環境の良い所で実行してください")),r.appendChild(o),r.appendChild(i);var a=document.createElement("div");a.className="progress-border",r.appendChild(a);var u=document.createElement("p");u.appendChild(document.createTextNode("Now Loading...")),n.appendChild(u);var c=document.createElement("div");c.className="heart",n.appendChild(c);var l=document.getElementsByClassName("pace-progress")[0];observer.observe(l,{attributes:!0,attributeFilter:["data-progress-text"]}),t.appendChild(e),t.appendChild(n),t.appendChild(r),t.appendChild(s),document.body.appendChild(t)}),Pace.on("done",function(){var t=document.getElementsByClassName("starlight-loading")[0];t.classList.add("hide"),observer.disconnect()}),navigator.userAgent.match(/(iPhone|iPad|iPod|Android)/)||Pace.start();
--------------------------------------------------------------------------------
/starlight_loading-latest.xpi:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/megane42/starlight-loading/30b96c2b17b438048bd51b30a4a83f61f25f6de2/starlight_loading-latest.xpi
--------------------------------------------------------------------------------
/test.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/test/test-index.js:
--------------------------------------------------------------------------------
1 | var main = require("../");
2 |
3 | exports["test main"] = function(assert) {
4 | assert.pass("Unit test running!");
5 | };
6 |
7 | exports["test main async"] = function(assert, done) {
8 | assert.pass("async Unit test running!");
9 | done();
10 | };
11 |
12 | exports["test dummy"] = function(assert, done) {
13 | main.dummy("foo", function(text) {
14 | assert.ok((text === "foo"), "Is the text actually 'foo'");
15 | done();
16 | });
17 | };
18 |
19 | require("sdk/test").run(exports);
20 |
--------------------------------------------------------------------------------