Merge branch 'updated-styles'
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 144 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 143 KiB |
BIN
assets/images/getting-started/mustache-no-spin.png
Normal file
After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 156 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 102 KiB |
BIN
assets/images/travis-mascot-150.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
assets/images/ui/cal.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
assets/images/ui/close-white.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 604 B After Width: | Height: | Size: 1.4 KiB |
|
@ -1,12 +1,16 @@
|
|||
{{#if redirected}}
|
||||
<p>You need to sign in to see this page.</p>
|
||||
{{/if}}
|
||||
|
||||
<span class="mascot"></span>
|
||||
<h3>Hey, we're so glad you're here!</h3>
|
||||
<h2>In order to view your repositories, please sign in.</h2>
|
||||
|
||||
<p>
|
||||
<a href="#" {{action "signIn" target="Travis"}}>
|
||||
{{#if Travis.signingIn}}
|
||||
Signing in...
|
||||
{{else}}
|
||||
Sign in with GitHub.
|
||||
Sign in with GitHub
|
||||
{{/if}}
|
||||
</a>
|
||||
</p>
|
||||
|
|
|
@ -1,29 +1,29 @@
|
|||
<div id="getting-started">
|
||||
<h3>Just one more thing...<img class="spinner" width="20" src="/images/getting-started/mustache-spinner.gif"/></h3>
|
||||
<div id="first_sync">
|
||||
<img src="/images/getting-started/mustache-spinner.gif" class="spinner" width="300">
|
||||
|
||||
<p>
|
||||
We're almost done getting you on board, just a few more seconds as we talk to GitHub to find out which
|
||||
repositories belong to you.
|
||||
</p>
|
||||
<p class="first-sync-head">One more thing</p>
|
||||
<p class="few-more">Just a few more seconds as we talk to GitHub to find out which repositories belong to you.</p>
|
||||
|
||||
<p>
|
||||
If you're part of an organization that already has repositories set up on Travis CI, we'll take you to the list
|
||||
once we're done.
|
||||
</p>
|
||||
<div class="sync-row">
|
||||
<div class="sync-column">
|
||||
<p class="align-right">
|
||||
If you're part of an organization that already has repositories set up on Travis CI, we'll take you to the list once we're done.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
If this is your first time on Travis CI, and you're not part of any existing organizations yet, we'll take you to
|
||||
a handy getting started guide to get you off the ground quickly.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Now hold tight while we sync the last bits from GitHub, we should be done here any minute now.
|
||||
</p>
|
||||
|
||||
{{#unless isSyncing}}
|
||||
<h3>Great news!</h3>
|
||||
<p>
|
||||
We've successfully synchronized your details from GitHub. We will redirect you to your profile in a few seconds.
|
||||
</p>
|
||||
{{/unless}}
|
||||
<div class="sync-column">
|
||||
<p>
|
||||
If you're not part of any existing organizations yet, we'll take you to a handy getting started guide to get you off the ground quickly.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sync-row">
|
||||
{{#unless isSyncing}}
|
||||
<img src="/images/getting-started/mustache-no-spin.png" class="spinner" width="100">
|
||||
<p class="great-news">Great news!</p>
|
||||
<p>
|
||||
We've successfully synchronized your details from GitHub. We will redirect you to your profile in a few seconds.
|
||||
</p>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,80 @@
|
|||
<div id="getting-started">
|
||||
<h3>Welcome to Travis CI!</h3>
|
||||
|
||||
<h2>Hey, it looks like you're new around here and have yet to set up your first<br>repository on Travis CI. We're here to help you get started, it's easy!</h2>
|
||||
|
||||
<div class="getting-started-row">
|
||||
<div class="column">
|
||||
<img src="/images/getting-started/project-switch.png">
|
||||
</div>
|
||||
|
||||
<div class="column-right">
|
||||
<span class="steps">Step 1: Enabling your projects</span>
|
||||
<p>
|
||||
Start by going to your {{#linkTo "profile.index"}}profile{{/linkTo}} and enable one of your projects. We've been
|
||||
synchronizing all repositories you have administrative access to. Pick one and flip the switch next to it.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="getting-started-row">
|
||||
<div class="column">
|
||||
<img src="/images/getting-started/first-build.png">
|
||||
</div>
|
||||
|
||||
<div class="column-right">
|
||||
<span class="steps">Step 2: Adding Travis</span>
|
||||
<p>
|
||||
Once you've enabled one of your projects, add a <a
|
||||
href="http://about.travis-ci.org/docs/user/build-configuration/#.travis.yml-file%3A-what-it-is-and-how-it-is-used"><code>.travis.yml</code></a> to your project, push some code, and we'll start processing your builds. Wait a
|
||||
whee while and reload the page, and your newly setup and built project will show up on the right.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="getting-started-row">
|
||||
<div class="column">
|
||||
<img src="/images/getting-started/build-email.png">
|
||||
</div>
|
||||
|
||||
<div class="column-right">
|
||||
<span class="steps">Step 3: Wait for your build to finish</span>
|
||||
<p>
|
||||
We'll be sending you an email once the build has finished. Then, it's up to you to do the happy dance.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="getting-started-row">
|
||||
<span class="after-steps steps">Build Configuration</span>
|
||||
<p>
|
||||
We use sensible defaults for <a href="http://about.travis-ci.org/docs/">most languages</a>, but you can customize
|
||||
both the <a href="http://about.travis-ci.org/docs/user/build-configuration/">build process</a> and the <a
|
||||
href="http://about.travis-ci.org/docs/user/build-configuration/">build
|
||||
environment</a> to fit your project's needs.
|
||||
</p>
|
||||
|
||||
<span class="steps">Notifications</span>
|
||||
<p>
|
||||
You can also configure how you want to be notified of build results. Email is only one channel you can use. We
|
||||
support <a href="http://about.travis-ci.org/docs/user/notifications/#Campfire-notification">Campfire</a>, <a
|
||||
href="http://about.travis-ci.org/docs/user/notifications/#HipChat-notification">HipChat</a>, <a
|
||||
href="http://about.travis-ci.org/docs/user/notifications/#Flowdock-notification">Flowdock</a>, <a
|
||||
href="http://about.travis-ci.org/docs/user/notifications/#IRC-notification">IRC</a>, and <a
|
||||
href="http://about.travis-ci.org/docs/user/notifications/#Webhook-notification">webhooks</a>. To avoid
|
||||
exposing any private credentials, you can shield them from the public using <a
|
||||
href="http://about.travis-ci.org/docs/user/build-configuration/#Secure-environment-variables">encrypted
|
||||
configuration settings</a>.
|
||||
</p>
|
||||
|
||||
<span class="steps">Questions</span>
|
||||
<p>
|
||||
Should you have any questions or issues, have a look at <a href="http://about.travis-ci.org/docs/" location="_top">our
|
||||
documentation</a>, <a href="https://github.com/travis-ci/travis-ci/issues/new" location="_top">open an issue</a> or
|
||||
<a href="mailto:support@travis-ci.com">send us an email</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Hey, it looks like you're new around here and have yet to set up your first repository on Travis CI.
|
||||
</p>
|
||||
|
@ -60,4 +134,5 @@
|
|||
documentation</a>, <a href="https://github.com/travis-ci/travis-ci/issues/new" location="_top">open an issue</a> or
|
||||
<a href="mailto:support@travis-ci.com">send us an email</a>.
|
||||
</p>
|
||||
>>>>>>> f6867e8a4cddfef041367a301d22d0969c6f886d
|
||||
</div>
|
||||
|
|
|
@ -21,9 +21,11 @@
|
|||
{{/with}}
|
||||
|
||||
<p class="summary">
|
||||
<span class="duration_label">{{t repositories.duration}}:</span>
|
||||
<abbr class="duration" {{bindAttr title="lastBuildStartedAt"}}>{{formatDuration lastBuildDuration}}</abbr>,
|
||||
<span class="finished_at_label">{{t repositories.finished_at}}:</span>
|
||||
<span class="duration-icon"></span><span class="duration_label">{{t repositories.duration}}:</span>
|
||||
<abbr class="duration" {{bindAttr title="lastBuildStartedAt"}}>{{formatDuration lastBuildDuration}}</abbr>
|
||||
</p>
|
||||
<p class="summary">
|
||||
<span class="finished-icon"></span><span class="finished_at_label">{{t repositories.finished_at}}:</span>
|
||||
<abbr class="finished_at timeago" {{bindAttr title="lastBuildFinishedAt"}}>{{formatTime lastBuildFinishedAt}}</abbr>
|
||||
</p>
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
suite on Travis CI allows to track changes in coverage over time. If you haven't tried it out already, <a
|
||||
{{bindAttr href="Travis.config.code_climate_url"}}" target="_blank">sign
|
||||
up today</a> for to improve your code's quality. New customers get 20% off for the first three months!
|
||||
</p>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
It only takes a few steps, once you've set up your project:
|
||||
|
|
|
@ -30,4 +30,5 @@
|
|||
Travis.Urls.account(@get('account.login'))
|
||||
).property('account.login')
|
||||
|
||||
|
||||
click: ->
|
||||
@get('controller').transitionToRoute("account", @get('account.login'))
|
|
@ -9,7 +9,8 @@ Travis.reopen
|
|||
|
||||
ShowMoreButton: Em.View.extend
|
||||
tagName: 'button'
|
||||
classNameBindings: ['isLoading']
|
||||
classNameBindings: ['isLoading', 'showMore']
|
||||
showMore: true
|
||||
attributeBindings: ['disabled']
|
||||
isLoadingBinding: 'controller.isLoading'
|
||||
template: Em.Handlebars.compile('{{view.label}}')
|
||||
|
|
|
@ -21,6 +21,9 @@
|
|||
Travis.Helpers.colorForState(@get('repo.lastBuildState'))
|
||||
).property('repo.lastBuildState')
|
||||
|
||||
click: ->
|
||||
@get('controller').transitionToRoute('/' + @get('repo.slug'))
|
||||
|
||||
ReposListTabsView: Travis.View.extend
|
||||
templateName: 'repos/list/tabs'
|
||||
tabBinding: 'controller.tab'
|
||||
|
|
26
assets/scripts/spec/vendor/jquery.mockjax.js
vendored
|
@ -14,11 +14,11 @@
|
|||
(function($) {
|
||||
var _ajax = $.ajax,
|
||||
mockHandlers = [],
|
||||
CALLBACK_REGEX = /=\?(&|$)/,
|
||||
CALLBACK_REGEX = /=\?(&|$)/,
|
||||
jsc = (new Date()).getTime();
|
||||
|
||||
|
||||
// Parse the given XML string.
|
||||
|
||||
// Parse the given XML string.
|
||||
function parseXML(xml) {
|
||||
if ( window['DOMParser'] == undefined && window.ActiveXObject ) {
|
||||
DOMParser = function() { };
|
||||
|
@ -53,7 +53,7 @@
|
|||
(s.context ? $(s.context) : $.event).trigger(type, args);
|
||||
}
|
||||
|
||||
// Check if the data field on the mock handler and the request match. This
|
||||
// Check if the data field on the mock handler and the request match. This
|
||||
// can be used to restrict a mock handler to being used only when a certain
|
||||
// set of data is passed to it.
|
||||
function isMockDataEqual( mock, live ) {
|
||||
|
@ -103,7 +103,7 @@
|
|||
} else {
|
||||
// Look for a simple wildcard '*' or a direct URL match
|
||||
var star = handler.url.indexOf('*');
|
||||
if (handler.url !== requestSettings.url && star === -1 ||
|
||||
if (handler.url !== requestSettings.url && star === -1 ||
|
||||
!new RegExp(handler.url.replace(/[-[\]{}()+?.,\\^$|#\s]/g, "\\$&").replace('*', '.+')).test(requestSettings.url)) {
|
||||
return null;
|
||||
}
|
||||
|
@ -117,7 +117,7 @@
|
|||
}
|
||||
}
|
||||
// Inspect the request type
|
||||
if ( handler && handler.type &&
|
||||
if ( handler && handler.type &&
|
||||
handler.type.toLowerCase() != requestSettings.type.toLowerCase() ) {
|
||||
// The request type doesn't match (GET vs. POST)
|
||||
return null;
|
||||
|
@ -283,7 +283,7 @@
|
|||
if(requestSettings.type.toUpperCase() === "GET" && remote ) {
|
||||
var newMockReturn = processJsonpRequest( requestSettings, mockHandler, origSettings );
|
||||
|
||||
// Check if we are supposed to return a Deferred back to the mock call, or just
|
||||
// Check if we are supposed to return a Deferred back to the mock call, or just
|
||||
// signal success
|
||||
if(newMockReturn) {
|
||||
return newMockReturn;
|
||||
|
@ -299,14 +299,14 @@
|
|||
function processJsonpUrl( requestSettings ) {
|
||||
if ( requestSettings.type.toUpperCase() === "GET" ) {
|
||||
if ( !CALLBACK_REGEX.test( requestSettings.url ) ) {
|
||||
requestSettings.url += (/\?/.test( requestSettings.url ) ? "&" : "?") +
|
||||
requestSettings.url += (/\?/.test( requestSettings.url ) ? "&" : "?") +
|
||||
(requestSettings.jsonp || "callback") + "=?";
|
||||
}
|
||||
} else if ( !requestSettings.data || !CALLBACK_REGEX.test(requestSettings.data) ) {
|
||||
requestSettings.data = (requestSettings.data ? requestSettings.data + "&" : "") + (requestSettings.jsonp || "callback") + "=?";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Process a JSONP request by evaluating the mocked response text
|
||||
function processJsonpRequest( requestSettings, mockHandler, origSettings ) {
|
||||
// Synthesize the mock request for adding a script tag
|
||||
|
@ -407,7 +407,7 @@
|
|||
}
|
||||
|
||||
|
||||
// The core $.ajax replacement.
|
||||
// The core $.ajax replacement.
|
||||
function handleAjax( url, origSettings ) {
|
||||
var mockRequest, requestSettings, mockHandler;
|
||||
|
||||
|
@ -419,7 +419,7 @@
|
|||
// work around to support 1.5 signature
|
||||
origSettings.url = url;
|
||||
}
|
||||
|
||||
|
||||
// Extend the original settings for the request
|
||||
requestSettings = $.extend(true, {}, $.ajaxSettings, origSettings);
|
||||
|
||||
|
@ -429,7 +429,7 @@
|
|||
if ( !mockHandlers[k] ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
mockHandler = getMockForRequest( mockHandlers[k], requestSettings );
|
||||
if(!mockHandler) {
|
||||
// No valid mock found for this request
|
||||
|
@ -520,4 +520,4 @@
|
|||
return mockHandlers[i];
|
||||
}
|
||||
};
|
||||
})(jQuery);
|
||||
})(jQuery);
|
||||
|
|
36
assets/scripts/vendor/ember.js
vendored
|
@ -2016,7 +2016,7 @@ function suspendListener(obj, eventName, target, method, callback) {
|
|||
|
||||
Suspends multiple listeners during a callback.
|
||||
|
||||
|
||||
|
||||
@method suspendListeners
|
||||
@for Ember
|
||||
@param obj
|
||||
|
@ -2082,7 +2082,7 @@ function watchedEvents(obj) {
|
|||
is skipped, and once listeners are removed. A listener without
|
||||
a target is executed on the passed object. If an array of actions
|
||||
is not passed, the actions stored on the passed object are invoked.
|
||||
|
||||
|
||||
@method sendEvent
|
||||
@for Ember
|
||||
@param obj
|
||||
|
@ -2837,14 +2837,14 @@ Map.create = function() {
|
|||
Map.prototype = {
|
||||
/**
|
||||
This property will change as the number of objects in the map changes.
|
||||
|
||||
|
||||
@property length
|
||||
@type number
|
||||
@default 0
|
||||
*/
|
||||
length: 0,
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieve the value associated with a given key.
|
||||
|
||||
|
@ -4438,7 +4438,7 @@ Ember.computed.alias = function(dependentKey) {
|
|||
@return {Ember.ComputedProperty} computed property which creates an
|
||||
one way computed property to the original value for property.
|
||||
|
||||
Where `computed.alias` aliases `get` and `set`, and allows for bidirectional
|
||||
Where `computed.alias` aliases `get` and `set`, and allows for bidirectional
|
||||
data flow, `computed.oneWay` only provides an aliased `get`. The `set` will
|
||||
not mutate the upstream property, rather causes the current property to
|
||||
become the value set. This causes the downstream property to permentantly
|
||||
|
@ -8679,7 +8679,7 @@ Ember.Error.prototype = Ember.create(Error.prototype);
|
|||
(function() {
|
||||
/**
|
||||
Expose RSVP implementation
|
||||
|
||||
|
||||
Documentation can be found here: https://github.com/tildeio/rsvp.js/blob/master/README.md
|
||||
|
||||
@class RSVP
|
||||
|
@ -20624,7 +20624,7 @@ if (Handlebars.compile) {
|
|||
|
||||
var template = Ember.Handlebars.template(templateSpec);
|
||||
template.isMethod = false; //Make sure we don't wrap templates with ._super
|
||||
|
||||
|
||||
return template;
|
||||
};
|
||||
}
|
||||
|
@ -24307,7 +24307,7 @@ helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {};
|
|||
var buffer = '', stack1, hashTypes, hashContexts, escapeExpression=this.escapeExpression, self=this;
|
||||
|
||||
function program1(depth0,data) {
|
||||
|
||||
|
||||
var buffer = '', hashTypes, hashContexts;
|
||||
data.buffer.push("<option value=\"\">");
|
||||
hashTypes = {};
|
||||
|
@ -24318,7 +24318,7 @@ function program1(depth0,data) {
|
|||
}
|
||||
|
||||
function program3(depth0,data) {
|
||||
|
||||
|
||||
var stack1, hashTypes, hashContexts;
|
||||
hashTypes = {};
|
||||
hashContexts = {};
|
||||
|
@ -24327,7 +24327,7 @@ function program3(depth0,data) {
|
|||
else { data.buffer.push(''); }
|
||||
}
|
||||
function program4(depth0,data) {
|
||||
|
||||
|
||||
var hashContexts, hashTypes;
|
||||
hashContexts = {'contentBinding': depth0,'labelBinding': depth0};
|
||||
hashTypes = {'contentBinding': "ID",'labelBinding': "ID"};
|
||||
|
@ -24338,7 +24338,7 @@ function program4(depth0,data) {
|
|||
}
|
||||
|
||||
function program6(depth0,data) {
|
||||
|
||||
|
||||
var stack1, hashTypes, hashContexts;
|
||||
hashTypes = {};
|
||||
hashContexts = {};
|
||||
|
@ -24347,7 +24347,7 @@ function program6(depth0,data) {
|
|||
else { data.buffer.push(''); }
|
||||
}
|
||||
function program7(depth0,data) {
|
||||
|
||||
|
||||
var hashContexts, hashTypes;
|
||||
hashContexts = {'contentBinding': depth0};
|
||||
hashTypes = {'contentBinding': "STRING"};
|
||||
|
@ -24365,7 +24365,7 @@ function program7(depth0,data) {
|
|||
stack1 = helpers['if'].call(depth0, "view.optionGroupPath", {hash:{},inverse:self.program(6, program6, data),fn:self.program(3, program3, data),contexts:[depth0],types:["ID"],hashContexts:hashContexts,hashTypes:hashTypes,data:data});
|
||||
if(stack1 || stack1 === 0) { data.buffer.push(stack1); }
|
||||
return buffer;
|
||||
|
||||
|
||||
}),
|
||||
attributeBindings: ['multiple', 'disabled', 'tabindex', 'name'],
|
||||
|
||||
|
@ -29044,7 +29044,7 @@ Ember.ControllerMixin.reopen({
|
|||
Optionally supply a model for the route in question. The model
|
||||
will be serialized into the URL using the `serialize` hook of
|
||||
the route:
|
||||
|
||||
|
||||
```javascript
|
||||
aController.transitionToRoute('blogPost', aPost);
|
||||
```
|
||||
|
@ -29168,7 +29168,7 @@ Ember.View.reopen({
|
|||
|
||||
// Add a new named queue after the 'actions' queue (where RSVP promises
|
||||
// resolve), which is used in router transitions to prevent unnecessary
|
||||
// loading state entry if all context promises resolve on the
|
||||
// loading state entry if all context promises resolve on the
|
||||
// 'actions' queue first.
|
||||
|
||||
var queues = Ember.run.queues,
|
||||
|
@ -33110,7 +33110,7 @@ function chain(app, promise, fn) {
|
|||
* using your app.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
*
|
||||
* ```
|
||||
* visit('posts/index').then(function() {
|
||||
* // assert something
|
||||
|
@ -33118,7 +33118,7 @@ function chain(app, promise, fn) {
|
|||
* ```
|
||||
*
|
||||
* @method visit
|
||||
* @param {String} url the name of the route
|
||||
* @param {String} url the name of the route
|
||||
* @returns {RSVP.Promise}
|
||||
*/
|
||||
helper('visit', visit);
|
||||
|
|
164
assets/scripts/vendor/handlebars.js
vendored
|
@ -195,108 +195,108 @@ performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) {
|
|||
|
||||
var $0 = $$.length - 1;
|
||||
switch (yystate) {
|
||||
case 1: return $$[$0-1];
|
||||
case 1: return $$[$0-1];
|
||||
break;
|
||||
case 2: this.$ = new yy.ProgramNode([], $$[$0]);
|
||||
case 2: this.$ = new yy.ProgramNode([], $$[$0]);
|
||||
break;
|
||||
case 3: this.$ = new yy.ProgramNode($$[$0-2], $$[$0]);
|
||||
case 3: this.$ = new yy.ProgramNode($$[$0-2], $$[$0]);
|
||||
break;
|
||||
case 4: this.$ = new yy.ProgramNode($$[$0-1], []);
|
||||
case 4: this.$ = new yy.ProgramNode($$[$0-1], []);
|
||||
break;
|
||||
case 5: this.$ = new yy.ProgramNode($$[$0]);
|
||||
case 5: this.$ = new yy.ProgramNode($$[$0]);
|
||||
break;
|
||||
case 6: this.$ = new yy.ProgramNode([], []);
|
||||
case 6: this.$ = new yy.ProgramNode([], []);
|
||||
break;
|
||||
case 7: this.$ = new yy.ProgramNode([]);
|
||||
case 7: this.$ = new yy.ProgramNode([]);
|
||||
break;
|
||||
case 8: this.$ = [$$[$0]];
|
||||
case 8: this.$ = [$$[$0]];
|
||||
break;
|
||||
case 9: $$[$0-1].push($$[$0]); this.$ = $$[$0-1];
|
||||
case 9: $$[$0-1].push($$[$0]); this.$ = $$[$0-1];
|
||||
break;
|
||||
case 10: this.$ = new yy.BlockNode($$[$0-2], $$[$0-1].inverse, $$[$0-1], $$[$0]);
|
||||
case 10: this.$ = new yy.BlockNode($$[$0-2], $$[$0-1].inverse, $$[$0-1], $$[$0]);
|
||||
break;
|
||||
case 11: this.$ = new yy.BlockNode($$[$0-2], $$[$0-1], $$[$0-1].inverse, $$[$0]);
|
||||
case 11: this.$ = new yy.BlockNode($$[$0-2], $$[$0-1], $$[$0-1].inverse, $$[$0]);
|
||||
break;
|
||||
case 12: this.$ = $$[$0];
|
||||
case 12: this.$ = $$[$0];
|
||||
break;
|
||||
case 13: this.$ = $$[$0];
|
||||
case 13: this.$ = $$[$0];
|
||||
break;
|
||||
case 14: this.$ = new yy.ContentNode($$[$0]);
|
||||
case 14: this.$ = new yy.ContentNode($$[$0]);
|
||||
break;
|
||||
case 15: this.$ = new yy.CommentNode($$[$0]);
|
||||
case 15: this.$ = new yy.CommentNode($$[$0]);
|
||||
break;
|
||||
case 16: this.$ = new yy.MustacheNode($$[$0-1][0], $$[$0-1][1]);
|
||||
case 16: this.$ = new yy.MustacheNode($$[$0-1][0], $$[$0-1][1]);
|
||||
break;
|
||||
case 17: this.$ = new yy.MustacheNode($$[$0-1][0], $$[$0-1][1]);
|
||||
case 17: this.$ = new yy.MustacheNode($$[$0-1][0], $$[$0-1][1]);
|
||||
break;
|
||||
case 18: this.$ = $$[$0-1];
|
||||
case 18: this.$ = $$[$0-1];
|
||||
break;
|
||||
case 19:
|
||||
// Parsing out the '&' escape token at this level saves ~500 bytes after min due to the removal of one parser node.
|
||||
this.$ = new yy.MustacheNode($$[$0-1][0], $$[$0-1][1], $$[$0-2][2] === '&');
|
||||
|
||||
|
||||
break;
|
||||
case 20: this.$ = new yy.MustacheNode($$[$0-1][0], $$[$0-1][1], true);
|
||||
case 20: this.$ = new yy.MustacheNode($$[$0-1][0], $$[$0-1][1], true);
|
||||
break;
|
||||
case 21: this.$ = new yy.PartialNode($$[$0-1]);
|
||||
case 21: this.$ = new yy.PartialNode($$[$0-1]);
|
||||
break;
|
||||
case 22: this.$ = new yy.PartialNode($$[$0-2], $$[$0-1]);
|
||||
case 22: this.$ = new yy.PartialNode($$[$0-2], $$[$0-1]);
|
||||
break;
|
||||
case 23:
|
||||
case 23:
|
||||
break;
|
||||
case 24: this.$ = [[$$[$0-2]].concat($$[$0-1]), $$[$0]];
|
||||
case 24: this.$ = [[$$[$0-2]].concat($$[$0-1]), $$[$0]];
|
||||
break;
|
||||
case 25: this.$ = [[$$[$0-1]].concat($$[$0]), null];
|
||||
case 25: this.$ = [[$$[$0-1]].concat($$[$0]), null];
|
||||
break;
|
||||
case 26: this.$ = [[$$[$0-1]], $$[$0]];
|
||||
case 26: this.$ = [[$$[$0-1]], $$[$0]];
|
||||
break;
|
||||
case 27: this.$ = [[$$[$0]], null];
|
||||
case 27: this.$ = [[$$[$0]], null];
|
||||
break;
|
||||
case 28: this.$ = [[$$[$0]], null];
|
||||
case 28: this.$ = [[$$[$0]], null];
|
||||
break;
|
||||
case 29: $$[$0-1].push($$[$0]); this.$ = $$[$0-1];
|
||||
case 29: $$[$0-1].push($$[$0]); this.$ = $$[$0-1];
|
||||
break;
|
||||
case 30: this.$ = [$$[$0]];
|
||||
case 30: this.$ = [$$[$0]];
|
||||
break;
|
||||
case 31: this.$ = $$[$0];
|
||||
case 31: this.$ = $$[$0];
|
||||
break;
|
||||
case 32: this.$ = new yy.StringNode($$[$0]);
|
||||
case 32: this.$ = new yy.StringNode($$[$0]);
|
||||
break;
|
||||
case 33: this.$ = new yy.IntegerNode($$[$0]);
|
||||
case 33: this.$ = new yy.IntegerNode($$[$0]);
|
||||
break;
|
||||
case 34: this.$ = new yy.BooleanNode($$[$0]);
|
||||
case 34: this.$ = new yy.BooleanNode($$[$0]);
|
||||
break;
|
||||
case 35: this.$ = $$[$0];
|
||||
case 35: this.$ = $$[$0];
|
||||
break;
|
||||
case 36: this.$ = new yy.HashNode($$[$0]);
|
||||
case 36: this.$ = new yy.HashNode($$[$0]);
|
||||
break;
|
||||
case 37: $$[$0-1].push($$[$0]); this.$ = $$[$0-1];
|
||||
case 37: $$[$0-1].push($$[$0]); this.$ = $$[$0-1];
|
||||
break;
|
||||
case 38: this.$ = [$$[$0]];
|
||||
case 38: this.$ = [$$[$0]];
|
||||
break;
|
||||
case 39: this.$ = [$$[$0-2], $$[$0]];
|
||||
case 39: this.$ = [$$[$0-2], $$[$0]];
|
||||
break;
|
||||
case 40: this.$ = [$$[$0-2], new yy.StringNode($$[$0])];
|
||||
case 40: this.$ = [$$[$0-2], new yy.StringNode($$[$0])];
|
||||
break;
|
||||
case 41: this.$ = [$$[$0-2], new yy.IntegerNode($$[$0])];
|
||||
case 41: this.$ = [$$[$0-2], new yy.IntegerNode($$[$0])];
|
||||
break;
|
||||
case 42: this.$ = [$$[$0-2], new yy.BooleanNode($$[$0])];
|
||||
case 42: this.$ = [$$[$0-2], new yy.BooleanNode($$[$0])];
|
||||
break;
|
||||
case 43: this.$ = [$$[$0-2], $$[$0]];
|
||||
case 43: this.$ = [$$[$0-2], $$[$0]];
|
||||
break;
|
||||
case 44: this.$ = new yy.PartialNameNode($$[$0]);
|
||||
case 44: this.$ = new yy.PartialNameNode($$[$0]);
|
||||
break;
|
||||
case 45: this.$ = new yy.PartialNameNode(new yy.StringNode($$[$0]));
|
||||
case 45: this.$ = new yy.PartialNameNode(new yy.StringNode($$[$0]));
|
||||
break;
|
||||
case 46: this.$ = new yy.PartialNameNode(new yy.IntegerNode($$[$0]));
|
||||
case 46: this.$ = new yy.PartialNameNode(new yy.IntegerNode($$[$0]));
|
||||
break;
|
||||
case 47: this.$ = new yy.DataNode($$[$0]);
|
||||
case 47: this.$ = new yy.DataNode($$[$0]);
|
||||
break;
|
||||
case 48: this.$ = new yy.IdNode($$[$0]);
|
||||
case 48: this.$ = new yy.IdNode($$[$0]);
|
||||
break;
|
||||
case 49: $$[$0-2].push({part: $$[$0], separator: $$[$0-1]}); this.$ = $$[$0-2];
|
||||
case 49: $$[$0-2].push({part: $$[$0], separator: $$[$0-1]}); this.$ = $$[$0-2];
|
||||
break;
|
||||
case 50: this.$ = [{part: $$[$0]}];
|
||||
case 50: this.$ = [{part: $$[$0]}];
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
@ -582,77 +582,77 @@ lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_STA
|
|||
|
||||
var YYSTATE=YY_START
|
||||
switch($avoiding_name_collisions) {
|
||||
case 0: yy_.yytext = "\\"; return 14;
|
||||
case 0: yy_.yytext = "\\"; return 14;
|
||||
break;
|
||||
case 1:
|
||||
if(yy_.yytext.slice(-1) !== "\\") this.begin("mu");
|
||||
if(yy_.yytext.slice(-1) === "\\") yy_.yytext = yy_.yytext.substr(0,yy_.yyleng-1), this.begin("emu");
|
||||
if(yy_.yytext) return 14;
|
||||
|
||||
|
||||
break;
|
||||
case 2: return 14;
|
||||
case 2: return 14;
|
||||
break;
|
||||
case 3:
|
||||
if(yy_.yytext.slice(-1) !== "\\") this.popState();
|
||||
if(yy_.yytext.slice(-1) === "\\") yy_.yytext = yy_.yytext.substr(0,yy_.yyleng-1);
|
||||
return 14;
|
||||
|
||||
|
||||
break;
|
||||
case 4: yy_.yytext = yy_.yytext.substr(0, yy_.yyleng-4); this.popState(); return 15;
|
||||
case 4: yy_.yytext = yy_.yytext.substr(0, yy_.yyleng-4); this.popState(); return 15;
|
||||
break;
|
||||
case 5: return 25;
|
||||
case 5: return 25;
|
||||
break;
|
||||
case 6: return 16;
|
||||
case 6: return 16;
|
||||
break;
|
||||
case 7: return 20;
|
||||
case 7: return 20;
|
||||
break;
|
||||
case 8: return 19;
|
||||
case 8: return 19;
|
||||
break;
|
||||
case 9: return 19;
|
||||
case 9: return 19;
|
||||
break;
|
||||
case 10: return 23;
|
||||
case 10: return 23;
|
||||
break;
|
||||
case 11: return 22;
|
||||
case 11: return 22;
|
||||
break;
|
||||
case 12: this.popState(); this.begin('com');
|
||||
case 12: this.popState(); this.begin('com');
|
||||
break;
|
||||
case 13: yy_.yytext = yy_.yytext.substr(3,yy_.yyleng-5); this.popState(); return 15;
|
||||
case 13: yy_.yytext = yy_.yytext.substr(3,yy_.yyleng-5); this.popState(); return 15;
|
||||
break;
|
||||
case 14: return 22;
|
||||
case 14: return 22;
|
||||
break;
|
||||
case 15: return 37;
|
||||
case 15: return 37;
|
||||
break;
|
||||
case 16: return 36;
|
||||
case 16: return 36;
|
||||
break;
|
||||
case 17: return 36;
|
||||
case 17: return 36;
|
||||
break;
|
||||
case 18: return 40;
|
||||
case 18: return 40;
|
||||
break;
|
||||
case 19: /*ignore whitespace*/
|
||||
case 19: /*ignore whitespace*/
|
||||
break;
|
||||
case 20: this.popState(); return 24;
|
||||
case 20: this.popState(); return 24;
|
||||
break;
|
||||
case 21: this.popState(); return 18;
|
||||
case 21: this.popState(); return 18;
|
||||
break;
|
||||
case 22: yy_.yytext = yy_.yytext.substr(1,yy_.yyleng-2).replace(/\\"/g,'"'); return 31;
|
||||
case 22: yy_.yytext = yy_.yytext.substr(1,yy_.yyleng-2).replace(/\\"/g,'"'); return 31;
|
||||
break;
|
||||
case 23: yy_.yytext = yy_.yytext.substr(1,yy_.yyleng-2).replace(/\\'/g,"'"); return 31;
|
||||
case 23: yy_.yytext = yy_.yytext.substr(1,yy_.yyleng-2).replace(/\\'/g,"'"); return 31;
|
||||
break;
|
||||
case 24: return 38;
|
||||
case 24: return 38;
|
||||
break;
|
||||
case 25: return 33;
|
||||
case 25: return 33;
|
||||
break;
|
||||
case 26: return 33;
|
||||
case 26: return 33;
|
||||
break;
|
||||
case 27: return 32;
|
||||
case 27: return 32;
|
||||
break;
|
||||
case 28: return 36;
|
||||
case 28: return 36;
|
||||
break;
|
||||
case 29: yy_.yytext = yy_.yytext.substr(1, yy_.yyleng-2); return 36;
|
||||
case 29: yy_.yytext = yy_.yytext.substr(1, yy_.yyleng-2); return 36;
|
||||
break;
|
||||
case 30: return 'INVALID';
|
||||
case 30: return 'INVALID';
|
||||
break;
|
||||
case 31: return 5;
|
||||
case 31: return 5;
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
|
122
assets/scripts/vendor/jquery.throttle.js
vendored
|
@ -1,7 +1,7 @@
|
|||
/*!
|
||||
* jQuery throttle / debounce - v1.1 - 3/7/2010
|
||||
* http://benalman.com/projects/jquery-throttle-debounce-plugin/
|
||||
*
|
||||
*
|
||||
* Copyright (c) 2010 "Cowboy" Ben Alman
|
||||
* Dual licensed under the MIT and GPL licenses.
|
||||
* http://benalman.com/about/license/
|
||||
|
@ -10,51 +10,51 @@
|
|||
// Script: jQuery throttle / debounce: Sometimes, less is more!
|
||||
//
|
||||
// *Version: 1.1, Last updated: 3/7/2010*
|
||||
//
|
||||
//
|
||||
// Project Home - http://benalman.com/projects/jquery-throttle-debounce-plugin/
|
||||
// GitHub - http://github.com/cowboy/jquery-throttle-debounce/
|
||||
// Source - http://github.com/cowboy/jquery-throttle-debounce/raw/master/jquery.ba-throttle-debounce.js
|
||||
// (Minified) - http://github.com/cowboy/jquery-throttle-debounce/raw/master/jquery.ba-throttle-debounce.min.js (0.7kb)
|
||||
//
|
||||
//
|
||||
// About: License
|
||||
//
|
||||
//
|
||||
// Copyright (c) 2010 "Cowboy" Ben Alman,
|
||||
// Dual licensed under the MIT and GPL licenses.
|
||||
// http://benalman.com/about/license/
|
||||
//
|
||||
//
|
||||
// About: Examples
|
||||
//
|
||||
//
|
||||
// These working examples, complete with fully commented code, illustrate a few
|
||||
// ways in which this plugin can be used.
|
||||
//
|
||||
//
|
||||
// Throttle - http://benalman.com/code/projects/jquery-throttle-debounce/examples/throttle/
|
||||
// Debounce - http://benalman.com/code/projects/jquery-throttle-debounce/examples/debounce/
|
||||
//
|
||||
//
|
||||
// About: Support and Testing
|
||||
//
|
||||
//
|
||||
// Information about what version or versions of jQuery this plugin has been
|
||||
// tested with, what browsers it has been tested in, and where the unit tests
|
||||
// reside (so you can test it yourself).
|
||||
//
|
||||
//
|
||||
// jQuery Versions - none, 1.3.2, 1.4.2
|
||||
// Browsers Tested - Internet Explorer 6-8, Firefox 2-3.6, Safari 3-4, Chrome 4-5, Opera 9.6-10.1.
|
||||
// Unit Tests - http://benalman.com/code/projects/jquery-throttle-debounce/unit/
|
||||
//
|
||||
//
|
||||
// About: Release History
|
||||
//
|
||||
//
|
||||
// 1.1 - (3/7/2010) Fixed a bug in <jQuery.throttle> where trailing callbacks
|
||||
// executed later than they should. Reworked a fair amount of internal
|
||||
// logic as well.
|
||||
// 1.0 - (3/6/2010) Initial release as a stand-alone project. Migrated over
|
||||
// from jquery-misc repo v0.4 to jquery-throttle repo v1.0, added the
|
||||
// no_trailing throttle parameter and debounce functionality.
|
||||
//
|
||||
//
|
||||
// Topic: Note for non-jQuery users
|
||||
//
|
||||
//
|
||||
// jQuery isn't actually required for this plugin, because nothing internal
|
||||
// uses any jQuery methods or properties. jQuery is just used as a namespace
|
||||
// under which these methods can exist.
|
||||
//
|
||||
//
|
||||
// Since jQuery isn't actually required for this plugin, if jQuery doesn't exist
|
||||
// when this plugin is loaded, the method described below will be created in
|
||||
// the `Cowboy` namespace. Usage will be exactly the same, but instead of
|
||||
|
@ -62,47 +62,47 @@
|
|||
|
||||
(function(window,undefined){
|
||||
'$:nomunge'; // Used by YUI compressor.
|
||||
|
||||
|
||||
// Since jQuery really isn't required for this plugin, use `jQuery` as the
|
||||
// namespace only if it already exists, otherwise use the `Cowboy` namespace,
|
||||
// creating it if necessary.
|
||||
var $ = window.jQuery || window.Cowboy || ( window.Cowboy = {} ),
|
||||
|
||||
|
||||
// Internal method reference.
|
||||
jq_throttle;
|
||||
|
||||
|
||||
// Method: jQuery.throttle
|
||||
//
|
||||
//
|
||||
// Throttle execution of a function. Especially useful for rate limiting
|
||||
// execution of handlers on events like resize and scroll. If you want to
|
||||
// rate-limit execution of a function to a single time, see the
|
||||
// <jQuery.debounce> method.
|
||||
//
|
||||
//
|
||||
// In this visualization, | is a throttled-function call and X is the actual
|
||||
// callback execution:
|
||||
//
|
||||
//
|
||||
// > Throttled with `no_trailing` specified as false or unspecified:
|
||||
// > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
|
||||
// > X X X X X X X X X X X X
|
||||
// >
|
||||
// >
|
||||
// > Throttled with `no_trailing` specified as true:
|
||||
// > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
|
||||
// > X X X X X X X X X X
|
||||
//
|
||||
//
|
||||
// Usage:
|
||||
//
|
||||
//
|
||||
// > var throttled = jQuery.throttle( delay, [ no_trailing, ] callback );
|
||||
// >
|
||||
// >
|
||||
// > jQuery('selector').bind( 'someevent', throttled );
|
||||
// > jQuery('selector').unbind( 'someevent', throttled );
|
||||
//
|
||||
//
|
||||
// This also works in jQuery 1.4+:
|
||||
//
|
||||
//
|
||||
// > jQuery('selector').bind( 'someevent', jQuery.throttle( delay, [ no_trailing, ] callback ) );
|
||||
// > jQuery('selector').unbind( 'someevent', callback );
|
||||
//
|
||||
//
|
||||
// Arguments:
|
||||
//
|
||||
//
|
||||
// delay - (Number) A zero-or-greater delay in milliseconds. For event
|
||||
// callbacks, values around 100 or 250 (or even higher) are most useful.
|
||||
// no_trailing - (Boolean) Optional, defaults to false. If no_trailing is
|
||||
|
@ -114,27 +114,27 @@
|
|||
// callback - (Function) A function to be executed after delay milliseconds.
|
||||
// The `this` context and all arguments are passed through, as-is, to
|
||||
// `callback` when the throttled-function is executed.
|
||||
//
|
||||
//
|
||||
// Returns:
|
||||
//
|
||||
//
|
||||
// (Function) A new, throttled, function.
|
||||
|
||||
|
||||
$.throttle = jq_throttle = function( delay, no_trailing, callback, debounce_mode ) {
|
||||
// After wrapper has stopped being called, this timeout ensures that
|
||||
// `callback` is executed at the proper times in `throttle` and `end`
|
||||
// debounce modes.
|
||||
var timeout_id,
|
||||
|
||||
|
||||
// Keep track of the last time `callback` was executed.
|
||||
last_exec = 0;
|
||||
|
||||
|
||||
// `no_trailing` defaults to falsy.
|
||||
if ( typeof no_trailing !== 'boolean' ) {
|
||||
debounce_mode = callback;
|
||||
callback = no_trailing;
|
||||
no_trailing = undefined;
|
||||
}
|
||||
|
||||
|
||||
// The `wrapper` function encapsulates all of the throttling / debouncing
|
||||
// functionality and when executed will limit the rate at which `callback`
|
||||
// is executed.
|
||||
|
@ -142,91 +142,91 @@
|
|||
var that = this,
|
||||
elapsed = +new Date() - last_exec,
|
||||
args = arguments;
|
||||
|
||||
|
||||
// Execute `callback` and update the `last_exec` timestamp.
|
||||
function exec() {
|
||||
last_exec = +new Date();
|
||||
callback.apply( that, args );
|
||||
};
|
||||
|
||||
|
||||
// If `debounce_mode` is true (at_begin) this is used to clear the flag
|
||||
// to allow future `callback` executions.
|
||||
function clear() {
|
||||
timeout_id = undefined;
|
||||
};
|
||||
|
||||
|
||||
if ( debounce_mode && !timeout_id ) {
|
||||
// Since `wrapper` is being called for the first time and
|
||||
// `debounce_mode` is true (at_begin), execute `callback`.
|
||||
exec();
|
||||
}
|
||||
|
||||
|
||||
// Clear any existing timeout.
|
||||
timeout_id && clearTimeout( timeout_id );
|
||||
|
||||
|
||||
if ( debounce_mode === undefined && elapsed > delay ) {
|
||||
// In throttle mode, if `delay` time has been exceeded, execute
|
||||
// `callback`.
|
||||
exec();
|
||||
|
||||
|
||||
} else if ( no_trailing !== true ) {
|
||||
// In trailing throttle mode, since `delay` time has not been
|
||||
// exceeded, schedule `callback` to execute `delay` ms after most
|
||||
// recent execution.
|
||||
//
|
||||
//
|
||||
// If `debounce_mode` is true (at_begin), schedule `clear` to execute
|
||||
// after `delay` ms.
|
||||
//
|
||||
//
|
||||
// If `debounce_mode` is false (at end), schedule `callback` to
|
||||
// execute after `delay` ms.
|
||||
timeout_id = setTimeout( debounce_mode ? clear : exec, debounce_mode === undefined ? delay - elapsed : delay );
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// Set the guid of `wrapper` function to the same of original callback, so
|
||||
// it can be removed in jQuery 1.4+ .unbind or .die by using the original
|
||||
// callback as a reference.
|
||||
if ( $.guid ) {
|
||||
wrapper.guid = callback.guid = callback.guid || $.guid++;
|
||||
}
|
||||
|
||||
|
||||
// Return the wrapper function.
|
||||
return wrapper;
|
||||
};
|
||||
|
||||
|
||||
// Method: jQuery.debounce
|
||||
//
|
||||
//
|
||||
// Debounce execution of a function. Debouncing, unlike throttling,
|
||||
// guarantees that a function is only executed a single time, either at the
|
||||
// very beginning of a series of calls, or at the very end. If you want to
|
||||
// simply rate-limit execution of a function, see the <jQuery.throttle>
|
||||
// method.
|
||||
//
|
||||
//
|
||||
// In this visualization, | is a debounced-function call and X is the actual
|
||||
// callback execution:
|
||||
//
|
||||
//
|
||||
// > Debounced with `at_begin` specified as false or unspecified:
|
||||
// > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
|
||||
// > X X
|
||||
// >
|
||||
// >
|
||||
// > Debounced with `at_begin` specified as true:
|
||||
// > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
|
||||
// > X X
|
||||
//
|
||||
//
|
||||
// Usage:
|
||||
//
|
||||
//
|
||||
// > var debounced = jQuery.debounce( delay, [ at_begin, ] callback );
|
||||
// >
|
||||
// >
|
||||
// > jQuery('selector').bind( 'someevent', debounced );
|
||||
// > jQuery('selector').unbind( 'someevent', debounced );
|
||||
//
|
||||
//
|
||||
// This also works in jQuery 1.4+:
|
||||
//
|
||||
//
|
||||
// > jQuery('selector').bind( 'someevent', jQuery.debounce( delay, [ at_begin, ] callback ) );
|
||||
// > jQuery('selector').unbind( 'someevent', callback );
|
||||
//
|
||||
//
|
||||
// Arguments:
|
||||
//
|
||||
//
|
||||
// delay - (Number) A zero-or-greater delay in milliseconds. For event
|
||||
// callbacks, values around 100 or 250 (or even higher) are most useful.
|
||||
// at_begin - (Boolean) Optional, defaults to false. If at_begin is false or
|
||||
|
@ -238,15 +238,15 @@
|
|||
// callback - (Function) A function to be executed after delay milliseconds.
|
||||
// The `this` context and all arguments are passed through, as-is, to
|
||||
// `callback` when the debounced-function is executed.
|
||||
//
|
||||
//
|
||||
// Returns:
|
||||
//
|
||||
//
|
||||
// (Function) A new, debounced, function.
|
||||
|
||||
|
||||
$.debounce = function( delay, at_begin, callback ) {
|
||||
return callback === undefined
|
||||
? jq_throttle( delay, at_begin, false )
|
||||
: jq_throttle( delay, callback, at_begin !== false );
|
||||
};
|
||||
|
||||
|
||||
})(this);
|
||||
|
|
2
assets/scripts/vendor/log.js
vendored
2
assets/scripts/vendor/moment.js
vendored
|
@ -1 +1 @@
|
|||
(function(e){"use strict";var i=function(i){return i!=e},n=window.Visibility={onVisible:function(e){if(!n.isSupported()||!n.hidden())return e(),n.isSupported();var i=n.change(function(){n.hidden()||(n.unbind(i),e())});return i},change:function(e){if(!n.isSupported())return!1;n._lastCallback+=1;var i=n._lastCallback;return n._callbacks[i]=e,n._setListener(),i},unbind:function(e){delete n._callbacks[e]},afterPrerendering:function(e){if(!n.isSupported()||"prerender"!=n.state())return e(),n.isSupported();var i=n.change(function(r,t){"prerender"!=t&&(n.unbind(i),e())});return i},hidden:function(){return n._prop("hidden",!1)},state:function(){return n._prop("visibilityState","visible")},isSupported:function(){return i(n._prefix())},_doc:window.document,_prefixes:["webkit","moz"],_chechedPrefix:null,_listening:!1,_lastCallback:-1,_callbacks:{},_hiddenBefore:!1,_init:function(){n._hiddenBefore=n.hidden()},_prefix:function(){if(null!==n._chechedPrefix)return n._chechedPrefix;if(i(n._doc.visibilityState))return n._chechedPrefix="";for(var e,r=0;n._prefixes.length>r;r++)if(e=n._prefixes[r]+"VisibilityState",i(n._doc[e]))return n._chechedPrefix=n._prefixes[r]},_name:function(e){var i=n._prefix();return""==i?e:i+e.substr(0,1).toUpperCase()+e.substr(1)},_prop:function(e,i){return n.isSupported()?n._doc[n._name(e)]:i},_onChange:function(e){var i=n.state();for(var r in n._callbacks)n._callbacks[r].call(n._doc,e,i);n._hiddenBefore=n.hidden()},_setListener:function(){if(!n._listening){var e=n._prefix()+"visibilitychange",i=function(){n._onChange.apply(Visibility,arguments)};n._doc.addEventListener?n._doc.addEventListener(e,i,!1):n._doc.attachEvent(e,i),n._listening=!0,n._hiddenBefore=n.hidden()}}};n._init();var r={every:function(e,r,t){n._initTimers(),i(t)||(t=r,r=null),n._lastTimer+=1;var a=n._lastTimer;return n._timers[a]={interval:e,hiddenInterval:r,callback:t},n._runTimer(a,!1),n.isSupported()&&n._setListener(),a},stop:function(e){var r=n._timers[e];return i(r)?(n._stopTimer(e),delete n._timers[e],r):!1},_lastTimer:-1,_timers:{},_timersInitialized:!1,_initTimers:function(){n._timersInitialized||(n._timersInitialized=!0,n._setInterval=i(window.jQuery)&&i(jQuery.every)?n._chronoInterval:n._originalInterval,n.change(function(){n._timersStopRun()}))},_originalInterval:function(e,i){return setInterval(e,i)},_chronoInterval:function(e,i){return jQuery.every(i,e)},_setInterval:null,_runTimer:function(e,i){var r,t=n._timers[e];if(n.hidden()){if(null===t.hiddenInterval)return;r=t.hiddenInterval}else r=t.interval;i&&t.callback.call(window),t.id=n._setInterval(t.callback,r)},_stopTimer:function(e){var i=n._timers[e];clearInterval(i.id),delete i.id},_timersStopRun:function(){var e=n.hidden(),i=n._hiddenBefore;if(e&&!i||!e&&i)for(var r in n._timers)n._stopTimer(r),n._runTimer(r,!e)}};for(var t in r)Visibility[t]=r[t]})();
|
||||
(function(e){"use strict";var i=function(i){return i!=e},n=window.Visibility={onVisible:function(e){if(!n.isSupported()||!n.hidden())return e(),n.isSupported();var i=n.change(function(){n.hidden()||(n.unbind(i),e())});return i},change:function(e){if(!n.isSupported())return!1;n._lastCallback+=1;var i=n._lastCallback;return n._callbacks[i]=e,n._setListener(),i},unbind:function(e){delete n._callbacks[e]},afterPrerendering:function(e){if(!n.isSupported()||"prerender"!=n.state())return e(),n.isSupported();var i=n.change(function(r,t){"prerender"!=t&&(n.unbind(i),e())});return i},hidden:function(){return n._prop("hidden",!1)},state:function(){return n._prop("visibilityState","visible")},isSupported:function(){return i(n._prefix())},_doc:window.document,_prefixes:["webkit","moz"],_chechedPrefix:null,_listening:!1,_lastCallback:-1,_callbacks:{},_hiddenBefore:!1,_init:function(){n._hiddenBefore=n.hidden()},_prefix:function(){if(null!==n._chechedPrefix)return n._chechedPrefix;if(i(n._doc.visibilityState))return n._chechedPrefix="";for(var e,r=0;n._prefixes.length>r;r++)if(e=n._prefixes[r]+"VisibilityState",i(n._doc[e]))return n._chechedPrefix=n._prefixes[r]},_name:function(e){var i=n._prefix();return""==i?e:i+e.substr(0,1).toUpperCase()+e.substr(1)},_prop:function(e,i){return n.isSupported()?n._doc[n._name(e)]:i},_onChange:function(e){var i=n.state();for(var r in n._callbacks)n._callbacks[r].call(n._doc,e,i);n._hiddenBefore=n.hidden()},_setListener:function(){if(!n._listening){var e=n._prefix()+"visibilitychange",i=function(){n._onChange.apply(Visibility,arguments)};n._doc.addEventListener?n._doc.addEventListener(e,i,!1):n._doc.attachEvent(e,i),n._listening=!0,n._hiddenBefore=n.hidden()}}};n._init();var r={every:function(e,r,t){n._initTimers(),i(t)||(t=r,r=null),n._lastTimer+=1;var a=n._lastTimer;return n._timers[a]={interval:e,hiddenInterval:r,callback:t},n._runTimer(a,!1),n.isSupported()&&n._setListener(),a},stop:function(e){var r=n._timers[e];return i(r)?(n._stopTimer(e),delete n._timers[e],r):!1},_lastTimer:-1,_timers:{},_timersInitialized:!1,_initTimers:function(){n._timersInitialized||(n._timersInitialized=!0,n._setInterval=i(window.jQuery)&&i(jQuery.every)?n._chronoInterval:n._originalInterval,n.change(function(){n._timersStopRun()}))},_originalInterval:function(e,i){return setInterval(e,i)},_chronoInterval:function(e,i){return jQuery.every(i,e)},_setInterval:null,_runTimer:function(e,i){var r,t=n._timers[e];if(n.hidden()){if(null===t.hiddenInterval)return;r=t.hiddenInterval}else r=t.interval;i&&t.callback.call(window),t.id=n._setInterval(t.callback,r)},_stopTimer:function(e){var i=n._timers[e];clearInterval(i.id),delete i.id},_timersStopRun:function(){var e=n.hidden(),i=n._hiddenBefore;if(e&&!i||!e&&i)for(var r in n._timers)n._stopTimer(r),n._runTimer(r,!e)}};for(var t in r)Visibility[t]=r[t]})();
|
||||
|
|
|
@ -25,10 +25,10 @@ $gray-dark-2: #444
|
|||
$gray-dark-3: #666
|
||||
$gray-medium-1: #999
|
||||
$gray-medium-2: #aaa
|
||||
$gray-medium-3: #ccc
|
||||
$gray-medium-3: #c4cbcc
|
||||
$gray-light-1: #ddd
|
||||
$gray-light-2: #efefef
|
||||
$gray-light-3: #f6f6f6
|
||||
$gray-light-3: #f2f2eb
|
||||
$gray-light-4: #fdfdfd
|
||||
|
||||
$slate-blue-1: #e1e2e6
|
||||
|
@ -48,20 +48,20 @@ $color-link: $gray-dark-3
|
|||
$color-link-highlight: $red-medium-1
|
||||
$color-link-sponsor: #575c7c
|
||||
$color-link-top: $gray-medium-3
|
||||
$color-link-top-highlight: $white
|
||||
$color-link-top-highlight: #ADC7D0
|
||||
$color-link-disabled: $gray-medium-1
|
||||
|
||||
$color-bg-dark: $slate-blue-2
|
||||
$color-bg-light: $gray-light-1
|
||||
$color-bg-input: $white
|
||||
$color-bg-link-top: $black
|
||||
$color-bg-dropdown: $gray-dark-2
|
||||
$color-bg-dropdown-highlight: $gray-dark-3
|
||||
$color-bg-dropdown: #40454f
|
||||
$color-bg-dropdown-highlight: #30343b
|
||||
$color-bg-pre: $gray-light-2
|
||||
$color-bg-tab: $gray-light-3
|
||||
$color-bg-tab-hover: $white
|
||||
$color-bg-tab-active: $white
|
||||
$color-bg-log: $black
|
||||
$color-bg-log: #222222
|
||||
$color-bg-log-fold: $gray-dark-1
|
||||
$color-bg-log-hover: $gray-dark-2
|
||||
$color-bg-log-highlight: $gray-dark-3
|
||||
|
@ -110,10 +110,10 @@ $color-bg-list-info: $yellow-light-2
|
|||
$color-text-list-info: $slate-yellow-1
|
||||
$color-shadow-list-info: $slate-yellow-2
|
||||
|
||||
$color-bg-flash-success: #ebfcc2
|
||||
$color-bg-flash-notice: lightGoldenrodYellow
|
||||
$color-bg-flash-error: #f5d7d3
|
||||
$color-bg-flash-broadcast: #efefef
|
||||
$color-bg-flash-success: #7ea35a
|
||||
$color-bg-flash-notice: #a57829
|
||||
$color-bg-flash-error: #a53230
|
||||
$color-bg-flash-broadcast: #55777f
|
||||
|
||||
$ansi-black: #4E4E4E
|
||||
$ansi-black-bold: #7C7C7C
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
$font-size-huge: 24px
|
||||
$font-size-huge: 30px
|
||||
$font-size-big: 15px
|
||||
$font-size-normal: 13px
|
||||
$font-size-small: 12px
|
||||
$font-size-normal: 14px
|
||||
$font-size-small: 13px
|
||||
$font-size-log: 12px
|
||||
$font-size-smaller: 12px
|
||||
$font-size-smaller: 15px
|
||||
$font-size-tiny: 11px
|
||||
$font-size-tiniest: 10px
|
||||
|
||||
$line-height: 19px
|
||||
$line-height-log: 18px
|
||||
$line-height: 22px
|
||||
$line-height-log: 19px
|
||||
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
@import "_mixins/all"
|
||||
|
||||
html, body
|
||||
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif
|
||||
font-family: 'Source Sans Pro', sans-serif
|
||||
font-size: $font-size-small
|
||||
line-height: $line-height
|
||||
margin: 0
|
||||
|
|
|
@ -7,9 +7,7 @@
|
|||
padding: 5px 10px
|
||||
border: 1px solid #d4d4d4
|
||||
margin: 0
|
||||
@include border-radius(4px)
|
||||
background-color: #ececec
|
||||
@include background(linear-gradient(#f4f4f4, #ececec))
|
||||
background-color: #E9E9E7
|
||||
background-clip: padding-box
|
||||
cursor: pointer
|
||||
outline: none
|
||||
|
@ -23,10 +21,9 @@
|
|||
.button:focus,
|
||||
.button:active,
|
||||
.button.active
|
||||
border-color: #2356c4
|
||||
border-color: #d4d4d4
|
||||
border-bottom-color: #2a65a0
|
||||
background-color: #4a80f3
|
||||
@include background(linear-gradient(#6699fa, #4a80f3))
|
||||
background-color: #40454f
|
||||
text-decoration: none
|
||||
color: #fff
|
||||
|
||||
|
@ -34,6 +31,17 @@
|
|||
.button.active
|
||||
border-color: #2a65a0
|
||||
border-bottom-color: #2356c4
|
||||
background-color: #4a80f3
|
||||
@include background(linear-gradient(#4a80f3, #6699fa))
|
||||
background-color: #40454f
|
||||
|
||||
.show-more
|
||||
background-color: #F2F2EB
|
||||
display: inline-block
|
||||
color: #666
|
||||
padding: 6px 15px
|
||||
text-decoration: none
|
||||
border: 1px solid #DDD
|
||||
.show-more:hover
|
||||
background-color: #40454F
|
||||
color: #FFF
|
||||
border: 1px solid #40454F
|
||||
cursor: pointer
|
|
@ -1,15 +1,13 @@
|
|||
@import "_mixins/all"
|
||||
|
||||
.flash
|
||||
color: gray
|
||||
color: #fff
|
||||
font-weight: bold
|
||||
|
||||
li
|
||||
position: relative
|
||||
margin: -20px -40px 20px -30px
|
||||
margin: -10px -40px 20px -30px
|
||||
padding: 15px 60px 15px 30px
|
||||
@include box-shadow(transparent 0 0 0 0, $color-border-normal 0 1px 6px 0, transparent 0 0 0 0, transparent 0 0 0 0)
|
||||
border-bottom: 1px solid $color-border-light
|
||||
|
||||
a
|
||||
text-decoration: underline
|
||||
|
@ -36,7 +34,6 @@
|
|||
right: 30px
|
||||
width: 16px
|
||||
height: 16px
|
||||
background: inline-image('ui/close.png') no-repeat 0 0
|
||||
opacity: 0.5
|
||||
background: inline-image('ui/close-white.png') no-repeat 0 0
|
||||
cursor: pointer
|
||||
|
||||
|
|
|
@ -2,42 +2,52 @@
|
|||
|
||||
#auth
|
||||
#main
|
||||
top: 100px
|
||||
margin: 0 auto
|
||||
padding: 25px 50px
|
||||
padding: 100px 50px 0 50px
|
||||
height: 100px
|
||||
|
||||
-webkit-flex: none
|
||||
flex: none
|
||||
width: 300px
|
||||
min-width: auto
|
||||
//border: 10px solid #bbb
|
||||
max-height: 400px
|
||||
@include border-radius(8px)
|
||||
|
||||
h1
|
||||
margin-bottom: 1em
|
||||
color: #333
|
||||
h2
|
||||
color: #919191
|
||||
font-weight: 400
|
||||
text-align: center
|
||||
margin-bottom: 50px
|
||||
|
||||
h3
|
||||
font-size: 35px
|
||||
color: #337389
|
||||
text-align: center
|
||||
margin: 0
|
||||
|
||||
p
|
||||
color: #334
|
||||
text-align: center
|
||||
font-size: 15px
|
||||
|
||||
> a
|
||||
display: inline-block
|
||||
padding: 10px
|
||||
border: 1px solid #d4d4d4
|
||||
-webkit-border-radius: 4px
|
||||
-moz-border-radius: 4px
|
||||
-ms-border-radius: 4px
|
||||
-o-border-radius: 4px
|
||||
border-radius: 4px
|
||||
background-color: #c7000f
|
||||
a
|
||||
display: inline
|
||||
padding: 15px 30px
|
||||
border: 0
|
||||
background-color: #a53230
|
||||
font-size: 20px
|
||||
color: #f6f6f6
|
||||
color: #ffffff
|
||||
width: 200px
|
||||
text-align: center
|
||||
a:hover
|
||||
display: inline
|
||||
text-decoration: underline
|
||||
|
||||
a:hover
|
||||
text-decoration: underline
|
||||
span
|
||||
display: inline-block
|
||||
text-align: center
|
||||
|
||||
.mascot
|
||||
display: block
|
||||
margin: 0 0 50px 0
|
||||
height: 150px
|
||||
background: inline-image('travis-mascot-150.png') 50% 0 no-repeat
|
||||
background-size: 150px 150px
|
|
@ -1,26 +1,121 @@
|
|||
#getting-started
|
||||
width: 650px
|
||||
margin: 0px auto
|
||||
font-family: Arial
|
||||
#first_sync
|
||||
width: 850px
|
||||
margin: 0 auto
|
||||
padding-top: 30px
|
||||
font-family: 'Source Sans Pro'
|
||||
font-size: 17px
|
||||
line-height: 26px
|
||||
text-align: center
|
||||
|
||||
.first-sync-head
|
||||
font-size: 35px
|
||||
color: #337389
|
||||
font-weight: 800
|
||||
text-align: center
|
||||
margin: 0
|
||||
|
||||
.few-more
|
||||
color: #919191
|
||||
font-size: 20px
|
||||
font-weight: 400
|
||||
text-align: center
|
||||
padding: 0
|
||||
margin: 0
|
||||
|
||||
.great-news
|
||||
font-size: 35px
|
||||
color: #337389
|
||||
text-align: center
|
||||
color: #c44845
|
||||
font-weight: 800
|
||||
margin: 0
|
||||
|
||||
p
|
||||
font-size: 15px
|
||||
text-align: left
|
||||
padding-bottom: 10px
|
||||
|
||||
a
|
||||
font-weight: bold
|
||||
.spinner
|
||||
border: 0px
|
||||
padding-bottom: 30px
|
||||
align: center
|
||||
|
||||
&:hover
|
||||
.sync-row
|
||||
display: inline-block
|
||||
clear: all
|
||||
padding-top: 30px
|
||||
|
||||
.sync-column
|
||||
padding-right: 28px
|
||||
max-width: 380px
|
||||
display: block
|
||||
float: left
|
||||
clear: all
|
||||
|
||||
#getting-started
|
||||
width: 850px
|
||||
margin: 0 auto
|
||||
padding-top: 30px
|
||||
font-family: 'Source Sans Pro'
|
||||
text-align: left
|
||||
|
||||
h2
|
||||
color: #919191
|
||||
font-weight: 400
|
||||
line-height: 30px
|
||||
text-align: center
|
||||
|
||||
h3
|
||||
font-size: 30px
|
||||
color: #337389
|
||||
text-align: center
|
||||
|
||||
.getting-started-row
|
||||
display: inline-block
|
||||
clear: all
|
||||
padding-top: 30px
|
||||
|
||||
a
|
||||
color: #337389
|
||||
text-decoration: underline
|
||||
|
||||
img
|
||||
border: 1px solid #ddd
|
||||
padding: 7px
|
||||
float: right
|
||||
margin: 15px
|
||||
&:hover
|
||||
color: #607a84
|
||||
text-decoration: underline
|
||||
|
||||
&.spinner
|
||||
border: 0px
|
||||
padding: 0px
|
||||
img
|
||||
padding: 0
|
||||
float: none
|
||||
margin: 0px
|
||||
margin-left: 5px
|
||||
margin: 15px 0 0 0
|
||||
width: 450px
|
||||
|
||||
p
|
||||
font-size: 17px
|
||||
line-height: 26px
|
||||
|
||||
.after-steps
|
||||
padding-top: 50px
|
||||
border-top : 1px solid #AAAAAA
|
||||
|
||||
.column
|
||||
padding-right: 20px
|
||||
max-width: 450px
|
||||
display: block
|
||||
float: left
|
||||
clear: all
|
||||
|
||||
.column-right
|
||||
width: 40%
|
||||
display: block
|
||||
float: left
|
||||
clear: all
|
||||
|
||||
.steps
|
||||
display: block
|
||||
margin-top: 10px
|
||||
font-size: 22px
|
||||
line-height: 30px
|
||||
font-weight: 400
|
||||
color: #bc3c3c
|
||||
|
||||
.end-of-steps
|
||||
padding-bottom: 50px
|
||||
|
|
|
@ -27,7 +27,8 @@ html, body
|
|||
top: -40px
|
||||
left: 0
|
||||
width: 100%
|
||||
height: 40px
|
||||
min-width: 1211px
|
||||
height: 55px
|
||||
z-index: 1000
|
||||
|
||||
#left, #right
|
||||
|
@ -38,13 +39,12 @@ html, body
|
|||
|
||||
#left
|
||||
@include flex(1, 1, 30%)
|
||||
min-width: 250px
|
||||
max-width: 380px
|
||||
min-width: 320px
|
||||
max-width: 320px
|
||||
width: -webkit-calc(100% - 1000px)
|
||||
padding: 0 0 110px 0
|
||||
background-color: $color-bg-left
|
||||
border-right: 1px solid $color-border-normal
|
||||
@include box-shadow(transparent 0 0 0 0, $color-border-normal 0 1px 8px 0, transparent 0 0 0 0, transparent 0 0 0 0)
|
||||
|
||||
@media screen and (max-width: 980px)
|
||||
#left
|
||||
|
@ -55,7 +55,7 @@ html, body
|
|||
-moz-box-flex: 4
|
||||
-webkit-box-flex: 4
|
||||
position: relative
|
||||
min-width: 760px
|
||||
min-width: 539px
|
||||
padding: 20px 40px 80px 30px
|
||||
|
||||
@media screen and (max-width: 1400px)
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
#left
|
||||
#search_box
|
||||
height: 87px
|
||||
padding: 30px 20px 0 20px
|
||||
background-color: $color-bg-dark
|
||||
padding: 50px 20px 0 20px
|
||||
background-color: #e9e9e7
|
||||
|
||||
input[type=text]
|
||||
height: 28px
|
||||
|
@ -13,7 +13,6 @@
|
|||
color: $color-text
|
||||
font-size: $font-size-small
|
||||
@include box-sizing(border-box)
|
||||
border: 1px solid $color-border-light
|
||||
@include border-radius(4px)
|
||||
border: 0
|
||||
background: $color-bg-input inline-image('ui/search.png') no-repeat right 8px
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
padding: 15px 20px 15px 15px
|
||||
border-bottom: 1px solid $color-border-light
|
||||
background-repeat: no-repeat
|
||||
cursor: pointer
|
||||
|
||||
&:nth-child(odd),
|
||||
&:nth-child(odd) .indicator span
|
||||
|
@ -35,13 +36,29 @@
|
|||
// @include border-radius(10px)
|
||||
|
||||
.summary
|
||||
margin: 5px 0 0 16px
|
||||
margin: 5px 0 0 0
|
||||
white-space: nowrap
|
||||
overflow: hidden
|
||||
text-overflow: ellipsis
|
||||
color: $color-text-light
|
||||
font-size: $font-size-small
|
||||
|
||||
.duration-icon
|
||||
display: inline-block
|
||||
width: 10px
|
||||
height: 10px
|
||||
margin-right: 5px
|
||||
background-image: inline-image('ui/clock.png')
|
||||
background-size: cover
|
||||
|
||||
.finished-icon
|
||||
display: inline-block
|
||||
width: 10px
|
||||
height: 10px
|
||||
margin-right: 5px
|
||||
background-image: inline-image('ui/cal.png')
|
||||
background-size: cover
|
||||
|
||||
.info
|
||||
overflow: hidden
|
||||
margin: 12px -20px -15px -45px
|
||||
|
@ -66,13 +83,12 @@
|
|||
span
|
||||
position: relative
|
||||
display: block
|
||||
top: 25px
|
||||
top: 45px
|
||||
left: -15px
|
||||
width: 20px
|
||||
height: 20px
|
||||
border: 1px solid $color-border-normal
|
||||
@include rotate(45deg)
|
||||
@include box-shadow($color-border-normal 0 1px 8px 0)
|
||||
|
||||
&.selected .indicator
|
||||
display: block
|
||||
|
|
|
@ -5,6 +5,10 @@
|
|||
margin: 15px 60px 0 0
|
||||
font-size: $font-size-huge
|
||||
a
|
||||
color: #50555b
|
||||
text-decoration: none
|
||||
a:hover
|
||||
color: #607a84
|
||||
text-decoration: underline
|
||||
|
||||
#stats
|
||||
|
|
|
@ -15,7 +15,6 @@ pre#log
|
|||
word-wrap: break-word
|
||||
background-color: $color-bg-log
|
||||
border: 1px solid $color-border-log
|
||||
@include border-radius(4px)
|
||||
overflow-x: scroll
|
||||
counter-reset: line-numbering
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
position: relative
|
||||
width: 100%
|
||||
overflow-x: hidden
|
||||
padding-right: 10px
|
||||
padding: 15px 0 0 10px
|
||||
|
||||
h3
|
||||
display: inline-block
|
||||
|
@ -27,7 +27,8 @@
|
|||
|
||||
.description, .language
|
||||
font-weight: normal
|
||||
color: $color-text-light
|
||||
color: #666a72
|
||||
font-size: 15px
|
||||
|
||||
.language
|
||||
display: none
|
||||
|
@ -62,5 +63,5 @@
|
|||
&:hover
|
||||
background: transparent url(/images/icons/github.png) center right no-repeat
|
||||
background-size: 12px
|
||||
opacity: 0.65
|
||||
opacity: 1
|
||||
padding-right: 16px
|
||||
|
|
|
@ -39,11 +39,9 @@
|
|||
a#status-image-popup
|
||||
float: right
|
||||
display: block
|
||||
opacity: 0.5
|
||||
opacity: 1.0
|
||||
margin-top: -26px
|
||||
margin-right: 45px
|
||||
&:hover
|
||||
opacity: 1.0
|
||||
|
||||
#code-climate
|
||||
a
|
||||
|
@ -63,12 +61,6 @@
|
|||
|
||||
li.icon
|
||||
a
|
||||
-webkit-border-radius: .5em
|
||||
-moz-border-radius: .5em
|
||||
border-radius: .5em
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.2)
|
||||
-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.2)
|
||||
box-shadow: 0 1px 2px rgba(0,0,0,0.2)
|
||||
display: inline-block
|
||||
width: 25px
|
||||
height: 20px
|
||||
|
@ -76,11 +68,8 @@
|
|||
top: -2px
|
||||
cursor: pointer
|
||||
color: #fef4e9
|
||||
border: solid 1px #afafaf
|
||||
background: #eee
|
||||
background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee))
|
||||
background: -moz-linear-gradient(top, #fff, #eee)
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#faa51a', endColorstr='#f47a20')
|
||||
border: solid 1px #d6d6d6
|
||||
background: #f4f4f4
|
||||
text-align: center
|
||||
margin-left: 5px
|
||||
|
||||
|
@ -89,7 +78,7 @@
|
|||
height: 15px
|
||||
margin-top: 3px
|
||||
margin-left: 0px
|
||||
|
||||
|
||||
&:hover
|
||||
opacity: 1.0
|
||||
|
||||
|
|
|
@ -17,4 +17,4 @@
|
|||
@include border-bottom-left-radius(4px)
|
||||
|
||||
#top .profile
|
||||
margin-right: 50px
|
||||
margin-right: 15px
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
#profile
|
||||
#main
|
||||
padding-top: 40px
|
||||
|
||||
h3
|
||||
height: 19px
|
||||
line-height: 19px
|
||||
|
@ -37,7 +39,6 @@
|
|||
padding: 10px 10px
|
||||
color: $color-text-light
|
||||
border: 1px solid #DDD
|
||||
@include border-radius(4px)
|
||||
|
||||
.sync_now
|
||||
float: right
|
||||
|
|
|
@ -73,10 +73,7 @@
|
|||
height: 18px
|
||||
margin: 0 10px 0 15px
|
||||
padding: 0 10px 0 0
|
||||
@include background(linear-gradient(#eee, #fff))
|
||||
@include box-shadow(#ccc 0px 2px 3px 0px inset)
|
||||
border: 1px solid #bdbdbd
|
||||
@include border-radius(4px)
|
||||
line-height: 21px
|
||||
font-size: 11px
|
||||
color: #999
|
||||
|
@ -89,17 +86,14 @@
|
|||
left: -1px
|
||||
width: 28px
|
||||
height: 18px
|
||||
@include background(linear-gradient(#ddd, #fff))
|
||||
@include box-shadow(#fff 0px 1px 3px 0px inset)
|
||||
background: #e9e9e7
|
||||
border: 1px solid #bdbdbd
|
||||
@include border-radius(4px)
|
||||
|
||||
&.active .switch
|
||||
width: 56px
|
||||
padding: 0 0 0 14px
|
||||
@include background(linear-gradient(#3a78f9, #93bafc))
|
||||
@include box-shadow(#2153be 0px 2px 3px 0px inset)
|
||||
border: 1px solid #4b7cde
|
||||
background: #40454f
|
||||
border: 1px solid #bdbdbd
|
||||
color: #fff
|
||||
text-align: left
|
||||
&:before
|
||||
|
|
|
@ -2,9 +2,11 @@
|
|||
|
||||
#profile
|
||||
#right
|
||||
width: 180px
|
||||
padding: 11px 20px 80px 20px
|
||||
background-color: $color-bg-right
|
||||
min-width: 180px
|
||||
max-width: 180px
|
||||
padding: 13px 20px 80px 20px
|
||||
background-color: #E9E9E7
|
||||
float: right
|
||||
border-left: 1px solid $color-border-normal
|
||||
|
||||
h4
|
||||
|
@ -14,12 +16,11 @@
|
|||
margin-top: 10px
|
||||
|
||||
.box
|
||||
margin-top: 25px
|
||||
margin-top: 15px
|
||||
margin-left: -3px
|
||||
padding: 15px
|
||||
border: 1px solid $color-border-normal
|
||||
background-color: $color-bg-sidebar-box
|
||||
@include border-radius(4px)
|
||||
border: 1px solid #e0e0e0
|
||||
background-color: #ffffff
|
||||
|
||||
h4
|
||||
margin: 0
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
border-bottom-color: $color-border-light
|
||||
white-space: nowrap
|
||||
cursor: pointer
|
||||
@include border-top-radius(4px)
|
||||
@include border-top-radius(2px)
|
||||
font-size: 10px
|
||||
|
||||
&:hover
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
border: 1px solid $color-border-light
|
||||
white-space: nowrap
|
||||
cursor: pointer
|
||||
@include border-top-radius(4px)
|
||||
|
||||
&:hover
|
||||
background-color: $color-bg-tab-hover
|
||||
|
@ -21,13 +20,13 @@
|
|||
.active
|
||||
background-color: $color-bg-tab-active
|
||||
border-bottom-color: $color-bg-tab-active
|
||||
@include border-top-radius(4px)
|
||||
|
||||
h5
|
||||
margin: 0
|
||||
font-size: $font-size-small
|
||||
font-weight: normal
|
||||
line-height: 30px
|
||||
text-align: center
|
||||
|
||||
a
|
||||
display: block
|
||||
|
|
|
@ -1,23 +1,24 @@
|
|||
@import "_mixins/all"
|
||||
|
||||
#top
|
||||
line-height: 40px
|
||||
@include background(linear-gradient(#444, #111))
|
||||
line-height: 60px
|
||||
background: #40454f
|
||||
font-size: $font-size-normal
|
||||
|
||||
h1
|
||||
float: left
|
||||
width: 73px
|
||||
width: 72px
|
||||
height: 30px
|
||||
margin: 4px 40px 0 22px
|
||||
margin: 12px 40px 0 22px
|
||||
text-indent: -9999px
|
||||
background: inline-image('ui/logo.png') no-repeat
|
||||
background-size: cover
|
||||
|
||||
ul
|
||||
list-style-type: none
|
||||
|
||||
a, span
|
||||
color: $color-link-top
|
||||
color: #ffffff
|
||||
text-decoration: none
|
||||
|
||||
li
|
||||
|
@ -26,7 +27,7 @@
|
|||
display: block
|
||||
padding: 0 15px
|
||||
&:hover
|
||||
color: $color-link-top-highlight
|
||||
color: #ADC7D0
|
||||
|
||||
li.traviscicom
|
||||
a
|
||||
|
@ -45,16 +46,13 @@
|
|||
display: none
|
||||
position: absolute
|
||||
z-index: 300
|
||||
top: 40px
|
||||
top: 55px
|
||||
width: 100%
|
||||
background-color: $color-bg-dropdown
|
||||
@include border-bottom-radius(6px)
|
||||
@include single-box-shadow(rgba(black, 0.3), 2px, 2px, 10px)
|
||||
|
||||
li
|
||||
display: block
|
||||
&:last-child a:hover
|
||||
@include border-bottom-radius(4px)
|
||||
|
||||
a
|
||||
display: block
|
||||
|
@ -83,15 +81,14 @@
|
|||
display: block
|
||||
|
||||
.signing-in
|
||||
background: inline-image('ui/spinner.gif') no-repeat 110px 16px
|
||||
background: inline-image('ui/spinner.gif') no-repeat 110px 22px
|
||||
|
||||
img
|
||||
position: absolute
|
||||
top: 7px
|
||||
left: 15px
|
||||
width: 22px
|
||||
height: 22px
|
||||
@include border-radius(3px)
|
||||
top: 12px
|
||||
left: 5px
|
||||
width: 30px
|
||||
height: 30px
|
||||
|
||||
ul
|
||||
min-width: 145px
|
||||
|
@ -106,7 +103,9 @@
|
|||
#home #navigation .home,
|
||||
#stats #navigation .stats,
|
||||
#profile #navigation .profile
|
||||
background-color: $color-bg-link-top
|
||||
background-color: transparent
|
||||
a
|
||||
color: #ffffff
|
||||
a:hover
|
||||
color: $color-link-top-highlight
|
||||
|
||||
|
|
BIN
public/images/getting-started/build-email-03.png
Normal file
After Width: | Height: | Size: 107 KiB |
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 144 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 143 KiB |
BIN
public/images/getting-started/mustache-no-spin.png
Normal file
After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 156 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 102 KiB |
BIN
public/images/icons/clock.png
Normal file
After Width: | Height: | Size: 305 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 960 B After Width: | Height: | Size: 1.6 KiB |
BIN
public/images/travis-mascot-150.png
Normal file
After Width: | Height: | Size: 39 KiB |
|
@ -1,6 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,800' rel='stylesheet' type='text/css'>
|
||||
<meta charset="UTF-8">
|
||||
<meta rel="travis.api_endpoint" href="https://api.travis-ci.org">
|
||||
<meta name="travis.pusher_key" value="5df8ac576dcccf4fd076">
|
||||
|
|