diff --git a/AssetFile b/AssetFile index 3e47163f..1a11ff8d 100644 --- a/AssetFile +++ b/AssetFile @@ -21,7 +21,7 @@ input 'assets/javascripts' do concat files, 'vendor.js' end - match '{app,config,lib}/**/*.coffee' do + match '{app,config,data,lib}/**/*.coffee' do coffee_script end @@ -34,12 +34,12 @@ input 'assets/javascripts' do concat 'app/templates.js' end - match '{app,config,lib}/**/*.js' do + match '{app,config,data,lib}/**/*.js' do minispade( string: true, rewrite_requires: true, module_id_generator: proc { |input| - input.path.sub(%r(^(app|config|lib)/), '').sub(/\.js$/, '') + input.path.sub(%r(^(app|lib)/), '').sub(/\.js$/, '') } ) concat 'application.js' @@ -77,9 +77,18 @@ input 'assets/stylesheets' do end end -# output 'public' -# input 'assets', 'index.html.erb' do -# filter(Rake::Pipeline::Web::Filters::TiltFilter) do |input| -# input.sub /\\.erb$/, '' -# end -# end +output 'public/images' +input 'assets/images' do + match '**/*' do + copy + end +end + + +output 'public' +input 'assets/static' do + match '**/*' do + copy + end +end + diff --git a/assets/images/rails.png b/assets/images/rails.png deleted file mode 100644 index d5edc04e..00000000 Binary files a/assets/images/rails.png and /dev/null differ diff --git a/assets/images/sponsors/5apps-205x60.png b/assets/images/sponsors/5apps-205x60.png new file mode 100644 index 00000000..18b8d336 Binary files /dev/null and b/assets/images/sponsors/5apps-205x60.png differ diff --git a/assets/images/sponsors/8thlight-205x60.jpg b/assets/images/sponsors/8thlight-205x60.jpg new file mode 100644 index 00000000..4783a5c2 Binary files /dev/null and b/assets/images/sponsors/8thlight-205x60.jpg differ diff --git a/assets/images/sponsors/agileanimal-205x60.png b/assets/images/sponsors/agileanimal-205x60.png new file mode 100644 index 00000000..1c53f966 Binary files /dev/null and b/assets/images/sponsors/agileanimal-205x60.png differ diff --git a/assets/images/sponsors/amen-205x60.jpg b/assets/images/sponsors/amen-205x60.jpg new file mode 100644 index 00000000..c2ed536c Binary files /dev/null and b/assets/images/sponsors/amen-205x60.jpg differ diff --git a/assets/images/sponsors/atomicobject-205x60.png b/assets/images/sponsors/atomicobject-205x60.png new file mode 100644 index 00000000..62166365 Binary files /dev/null and b/assets/images/sponsors/atomicobject-205x60.png differ diff --git a/assets/images/sponsors/avarteq-140x40.png b/assets/images/sponsors/avarteq-140x40.png new file mode 100644 index 00000000..e13e0143 Binary files /dev/null and b/assets/images/sponsors/avarteq-140x40.png differ diff --git a/assets/images/sponsors/basho-205x60.png b/assets/images/sponsors/basho-205x60.png new file mode 100644 index 00000000..8d95c094 Binary files /dev/null and b/assets/images/sponsors/basho-205x60.png differ diff --git a/assets/images/sponsors/bendyworks-100x60.png b/assets/images/sponsors/bendyworks-100x60.png new file mode 100644 index 00000000..9c98b7e7 Binary files /dev/null and b/assets/images/sponsors/bendyworks-100x60.png differ diff --git a/assets/images/sponsors/bendyworks-205x130.png b/assets/images/sponsors/bendyworks-205x130.png new file mode 100644 index 00000000..c8654cd0 Binary files /dev/null and b/assets/images/sponsors/bendyworks-205x130.png differ diff --git a/assets/images/sponsors/bendyworks-210x210.png b/assets/images/sponsors/bendyworks-210x210.png new file mode 100644 index 00000000..4ce673df Binary files /dev/null and b/assets/images/sponsors/bendyworks-210x210.png differ diff --git a/assets/images/sponsors/cloudcontrol-100x60.png b/assets/images/sponsors/cloudcontrol-100x60.png new file mode 100644 index 00000000..ffb2e163 Binary files /dev/null and b/assets/images/sponsors/cloudcontrol-100x60.png differ diff --git a/assets/images/sponsors/cloudcontrol-205x130.png b/assets/images/sponsors/cloudcontrol-205x130.png new file mode 100644 index 00000000..9f790453 Binary files /dev/null and b/assets/images/sponsors/cloudcontrol-205x130.png differ diff --git a/assets/images/sponsors/cloudcontrol-210x210.png b/assets/images/sponsors/cloudcontrol-210x210.png new file mode 100644 index 00000000..11748a85 Binary files /dev/null and b/assets/images/sponsors/cloudcontrol-210x210.png differ diff --git a/assets/images/sponsors/cobotme-205x60.png b/assets/images/sponsors/cobotme-205x60.png new file mode 100644 index 00000000..775485cd Binary files /dev/null and b/assets/images/sponsors/cobotme-205x60.png differ diff --git a/assets/images/sponsors/codeminer-205x60.png b/assets/images/sponsors/codeminer-205x60.png new file mode 100644 index 00000000..f4b2caec Binary files /dev/null and b/assets/images/sponsors/codeminer-205x60.png differ diff --git a/assets/images/sponsors/crowdinteractive-205x60.png b/assets/images/sponsors/crowdinteractive-205x60.png new file mode 100644 index 00000000..d4399390 Binary files /dev/null and b/assets/images/sponsors/crowdinteractive-205x60.png differ diff --git a/assets/images/sponsors/engineyard-140x40.png b/assets/images/sponsors/engineyard-140x40.png new file mode 100644 index 00000000..46fec6bb Binary files /dev/null and b/assets/images/sponsors/engineyard-140x40.png differ diff --git a/assets/images/sponsors/enterprise-rails-140x40.png b/assets/images/sponsors/enterprise-rails-140x40.png new file mode 100644 index 00000000..3f992209 Binary files /dev/null and b/assets/images/sponsors/enterprise-rails-140x40.png differ diff --git a/assets/images/sponsors/esm-205x60.png b/assets/images/sponsors/esm-205x60.png new file mode 100644 index 00000000..d6c93c94 Binary files /dev/null and b/assets/images/sponsors/esm-205x60.png differ diff --git a/assets/images/sponsors/evilmartians-205x60.png b/assets/images/sponsors/evilmartians-205x60.png new file mode 100644 index 00000000..0322fa27 Binary files /dev/null and b/assets/images/sponsors/evilmartians-205x60.png differ diff --git a/assets/images/sponsors/fingertips-205x60.png b/assets/images/sponsors/fingertips-205x60.png new file mode 100644 index 00000000..f30e8164 Binary files /dev/null and b/assets/images/sponsors/fingertips-205x60.png differ diff --git a/assets/images/sponsors/gidsy.png b/assets/images/sponsors/gidsy.png new file mode 100644 index 00000000..a1f7ca1b Binary files /dev/null and b/assets/images/sponsors/gidsy.png differ diff --git a/assets/images/sponsors/github.png b/assets/images/sponsors/github.png new file mode 100644 index 00000000..224c946f Binary files /dev/null and b/assets/images/sponsors/github.png differ diff --git a/assets/images/sponsors/heroku-100x60.png b/assets/images/sponsors/heroku-100x60.png new file mode 100644 index 00000000..a79e3a8d Binary files /dev/null and b/assets/images/sponsors/heroku-100x60.png differ diff --git a/assets/images/sponsors/heroku-140x40.png b/assets/images/sponsors/heroku-140x40.png new file mode 100644 index 00000000..e104cd98 Binary files /dev/null and b/assets/images/sponsors/heroku-140x40.png differ diff --git a/assets/images/sponsors/heroku-205x130.png b/assets/images/sponsors/heroku-205x130.png new file mode 100644 index 00000000..f540df48 Binary files /dev/null and b/assets/images/sponsors/heroku-205x130.png differ diff --git a/assets/images/sponsors/heroku-205x60.png b/assets/images/sponsors/heroku-205x60.png new file mode 100644 index 00000000..b3e08851 Binary files /dev/null and b/assets/images/sponsors/heroku-205x60.png differ diff --git a/assets/images/sponsors/iriscouch-140x40.png b/assets/images/sponsors/iriscouch-140x40.png new file mode 100644 index 00000000..345807ce Binary files /dev/null and b/assets/images/sponsors/iriscouch-140x40.png differ diff --git a/assets/images/sponsors/jumpstartlab-140x40.png b/assets/images/sponsors/jumpstartlab-140x40.png new file mode 100644 index 00000000..cc097f2b Binary files /dev/null and b/assets/images/sponsors/jumpstartlab-140x40.png differ diff --git a/assets/images/sponsors/jumpstartlab-205x60.png b/assets/images/sponsors/jumpstartlab-205x60.png new file mode 100644 index 00000000..463887ec Binary files /dev/null and b/assets/images/sponsors/jumpstartlab-205x60.png differ diff --git a/assets/images/sponsors/kanbanery-100x60.png b/assets/images/sponsors/kanbanery-100x60.png new file mode 100644 index 00000000..8e986406 Binary files /dev/null and b/assets/images/sponsors/kanbanery-100x60.png differ diff --git a/assets/images/sponsors/kanbanery-205x130.png b/assets/images/sponsors/kanbanery-205x130.png new file mode 100644 index 00000000..186d11d0 Binary files /dev/null and b/assets/images/sponsors/kanbanery-205x130.png differ diff --git a/assets/images/sponsors/kanbanery-205x60.png b/assets/images/sponsors/kanbanery-205x60.png new file mode 100644 index 00000000..5a402e39 Binary files /dev/null and b/assets/images/sponsors/kanbanery-205x60.png differ diff --git a/assets/images/sponsors/librato-metrics-140x40.png b/assets/images/sponsors/librato-metrics-140x40.png new file mode 100644 index 00000000..19be7adb Binary files /dev/null and b/assets/images/sponsors/librato-metrics-140x40.png differ diff --git a/assets/images/sponsors/medidata-205x60.png b/assets/images/sponsors/medidata-205x60.png new file mode 100644 index 00000000..19e0db9f Binary files /dev/null and b/assets/images/sponsors/medidata-205x60.png differ diff --git a/assets/images/sponsors/meltmedia-205x60.png b/assets/images/sponsors/meltmedia-205x60.png new file mode 100644 index 00000000..c7d65875 Binary files /dev/null and b/assets/images/sponsors/meltmedia-205x60.png differ diff --git a/assets/images/sponsors/mindmatters-205x60.png b/assets/images/sponsors/mindmatters-205x60.png new file mode 100644 index 00000000..9edd7b9e Binary files /dev/null and b/assets/images/sponsors/mindmatters-205x60.png differ diff --git a/assets/images/sponsors/mongohq-100x60.png b/assets/images/sponsors/mongohq-100x60.png new file mode 100644 index 00000000..1f50505d Binary files /dev/null and b/assets/images/sponsors/mongohq-100x60.png differ diff --git a/assets/images/sponsors/mongohq-205x130.png b/assets/images/sponsors/mongohq-205x130.png new file mode 100644 index 00000000..6b431f17 Binary files /dev/null and b/assets/images/sponsors/mongohq-205x130.png differ diff --git a/assets/images/sponsors/mongohq-205x60.png b/assets/images/sponsors/mongohq-205x60.png new file mode 100644 index 00000000..dfe04e5c Binary files /dev/null and b/assets/images/sponsors/mongohq-205x60.png differ diff --git a/assets/images/sponsors/nedap-100x60.png b/assets/images/sponsors/nedap-100x60.png new file mode 100644 index 00000000..6aa9a9ee Binary files /dev/null and b/assets/images/sponsors/nedap-100x60.png differ diff --git a/assets/images/sponsors/nedap-205x130.png b/assets/images/sponsors/nedap-205x130.png new file mode 100644 index 00000000..69294bf4 Binary files /dev/null and b/assets/images/sponsors/nedap-205x130.png differ diff --git a/assets/images/sponsors/nedap-205x60.png b/assets/images/sponsors/nedap-205x60.png new file mode 100644 index 00000000..a9e2895c Binary files /dev/null and b/assets/images/sponsors/nedap-205x60.png differ diff --git a/assets/images/sponsors/nedap-430x130.png b/assets/images/sponsors/nedap-430x130.png new file mode 100644 index 00000000..4423d1b3 Binary files /dev/null and b/assets/images/sponsors/nedap-430x130.png differ diff --git a/assets/images/sponsors/papertrail-140x40.png b/assets/images/sponsors/papertrail-140x40.png new file mode 100644 index 00000000..4a55288c Binary files /dev/null and b/assets/images/sponsors/papertrail-140x40.png differ diff --git a/assets/images/sponsors/planio-100x60.png b/assets/images/sponsors/planio-100x60.png new file mode 100644 index 00000000..8438d775 Binary files /dev/null and b/assets/images/sponsors/planio-100x60.png differ diff --git a/assets/images/sponsors/planio-205x130.png b/assets/images/sponsors/planio-205x130.png new file mode 100644 index 00000000..d858e26f Binary files /dev/null and b/assets/images/sponsors/planio-205x130.png differ diff --git a/assets/images/sponsors/planio-205x60.png b/assets/images/sponsors/planio-205x60.png new file mode 100644 index 00000000..c70b7faf Binary files /dev/null and b/assets/images/sponsors/planio-205x60.png differ diff --git a/assets/images/sponsors/postmark-140x40.png b/assets/images/sponsors/postmark-140x40.png new file mode 100644 index 00000000..cbfd4acf Binary files /dev/null and b/assets/images/sponsors/postmark-140x40.png differ diff --git a/assets/images/sponsors/pusher-140x40.png b/assets/images/sponsors/pusher-140x40.png new file mode 100644 index 00000000..a3869727 Binary files /dev/null and b/assets/images/sponsors/pusher-140x40.png differ diff --git a/assets/images/sponsors/railslove-140x40.png b/assets/images/sponsors/railslove-140x40.png new file mode 100644 index 00000000..dc6bd9dc Binary files /dev/null and b/assets/images/sponsors/railslove-140x40.png differ diff --git a/assets/images/sponsors/railslove.png b/assets/images/sponsors/railslove.png new file mode 100644 index 00000000..4c3da1ac Binary files /dev/null and b/assets/images/sponsors/railslove.png differ diff --git a/assets/images/sponsors/servergrove-140x40.png b/assets/images/sponsors/servergrove-140x40.png new file mode 100644 index 00000000..05360ea4 Binary files /dev/null and b/assets/images/sponsors/servergrove-140x40.png differ diff --git a/assets/images/sponsors/shopify-140x40.png b/assets/images/sponsors/shopify-140x40.png new file mode 100644 index 00000000..70d37581 Binary files /dev/null and b/assets/images/sponsors/shopify-140x40.png differ diff --git a/assets/images/sponsors/shopify.png b/assets/images/sponsors/shopify.png new file mode 100644 index 00000000..e513522e Binary files /dev/null and b/assets/images/sponsors/shopify.png differ diff --git a/assets/images/sponsors/site5-205x60.png b/assets/images/sponsors/site5-205x60.png new file mode 100644 index 00000000..1e03b3b0 Binary files /dev/null and b/assets/images/sponsors/site5-205x60.png differ diff --git a/assets/images/sponsors/soundcloud-100x60.png b/assets/images/sponsors/soundcloud-100x60.png new file mode 100644 index 00000000..7bce4957 Binary files /dev/null and b/assets/images/sponsors/soundcloud-100x60.png differ diff --git a/assets/images/sponsors/soundcloud-205x130.png b/assets/images/sponsors/soundcloud-205x130.png new file mode 100644 index 00000000..eda0ebee Binary files /dev/null and b/assets/images/sponsors/soundcloud-205x130.png differ diff --git a/assets/images/sponsors/soundcloud-205x60.png b/assets/images/sponsors/soundcloud-205x60.png new file mode 100644 index 00000000..5aa886ad Binary files /dev/null and b/assets/images/sponsors/soundcloud-205x60.png differ diff --git a/assets/images/sponsors/soundcloud.png b/assets/images/sponsors/soundcloud.png new file mode 100644 index 00000000..c00faba7 Binary files /dev/null and b/assets/images/sponsors/soundcloud.png differ diff --git a/assets/images/sponsors/stickermule-140x40.png b/assets/images/sponsors/stickermule-140x40.png new file mode 100644 index 00000000..5fb9498c Binary files /dev/null and b/assets/images/sponsors/stickermule-140x40.png differ diff --git a/assets/images/sponsors/stripe-140x40.png b/assets/images/sponsors/stripe-140x40.png new file mode 100644 index 00000000..d440f9ce Binary files /dev/null and b/assets/images/sponsors/stripe-140x40.png differ diff --git a/assets/images/sponsors/stripe-205x60.png b/assets/images/sponsors/stripe-205x60.png new file mode 100644 index 00000000..f284cb94 Binary files /dev/null and b/assets/images/sponsors/stripe-205x60.png differ diff --git a/assets/images/sponsors/stripe-stamp-111x103.png b/assets/images/sponsors/stripe-stamp-111x103.png new file mode 100644 index 00000000..ce37710e Binary files /dev/null and b/assets/images/sponsors/stripe-stamp-111x103.png differ diff --git a/assets/images/sponsors/thinkrelevance-205x60.png b/assets/images/sponsors/thinkrelevance-205x60.png new file mode 100644 index 00000000..45b3f912 Binary files /dev/null and b/assets/images/sponsors/thinkrelevance-205x60.png differ diff --git a/assets/images/sponsors/thoughtbot-140x40.png b/assets/images/sponsors/thoughtbot-140x40.png new file mode 100644 index 00000000..b12cd310 Binary files /dev/null and b/assets/images/sponsors/thoughtbot-140x40.png differ diff --git a/assets/images/sponsors/ticketevolution-100x60.png b/assets/images/sponsors/ticketevolution-100x60.png new file mode 100644 index 00000000..f0b4bfbf Binary files /dev/null and b/assets/images/sponsors/ticketevolution-100x60.png differ diff --git a/assets/images/sponsors/ticketevolution-205x130.jpg b/assets/images/sponsors/ticketevolution-205x130.jpg new file mode 100644 index 00000000..c1f233a0 Binary files /dev/null and b/assets/images/sponsors/ticketevolution-205x130.jpg differ diff --git a/assets/images/sponsors/ticketevolution-205x60.jpg b/assets/images/sponsors/ticketevolution-205x60.jpg new file mode 100644 index 00000000..058d45f4 Binary files /dev/null and b/assets/images/sponsors/ticketevolution-205x60.jpg differ diff --git a/assets/images/sponsors/tupalo-205x60.png b/assets/images/sponsors/tupalo-205x60.png new file mode 100644 index 00000000..2bbb0c4d Binary files /dev/null and b/assets/images/sponsors/tupalo-205x60.png differ diff --git a/assets/images/sponsors/twitter-205x60.png b/assets/images/sponsors/twitter-205x60.png new file mode 100644 index 00000000..1b886678 Binary files /dev/null and b/assets/images/sponsors/twitter-205x60.png differ diff --git a/assets/images/sponsors/wooga-100x60.png b/assets/images/sponsors/wooga-100x60.png new file mode 100644 index 00000000..e511d203 Binary files /dev/null and b/assets/images/sponsors/wooga-100x60.png differ diff --git a/assets/images/sponsors/wooga-205x130.png b/assets/images/sponsors/wooga-205x130.png new file mode 100644 index 00000000..3c0f9138 Binary files /dev/null and b/assets/images/sponsors/wooga-205x130.png differ diff --git a/assets/images/sponsors/wooga-210x210.png b/assets/images/sponsors/wooga-210x210.png new file mode 100644 index 00000000..ccf039f1 Binary files /dev/null and b/assets/images/sponsors/wooga-210x210.png differ diff --git a/assets/images/sponsors/xing-100x60.png b/assets/images/sponsors/xing-100x60.png new file mode 100644 index 00000000..d85ee60f Binary files /dev/null and b/assets/images/sponsors/xing-100x60.png differ diff --git a/assets/images/sponsors/xing-205x130.png b/assets/images/sponsors/xing-205x130.png new file mode 100644 index 00000000..605aa9d8 Binary files /dev/null and b/assets/images/sponsors/xing-205x130.png differ diff --git a/assets/images/sponsors/xing-210x210.png b/assets/images/sponsors/xing-210x210.png new file mode 100644 index 00000000..edde528c Binary files /dev/null and b/assets/images/sponsors/xing-210x210.png differ diff --git a/assets/images/sponsors/zendesk-205x60.png b/assets/images/sponsors/zendesk-205x60.png new file mode 100644 index 00000000..f08c70bd Binary files /dev/null and b/assets/images/sponsors/zendesk-205x60.png differ diff --git a/assets/images/sponsors/zweitag-100x60.png b/assets/images/sponsors/zweitag-100x60.png new file mode 100644 index 00000000..1a5a9e92 Binary files /dev/null and b/assets/images/sponsors/zweitag-100x60.png differ diff --git a/assets/images/sponsors/zweitag-205x130.png b/assets/images/sponsors/zweitag-205x130.png new file mode 100644 index 00000000..efcb3f47 Binary files /dev/null and b/assets/images/sponsors/zweitag-205x130.png differ diff --git a/assets/images/sponsors/zweitag-205x60.png b/assets/images/sponsors/zweitag-205x60.png new file mode 100644 index 00000000..c2a01f20 Binary files /dev/null and b/assets/images/sponsors/zweitag-205x60.png differ diff --git a/assets/javascripts/app/app.coffee b/assets/javascripts/app/app.coffee index f315881f..35efc64d 100644 --- a/assets/javascripts/app/app.coffee +++ b/assets/javascripts/app/app.coffee @@ -7,6 +7,8 @@ require 'ext/jquery' @Travis = Em.Namespace.create CONFIG_KEYS: ['rvm', 'gemfile', 'env', 'otp_release', 'php', 'node_js', 'perl', 'python', 'scala'] + INTERVALS: { sponsors: -1, times: -1 } + # QUEUES: [ # { name: 'common', display: 'Common' }, # { name: 'php', display: 'PHP, Perl and Python' }, @@ -27,6 +29,7 @@ require 'ext/jquery' App: Em.Application.extend initialize: (router) -> @store = Travis.Store.create() + @store.loadMany(Travis.Sponsor, Travis.SPONSORS) @routes = Travis.Router.create(app: this) @_super(Em.Object.create()) @routes.start() @@ -39,4 +42,7 @@ require 'router' require 'store' require 'templates' require 'views' -require 'locales' + +require 'config/locales' +require 'data/sponsors' + diff --git a/assets/javascripts/app/controllers.coffee b/assets/javascripts/app/controllers.coffee index b2a225a8..bda0810d 100644 --- a/assets/javascripts/app/controllers.coffee +++ b/assets/javascripts/app/controllers.coffee @@ -1,16 +1,47 @@ require 'helpers' +require 'travis/ticker' Travis.Controllers = Em.Namespace.create AppController: Em.Controller.extend() + RepositoriesController: Em.ArrayController.extend() RepositoryController: Em.ObjectController.extend(Travis.Urls.Repository) TabsController: Em.Controller.extend() BuildsController: Em.ArrayController.extend() BuildController: Em.ObjectController.extend(Travis.Urls.Commit) JobController: Em.ObjectController.extend(Travis.Urls.Commit) + SidebarController: Em.Controller.extend() QueuesController: Em.ArrayController.extend() + SponsorsController: Em.ArrayController.extend + page: 0 + + arrangedContent: (-> + @get('shuffled').slice(@start(), @end()) + ).property('shuffled.length', 'page') + + shuffled: (-> + if content = @get('content') then $.shuffle(content) else [] + ).property('content.length') + + next: -> + @set('page', if @isLast() then 0 else @get('page') + 1) + + pages: (-> + length = @getPath('content.length') + if length then parseInt(length / @get('perPage') + 1) else 1 + ).property('length') + + isLast: -> + @get('page') == @get('pages') - 1 + + start: -> + @get('page') * @get('perPage') + + end: -> + @start() + @get('perPage') + WorkersController: Em.ArrayController.extend groups: (-> groups = {} diff --git a/assets/javascripts/app/layout/base.coffee b/assets/javascripts/app/layout/base.coffee index 8a5c199e..5ef92f92 100644 --- a/assets/javascripts/app/layout/base.coffee +++ b/assets/javascripts/app/layout/base.coffee @@ -8,7 +8,7 @@ Travis.Layout.Base = Em.Object.extend $.extend this, Travis.Views for name in controllers - key = "#{name}Controller" + key = "#{$.camelize(name, false)}Controller" name = $.camelize(key) this[key] = Travis.Controllers[name].create(namespace: this, controllers: this) diff --git a/assets/javascripts/app/layout/sidebar.coffee b/assets/javascripts/app/layout/sidebar.coffee index c73f25fb..3e3efeab 100644 --- a/assets/javascripts/app/layout/sidebar.coffee +++ b/assets/javascripts/app/layout/sidebar.coffee @@ -2,14 +2,28 @@ require 'layout/base' Travis.Layout.Sidebar = Travis.Layout.Base.extend init: -> - @_super('sidebar', 'workers', 'queues') + @_super('sidebar', 'sponsors', 'workers', 'queues') @appController = @get('appController') + + @connectSponsors(Travis.Sponsor.decks(), Travis.Sponsor.links()) @connectWorkers(Travis.Worker.find()) @connectQueues(Travis.QUEUES) + Travis.Ticker.create(target: this, interval: Travis.INTERVALS.sponsors) + connect: -> @appController.connectOutlet(outletName: 'right', name: 'sidebar') + connectSponsors: (decks, links) -> + @sponsorsController = Em.Controller.create + decks: Travis.Controllers.SponsorsController.create(perPage: 1, content: decks) + links: Travis.Controllers.SponsorsController.create(perPage: 6, content: links) + @appController.set 'sponsors', @sponsorsController + + tick: -> + @sponsorsController.get('decks').next() + @sponsorsController.get('links').next() + connectWorkers: (workers) -> @workersController.set('content', workers) @appController.set('workers', @workersController) diff --git a/assets/javascripts/app/models.coffee b/assets/javascripts/app/models.coffee index ac197442..890321fd 100644 --- a/assets/javascripts/app/models.coffee +++ b/assets/javascripts/app/models.coffee @@ -3,5 +3,6 @@ require 'models/build' require 'models/commit' require 'models/job' require 'models/repository' +require 'models/sponsor' require 'models/worker' diff --git a/assets/javascripts/app/models/sponsor.coffee b/assets/javascripts/app/models/sponsor.coffee new file mode 100644 index 00000000..157edd36 --- /dev/null +++ b/assets/javascripts/app/models/sponsor.coffee @@ -0,0 +1,30 @@ +require 'travis/model' + +@Travis.Sponsor = Travis.Model.extend + type: DS.attr('string') + url: DS.attr('string') + link: DS.attr('string') + + image: (-> + "images/sponsors/#{@getPath('data.image')}" + ).property('data.image') + +Travis.Sponsor.reopenClass + decks: -> + @platinum().concat @gold() + + platinum: -> + platinum = @byType('platinum').toArray() + [sponsor] for sponsor in platinum + + gold: -> + gold = @byType('gold').toArray() + gold.splice(0, 2) while gold.length > 0 + + links: -> + @byType('silver') + + byType: -> + types = Array.prototype.slice.apply(arguments) + Travis.Sponsor.filter (sponsor) -> types.indexOf(sponsor.get('type')) != -1 + diff --git a/assets/javascripts/app/templates/layouts/sidebar.hbs b/assets/javascripts/app/templates/layouts/sidebar.hbs index f4580319..562ac386 100644 --- a/assets/javascripts/app/templates/layouts/sidebar.hbs +++ b/assets/javascripts/app/templates/layouts/sidebar.hbs @@ -1,20 +1,11 @@ - diff --git a/assets/javascripts/app/templates/sponsors/decks.hbs b/assets/javascripts/app/templates/sponsors/decks.hbs new file mode 100644 index 00000000..9191add9 --- /dev/null +++ b/assets/javascripts/app/templates/sponsors/decks.hbs @@ -0,0 +1,13 @@ +

{{t layouts.application.sponsers}}

+ +

{{{t layouts.application.sponsors_link}}}

diff --git a/assets/javascripts/app/templates/sponsors/links.hbs b/assets/javascripts/app/templates/sponsors/links.hbs new file mode 100644 index 00000000..b4a1ee94 --- /dev/null +++ b/assets/javascripts/app/templates/sponsors/links.hbs @@ -0,0 +1,11 @@ +
+

{{t layouts.application.sponsers}}

+ +
+ diff --git a/assets/javascripts/app/views.coffee b/assets/javascripts/app/views.coffee index f75bbfb2..4ea675ed 100644 --- a/assets/javascripts/app/views.coffee +++ b/assets/javascripts/app/views.coffee @@ -1,9 +1,7 @@ require 'ext/ember/namespace' @Travis.Views = Em.Namespace.create - SidebarView: Em.View.extend(templateName: 'layouts/sidebar') - QueuesView: Em.View.extend(templateName: 'queues/list') - WorkersView: Em.View.extend(templateName: 'workers/list') + SidebarView: Em.View.extend(templateName: 'layouts/sidebar') require 'views/build' require 'views/job' diff --git a/assets/javascripts/data/sponsors.coffee b/assets/javascripts/data/sponsors.coffee new file mode 100644 index 00000000..400e541b --- /dev/null +++ b/assets/javascripts/data/sponsors.coffee @@ -0,0 +1,44 @@ +@Travis.SPONSORS = [ + { type: 'platinum', url: "http://www.wooga.com", image: "wooga-205x130.png" } + { type: 'platinum', url: "http://bendyworks.com", image: "bendyworks-205x130.png" } + { type: 'platinum', url: "http://cloudcontrol.com", image: "cloudcontrol-205x130.png" } + { type: 'platinum', url: "http://xing.de", image: "xing-205x130.png" } + + { type: 'gold', url: "http://heroku.com", image: "heroku-205x60.png" } + { type: 'gold', url: "http://soundcloud.com", image: "soundcloud-205x60.png" } + { type: 'gold', url: "http://nedap.com", image: "nedap-205x60.png" } + { type: 'gold', url: "http://mongohq.com", image: "mongohq-205x60.png" } + { type: 'gold', url: "http://zweitag.de", image: "zweitag-205x60.png" } + { type: 'gold', url: "http://kanbanery.com", image: "kanbanery-205x60.png" } + { type: 'gold', url: "http://ticketevolution.com", image: "ticketevolution-205x60.jpg" } + { type: 'gold', url: "http://plan.io/travis", image: "planio-205x60.png" } + + { type: 'silver', link: "Cobot: The one tool to run your coworking space" } + { type: 'silver', link: "JumpstartLab: We build developers" } + { type: 'silver', link: "Evil Martians: Agile Ruby on Rails development" } + { type: 'silver', link: "Zendesk: Love your helpdesk" } + { type: 'silver', link: "Stripe: Payments for developers" } + { type: 'silver', link: "Basho: We make Riak!" } + { type: 'silver', link: "Relevance: We deliver software solutions" } + { type: 'silver', link: "Mindmatters: Software für Menschen" } + { type: 'silver', link: "Amen: The best and worst of everything" } + { type: 'silver', link: "Site5: Premium Web Hosting Solutions" } + { type: 'silver', link: "Crowd Interactive: Leading Rails consultancy in Mexico" } + { type: 'silver', link: "Atomic Object: Work with really smart people" } + { type: 'silver', link: "Codeminer: smart services for your startup" } + { type: 'silver', link: "Cloudant: grow into your data layer, not out of it" } + { type: 'silver', link: "Gidsy: Explore, organize & book unique things to do!" } + { type: 'silver', link: "5apps: Package & deploy HTML5 apps automatically" } + { type: 'silver', link: "Meltmedia: We are Interactive Superheroes" } + { type: 'silver', link: "Fingertips offers design and development services" } + { type: 'silver', link: "Engine Yard: Build epic apps, let us handle the rest" } + { type: 'silver', link: "Malwarebytes: Defeat Malware once and for all." } + { type: 'silver', link: "Readmill: The best reading app on the iPad." } + { type: 'silver', link: "Medidata: clinical tech improving quality of life" } + { type: 'silver', link: "ESM: Japan's best agile Ruby/Rails consultancy" } + { type: 'silver', link: "Twitter: instantly connects people everywhere" } + { type: 'silver', link: "AGiLE ANiMAL: we <3 Travis CI." } + { type: 'silver', link: "Tupalo: Discover, review & share local businesses." } +] + + diff --git a/assets/javascripts/lib/ext/jquery.coffee b/assets/javascripts/lib/ext/jquery.coffee index 665055f7..e33e6758 100644 --- a/assets/javascripts/lib/ext/jquery.coffee +++ b/assets/javascripts/lib/ext/jquery.coffee @@ -143,5 +143,15 @@ $.extend ret[ret.length] = value if value? ret.concat.apply [], ret + shuffle: (array) -> + array = array.slice() + top = array.length + while top && --top + current = Math.floor(Math.random() * (top + 1)) + tmp = array[current] + array[current] = array[top] + array[top] = tmp + array + truncate: (string, length) -> if string.length > length then string.trim().substring(0, length) + '...' else string diff --git a/assets/javascripts/lib/travis/ticker.coffee b/assets/javascripts/lib/travis/ticker.coffee index fb889503..b85506d0 100644 --- a/assets/javascripts/lib/travis/ticker.coffee +++ b/assets/javascripts/lib/travis/ticker.coffee @@ -1,18 +1,16 @@ @Travis.Ticker = Ember.Object.extend init: -> - @_super() - @schedule() + @schedule() unless @get('interval') == -1 + tick: -> context = @get('context') - @get('targets').forEach (target) => - target = context.get(target) - return unless target - if target.forEach - target.forEach (target) -> target.tick() - else - target.tick() + targets = @get('targets') || [@get('target')] + for target in targets + target = context.get(target) if context + target.tick() if target @schedule() + schedule: -> - Ember.run.later((=> @tick()), Travis.app.TICK_INTERVAL) + Ember.run.later((=> @tick()), @get('interval') || Travis.app.TICK_INTERVAL) diff --git a/assets/static/sponsors.json b/assets/static/sponsors.json new file mode 100644 index 00000000..1645c1d7 --- /dev/null +++ b/assets/static/sponsors.json @@ -0,0 +1,135 @@ +{ + "platinum": [ + { + "url": "http://www.wooga.com", + "image": "wooga-205x130.png" + }, + { + "url": "http://bendyworks.com", + "image": "bendyworks-205x130.png" + }, + { + "url": "http://cloudcontrol.com", + "image": "cloudcontrol-205x130.png" + }, + { + "url": "http://xing.de", + "image": "xing-205x130.png" + } + ], + "gold": [ + { + "url": "http://heroku.com", + "image": "heroku-205x60.png" + }, + { + "url": "http://soundcloud.com", + "image": "soundcloud-205x60.png" + }, + { + "url": "http://nedap.com", + "image": "nedap-205x60.png" + }, + { + "url": "http://mongohq.com", + "image": "mongohq-205x60.png" + }, + { + "url": "http://zweitag.de", + "image": "zweitag-205x60.png" + }, + { + "url": "http://kanbanery.com", + "image": "kanbanery-205x60.png" + }, + { + "url": "http://ticketevolution.com", + "image": "ticketevolution-205x60.jpg" + }, + { + "url": "http://plan.io/travis", + "image": "planio-205x60.png" + } + ], + "silver": [ + { + "link": "Cobot: The one tool to run your coworking space" + }, + { + "link": "JumpstartLab: We build developers" + }, + { + "link": "Evil Martians: Agile Ruby on Rails development" + }, + { + "link": "Zendesk: Love your helpdesk" + }, + { + "link": "Stripe: Payments for developers" + }, + { + "link": "Basho: We make Riak!" + }, + { + "link": "Relevance: We deliver software solutions" + }, + { + "link": "Mindmatters: Software für Menschen" + }, + { + "link": "Amen: The best and worst of everything" + }, + { + "link": "Site5: Premium Web Hosting Solutions" + }, + { + "link": "Crowd Interactive: Leading Rails consultancy in Mexico" + }, + { + "link": "Atomic Object: Work with really smart people" + }, + { + "link": "Codeminer: smart services for your startup" + }, + { + "link": "Cloudant: grow into your data layer, not out of it" + }, + { + "link": "Gidsy: Explore, organize & book unique things to do!" + }, + { + "link": "5apps: Package & deploy HTML5 apps automatically" + }, + { + "link": "Meltmedia: We are Interactive Superheroes" + }, + { + "link": "Fingertips offers design and development services" + }, + { + "link": "Engine Yard: Build epic apps, let us handle the rest" + }, + { + "link": "Malwarebytes: Defeat Malware once and for all." + }, + { + "link": "Readmill: The best reading app on the iPad." + }, + { + "link": "Medidata: clinical tech improving quality of life" + }, + { + "link": "ESM: Japan's best agile Ruby/Rails consultancy" + }, + { + "link": "Twitter: instantly connects people everywhere" + }, + { + "link": "AGiLE ANiMAL: we <3 Travis CI." + }, + { + "link": "Tupalo: Discover, review & share local businesses." + } + ] +} + diff --git a/assets/stylesheets/application.css b/assets/stylesheets/application.css index e71b45eb..241b6fb1 100644 --- a/assets/stylesheets/application.css +++ b/assets/stylesheets/application.css @@ -23,7 +23,7 @@ body { font-weight: bold; } -#left, #main { +#left, #main, #right { float: left; } diff --git a/assets/stylesheets/jasmine.css b/assets/stylesheets/jasmine.css new file mode 100644 index 00000000..705dd7d6 --- /dev/null +++ b/assets/stylesheets/jasmine.css @@ -0,0 +1,79 @@ +#HTMLReporter { font-size: 11px; font-family: Monaco, "Lucida Console", monospace; line-height: 14px; color: #333333; } +#HTMLReporter a { text-decoration: none; } +#HTMLReporter a:hover { text-decoration: underline; } +#HTMLReporter p, #HTMLReporter h1, #HTMLReporter h2, #HTMLReporter h3, #HTMLReporter h4, #HTMLReporter h5, #HTMLReporter h6 { margin: 0; line-height: 14px; } +#HTMLReporter .banner, #HTMLReporter .symbolSummary, #HTMLReporter .summary, #HTMLReporter .resultMessage, #HTMLReporter .specDetail .description, #HTMLReporter .alert .bar, #HTMLReporter .stackTrace { padding-left: 9px; padding-right: 9px; } +#HTMLReporter #jasmine_content { position: fixed; right: 100%; } +#HTMLReporter .version { color: #aaaaaa; } +#HTMLReporter .banner { margin-top: 14px; } +#HTMLReporter .duration { color: #aaaaaa; float: right; } +#HTMLReporter .symbolSummary { overflow: hidden; *zoom: 1; margin: 14px 0; } +#HTMLReporter .symbolSummary li { display: block; float: left; height: 7px; width: 14px; margin-bottom: 7px; font-size: 16px; } +#HTMLReporter .symbolSummary li.passed { font-size: 14px; } +#HTMLReporter .symbolSummary li.passed:before { color: #5e7d00; content: "\02022"; } +#HTMLReporter .symbolSummary li.failed { line-height: 9px; } +#HTMLReporter .symbolSummary li.failed:before { color: #b03911; content: "x"; font-weight: bold; margin-left: -1px; } +#HTMLReporter .symbolSummary li.skipped { font-size: 14px; } +#HTMLReporter .symbolSummary li.skipped:before { color: #bababa; content: "\02022"; } +#HTMLReporter .symbolSummary li.pending { line-height: 11px; } +#HTMLReporter .symbolSummary li.pending:before { color: #aaaaaa; content: "-"; } +#HTMLReporter .bar { line-height: 28px; font-size: 14px; display: block; color: #eee; } +#HTMLReporter .runningAlert { background-color: #666666; } +#HTMLReporter .skippedAlert { background-color: #aaaaaa; } +#HTMLReporter .skippedAlert:first-child { background-color: #333333; } +#HTMLReporter .skippedAlert:hover { text-decoration: none; color: white; text-decoration: underline; } +#HTMLReporter .passingAlert { background-color: #a6b779; } +#HTMLReporter .passingAlert:first-child { background-color: #5e7d00; } +#HTMLReporter .failingAlert { background-color: #cf867e; } +#HTMLReporter .failingAlert:first-child { background-color: #b03911; } +#HTMLReporter .results { margin-top: 14px; } +#HTMLReporter #details { display: none; } +#HTMLReporter .resultsMenu, #HTMLReporter .resultsMenu a { background-color: #fff; color: #333333; } +#HTMLReporter.showDetails .summaryMenuItem { font-weight: normal; text-decoration: inherit; } +#HTMLReporter.showDetails .summaryMenuItem:hover { text-decoration: underline; } +#HTMLReporter.showDetails .detailsMenuItem { font-weight: bold; text-decoration: underline; } +#HTMLReporter.showDetails .summary { display: none; } +#HTMLReporter.showDetails #details { display: block; } +#HTMLReporter .summaryMenuItem { font-weight: bold; text-decoration: underline; } +#HTMLReporter .summary { margin-top: 14px; } +#HTMLReporter .summary .suite .suite, #HTMLReporter .summary .specSummary { margin-left: 14px; } +#HTMLReporter .summary .specSummary.passed a { color: #5e7d00; } +#HTMLReporter .summary .specSummary.failed a { color: #b03911; } +#HTMLReporter .description + .suite { margin-top: 0; } +#HTMLReporter .suite { margin-top: 14px; } +#HTMLReporter .suite a { color: #333333; } +#HTMLReporter #details .specDetail { margin-bottom: 28px; } +#HTMLReporter #details .specDetail .description { display: block; color: white; background-color: #b03911; } +#HTMLReporter .resultMessage { padding-top: 14px; color: #333333; } +#HTMLReporter .resultMessage span.result { display: block; } +#HTMLReporter .stackTrace { margin: 5px 0 0 0; max-height: 224px; overflow: auto; line-height: 18px; color: #666666; border: 1px solid #ddd; background: white; white-space: pre; } + +#TrivialReporter { padding: 8px 13px; clear: both; overflow-y: scroll; background-color: white; font-family: "Helvetica Neue Light", "Lucida Grande", "Calibri", "Arial", sans-serif; /*.resultMessage {*/ /*white-space: pre;*/ /*}*/ } +#TrivialReporter a:visited, #TrivialReporter a { color: #303; } +#TrivialReporter a:hover, #TrivialReporter a:active { color: blue; } +#TrivialReporter .run_spec { float: right; padding-right: 5px; font-size: .8em; text-decoration: none; } +#TrivialReporter .banner { color: #303; background-color: #fef; padding: 5px; } +#TrivialReporter .logo { float: left; font-size: 1.1em; padding-left: 5px; } +#TrivialReporter .logo .version { font-size: .6em; padding-left: 1em; } +#TrivialReporter .runner.running { background-color: yellow; } +#TrivialReporter .options { text-align: right; font-size: .8em; } +#TrivialReporter .suite { border: 1px outset gray; margin: 5px 0; padding-left: 1em; } +#TrivialReporter .suite .suite { margin: 5px; } +#TrivialReporter .suite.passed { background-color: #dfd; } +#TrivialReporter .suite.failed { background-color: #fdd; } +#TrivialReporter .spec { margin: 5px; padding-left: 1em; clear: both; } +#TrivialReporter .spec.failed, #TrivialReporter .spec.passed, #TrivialReporter .spec.skipped { padding-bottom: 5px; border: 1px solid gray; } +#TrivialReporter .spec.failed { background-color: #fbb; border-color: red; } +#TrivialReporter .spec.passed { background-color: #bfb; border-color: green; } +#TrivialReporter .spec.skipped { background-color: #bbb; } +#TrivialReporter .messages { border-left: 1px dashed gray; padding-left: 1em; padding-right: 1em; } +#TrivialReporter .passed { background-color: #cfc; display: none; } +#TrivialReporter .failed { background-color: #fbb; } +#TrivialReporter .skipped { color: #777; background-color: #eee; display: none; } +#TrivialReporter .resultMessage span.result { display: block; line-height: 2em; color: black; } +#TrivialReporter .resultMessage .mismatch { color: black; } +#TrivialReporter .stackTrace { white-space: pre; font-size: .8em; margin-left: 10px; max-height: 5em; overflow: auto; border: 1px inset red; padding: 1em; background: #eef; } +#TrivialReporter .finished-at { padding-left: 1em; font-size: .6em; } +#TrivialReporter.show-passed .passed, #TrivialReporter.show-skipped .skipped { display: block; } +#TrivialReporter #jasmine_content { position: fixed; right: 100%; } +#TrivialReporter .runner { border: 1px solid gray; display: block; margin: 5px 0; padding: 2px 0 2px 10px; } diff --git a/public/images/sponsors/5apps-205x60.png b/public/images/sponsors/5apps-205x60.png new file mode 100644 index 00000000..18b8d336 Binary files /dev/null and b/public/images/sponsors/5apps-205x60.png differ diff --git a/public/images/sponsors/8thlight-205x60.jpg b/public/images/sponsors/8thlight-205x60.jpg new file mode 100644 index 00000000..4783a5c2 Binary files /dev/null and b/public/images/sponsors/8thlight-205x60.jpg differ diff --git a/public/images/sponsors/agileanimal-205x60.png b/public/images/sponsors/agileanimal-205x60.png new file mode 100644 index 00000000..1c53f966 Binary files /dev/null and b/public/images/sponsors/agileanimal-205x60.png differ diff --git a/public/images/sponsors/amen-205x60.jpg b/public/images/sponsors/amen-205x60.jpg new file mode 100644 index 00000000..c2ed536c Binary files /dev/null and b/public/images/sponsors/amen-205x60.jpg differ diff --git a/public/images/sponsors/atomicobject-205x60.png b/public/images/sponsors/atomicobject-205x60.png new file mode 100644 index 00000000..62166365 Binary files /dev/null and b/public/images/sponsors/atomicobject-205x60.png differ diff --git a/public/images/sponsors/avarteq-140x40.png b/public/images/sponsors/avarteq-140x40.png new file mode 100644 index 00000000..e13e0143 Binary files /dev/null and b/public/images/sponsors/avarteq-140x40.png differ diff --git a/public/images/sponsors/basho-205x60.png b/public/images/sponsors/basho-205x60.png new file mode 100644 index 00000000..8d95c094 Binary files /dev/null and b/public/images/sponsors/basho-205x60.png differ diff --git a/public/images/sponsors/bendyworks-100x60.png b/public/images/sponsors/bendyworks-100x60.png new file mode 100644 index 00000000..9c98b7e7 Binary files /dev/null and b/public/images/sponsors/bendyworks-100x60.png differ diff --git a/public/images/sponsors/bendyworks-205x130.png b/public/images/sponsors/bendyworks-205x130.png new file mode 100644 index 00000000..c8654cd0 Binary files /dev/null and b/public/images/sponsors/bendyworks-205x130.png differ diff --git a/public/images/sponsors/bendyworks-210x210.png b/public/images/sponsors/bendyworks-210x210.png new file mode 100644 index 00000000..4ce673df Binary files /dev/null and b/public/images/sponsors/bendyworks-210x210.png differ diff --git a/public/images/sponsors/cloudcontrol-100x60.png b/public/images/sponsors/cloudcontrol-100x60.png new file mode 100644 index 00000000..ffb2e163 Binary files /dev/null and b/public/images/sponsors/cloudcontrol-100x60.png differ diff --git a/public/images/sponsors/cloudcontrol-205x130.png b/public/images/sponsors/cloudcontrol-205x130.png new file mode 100644 index 00000000..9f790453 Binary files /dev/null and b/public/images/sponsors/cloudcontrol-205x130.png differ diff --git a/public/images/sponsors/cloudcontrol-210x210.png b/public/images/sponsors/cloudcontrol-210x210.png new file mode 100644 index 00000000..11748a85 Binary files /dev/null and b/public/images/sponsors/cloudcontrol-210x210.png differ diff --git a/public/images/sponsors/cobotme-205x60.png b/public/images/sponsors/cobotme-205x60.png new file mode 100644 index 00000000..775485cd Binary files /dev/null and b/public/images/sponsors/cobotme-205x60.png differ diff --git a/public/images/sponsors/codeminer-205x60.png b/public/images/sponsors/codeminer-205x60.png new file mode 100644 index 00000000..f4b2caec Binary files /dev/null and b/public/images/sponsors/codeminer-205x60.png differ diff --git a/public/images/sponsors/crowdinteractive-205x60.png b/public/images/sponsors/crowdinteractive-205x60.png new file mode 100644 index 00000000..d4399390 Binary files /dev/null and b/public/images/sponsors/crowdinteractive-205x60.png differ diff --git a/public/images/sponsors/engineyard-140x40.png b/public/images/sponsors/engineyard-140x40.png new file mode 100644 index 00000000..46fec6bb Binary files /dev/null and b/public/images/sponsors/engineyard-140x40.png differ diff --git a/public/images/sponsors/enterprise-rails-140x40.png b/public/images/sponsors/enterprise-rails-140x40.png new file mode 100644 index 00000000..3f992209 Binary files /dev/null and b/public/images/sponsors/enterprise-rails-140x40.png differ diff --git a/public/images/sponsors/esm-205x60.png b/public/images/sponsors/esm-205x60.png new file mode 100644 index 00000000..d6c93c94 Binary files /dev/null and b/public/images/sponsors/esm-205x60.png differ diff --git a/public/images/sponsors/evilmartians-205x60.png b/public/images/sponsors/evilmartians-205x60.png new file mode 100644 index 00000000..0322fa27 Binary files /dev/null and b/public/images/sponsors/evilmartians-205x60.png differ diff --git a/public/images/sponsors/fingertips-205x60.png b/public/images/sponsors/fingertips-205x60.png new file mode 100644 index 00000000..f30e8164 Binary files /dev/null and b/public/images/sponsors/fingertips-205x60.png differ diff --git a/public/images/sponsors/gidsy.png b/public/images/sponsors/gidsy.png new file mode 100644 index 00000000..a1f7ca1b Binary files /dev/null and b/public/images/sponsors/gidsy.png differ diff --git a/public/images/sponsors/github.png b/public/images/sponsors/github.png new file mode 100644 index 00000000..224c946f Binary files /dev/null and b/public/images/sponsors/github.png differ diff --git a/public/images/sponsors/heroku-100x60.png b/public/images/sponsors/heroku-100x60.png new file mode 100644 index 00000000..a79e3a8d Binary files /dev/null and b/public/images/sponsors/heroku-100x60.png differ diff --git a/public/images/sponsors/heroku-140x40.png b/public/images/sponsors/heroku-140x40.png new file mode 100644 index 00000000..e104cd98 Binary files /dev/null and b/public/images/sponsors/heroku-140x40.png differ diff --git a/public/images/sponsors/heroku-205x130.png b/public/images/sponsors/heroku-205x130.png new file mode 100644 index 00000000..f540df48 Binary files /dev/null and b/public/images/sponsors/heroku-205x130.png differ diff --git a/public/images/sponsors/heroku-205x60.png b/public/images/sponsors/heroku-205x60.png new file mode 100644 index 00000000..b3e08851 Binary files /dev/null and b/public/images/sponsors/heroku-205x60.png differ diff --git a/public/images/sponsors/iriscouch-140x40.png b/public/images/sponsors/iriscouch-140x40.png new file mode 100644 index 00000000..345807ce Binary files /dev/null and b/public/images/sponsors/iriscouch-140x40.png differ diff --git a/public/images/sponsors/jumpstartlab-140x40.png b/public/images/sponsors/jumpstartlab-140x40.png new file mode 100644 index 00000000..cc097f2b Binary files /dev/null and b/public/images/sponsors/jumpstartlab-140x40.png differ diff --git a/public/images/sponsors/jumpstartlab-205x60.png b/public/images/sponsors/jumpstartlab-205x60.png new file mode 100644 index 00000000..463887ec Binary files /dev/null and b/public/images/sponsors/jumpstartlab-205x60.png differ diff --git a/public/images/sponsors/kanbanery-100x60.png b/public/images/sponsors/kanbanery-100x60.png new file mode 100644 index 00000000..8e986406 Binary files /dev/null and b/public/images/sponsors/kanbanery-100x60.png differ diff --git a/public/images/sponsors/kanbanery-205x130.png b/public/images/sponsors/kanbanery-205x130.png new file mode 100644 index 00000000..186d11d0 Binary files /dev/null and b/public/images/sponsors/kanbanery-205x130.png differ diff --git a/public/images/sponsors/kanbanery-205x60.png b/public/images/sponsors/kanbanery-205x60.png new file mode 100644 index 00000000..5a402e39 Binary files /dev/null and b/public/images/sponsors/kanbanery-205x60.png differ diff --git a/public/images/sponsors/librato-metrics-140x40.png b/public/images/sponsors/librato-metrics-140x40.png new file mode 100644 index 00000000..19be7adb Binary files /dev/null and b/public/images/sponsors/librato-metrics-140x40.png differ diff --git a/public/images/sponsors/medidata-205x60.png b/public/images/sponsors/medidata-205x60.png new file mode 100644 index 00000000..19e0db9f Binary files /dev/null and b/public/images/sponsors/medidata-205x60.png differ diff --git a/public/images/sponsors/meltmedia-205x60.png b/public/images/sponsors/meltmedia-205x60.png new file mode 100644 index 00000000..c7d65875 Binary files /dev/null and b/public/images/sponsors/meltmedia-205x60.png differ diff --git a/public/images/sponsors/mindmatters-205x60.png b/public/images/sponsors/mindmatters-205x60.png new file mode 100644 index 00000000..9edd7b9e Binary files /dev/null and b/public/images/sponsors/mindmatters-205x60.png differ diff --git a/public/images/sponsors/mongohq-100x60.png b/public/images/sponsors/mongohq-100x60.png new file mode 100644 index 00000000..1f50505d Binary files /dev/null and b/public/images/sponsors/mongohq-100x60.png differ diff --git a/public/images/sponsors/mongohq-205x130.png b/public/images/sponsors/mongohq-205x130.png new file mode 100644 index 00000000..6b431f17 Binary files /dev/null and b/public/images/sponsors/mongohq-205x130.png differ diff --git a/public/images/sponsors/mongohq-205x60.png b/public/images/sponsors/mongohq-205x60.png new file mode 100644 index 00000000..dfe04e5c Binary files /dev/null and b/public/images/sponsors/mongohq-205x60.png differ diff --git a/public/images/sponsors/nedap-100x60.png b/public/images/sponsors/nedap-100x60.png new file mode 100644 index 00000000..6aa9a9ee Binary files /dev/null and b/public/images/sponsors/nedap-100x60.png differ diff --git a/public/images/sponsors/nedap-205x130.png b/public/images/sponsors/nedap-205x130.png new file mode 100644 index 00000000..69294bf4 Binary files /dev/null and b/public/images/sponsors/nedap-205x130.png differ diff --git a/public/images/sponsors/nedap-205x60.png b/public/images/sponsors/nedap-205x60.png new file mode 100644 index 00000000..a9e2895c Binary files /dev/null and b/public/images/sponsors/nedap-205x60.png differ diff --git a/public/images/sponsors/nedap-430x130.png b/public/images/sponsors/nedap-430x130.png new file mode 100644 index 00000000..4423d1b3 Binary files /dev/null and b/public/images/sponsors/nedap-430x130.png differ diff --git a/public/images/sponsors/papertrail-140x40.png b/public/images/sponsors/papertrail-140x40.png new file mode 100644 index 00000000..4a55288c Binary files /dev/null and b/public/images/sponsors/papertrail-140x40.png differ diff --git a/public/images/sponsors/planio-100x60.png b/public/images/sponsors/planio-100x60.png new file mode 100644 index 00000000..8438d775 Binary files /dev/null and b/public/images/sponsors/planio-100x60.png differ diff --git a/public/images/sponsors/planio-205x130.png b/public/images/sponsors/planio-205x130.png new file mode 100644 index 00000000..d858e26f Binary files /dev/null and b/public/images/sponsors/planio-205x130.png differ diff --git a/public/images/sponsors/planio-205x60.png b/public/images/sponsors/planio-205x60.png new file mode 100644 index 00000000..c70b7faf Binary files /dev/null and b/public/images/sponsors/planio-205x60.png differ diff --git a/public/images/sponsors/postmark-140x40.png b/public/images/sponsors/postmark-140x40.png new file mode 100644 index 00000000..cbfd4acf Binary files /dev/null and b/public/images/sponsors/postmark-140x40.png differ diff --git a/public/images/sponsors/pusher-140x40.png b/public/images/sponsors/pusher-140x40.png new file mode 100644 index 00000000..a3869727 Binary files /dev/null and b/public/images/sponsors/pusher-140x40.png differ diff --git a/public/images/sponsors/railslove-140x40.png b/public/images/sponsors/railslove-140x40.png new file mode 100644 index 00000000..dc6bd9dc Binary files /dev/null and b/public/images/sponsors/railslove-140x40.png differ diff --git a/public/images/sponsors/railslove.png b/public/images/sponsors/railslove.png new file mode 100644 index 00000000..4c3da1ac Binary files /dev/null and b/public/images/sponsors/railslove.png differ diff --git a/public/images/sponsors/servergrove-140x40.png b/public/images/sponsors/servergrove-140x40.png new file mode 100644 index 00000000..05360ea4 Binary files /dev/null and b/public/images/sponsors/servergrove-140x40.png differ diff --git a/public/images/sponsors/shopify-140x40.png b/public/images/sponsors/shopify-140x40.png new file mode 100644 index 00000000..70d37581 Binary files /dev/null and b/public/images/sponsors/shopify-140x40.png differ diff --git a/public/images/sponsors/shopify.png b/public/images/sponsors/shopify.png new file mode 100644 index 00000000..e513522e Binary files /dev/null and b/public/images/sponsors/shopify.png differ diff --git a/public/images/sponsors/site5-205x60.png b/public/images/sponsors/site5-205x60.png new file mode 100644 index 00000000..1e03b3b0 Binary files /dev/null and b/public/images/sponsors/site5-205x60.png differ diff --git a/public/images/sponsors/soundcloud-100x60.png b/public/images/sponsors/soundcloud-100x60.png new file mode 100644 index 00000000..7bce4957 Binary files /dev/null and b/public/images/sponsors/soundcloud-100x60.png differ diff --git a/public/images/sponsors/soundcloud-205x130.png b/public/images/sponsors/soundcloud-205x130.png new file mode 100644 index 00000000..eda0ebee Binary files /dev/null and b/public/images/sponsors/soundcloud-205x130.png differ diff --git a/public/images/sponsors/soundcloud-205x60.png b/public/images/sponsors/soundcloud-205x60.png new file mode 100644 index 00000000..5aa886ad Binary files /dev/null and b/public/images/sponsors/soundcloud-205x60.png differ diff --git a/public/images/sponsors/soundcloud.png b/public/images/sponsors/soundcloud.png new file mode 100644 index 00000000..c00faba7 Binary files /dev/null and b/public/images/sponsors/soundcloud.png differ diff --git a/public/images/sponsors/stickermule-140x40.png b/public/images/sponsors/stickermule-140x40.png new file mode 100644 index 00000000..5fb9498c Binary files /dev/null and b/public/images/sponsors/stickermule-140x40.png differ diff --git a/public/images/sponsors/stripe-140x40.png b/public/images/sponsors/stripe-140x40.png new file mode 100644 index 00000000..d440f9ce Binary files /dev/null and b/public/images/sponsors/stripe-140x40.png differ diff --git a/public/images/sponsors/stripe-205x60.png b/public/images/sponsors/stripe-205x60.png new file mode 100644 index 00000000..f284cb94 Binary files /dev/null and b/public/images/sponsors/stripe-205x60.png differ diff --git a/public/images/sponsors/stripe-stamp-111x103.png b/public/images/sponsors/stripe-stamp-111x103.png new file mode 100644 index 00000000..ce37710e Binary files /dev/null and b/public/images/sponsors/stripe-stamp-111x103.png differ diff --git a/public/images/sponsors/thinkrelevance-205x60.png b/public/images/sponsors/thinkrelevance-205x60.png new file mode 100644 index 00000000..45b3f912 Binary files /dev/null and b/public/images/sponsors/thinkrelevance-205x60.png differ diff --git a/public/images/sponsors/thoughtbot-140x40.png b/public/images/sponsors/thoughtbot-140x40.png new file mode 100644 index 00000000..b12cd310 Binary files /dev/null and b/public/images/sponsors/thoughtbot-140x40.png differ diff --git a/public/images/sponsors/ticketevolution-100x60.png b/public/images/sponsors/ticketevolution-100x60.png new file mode 100644 index 00000000..f0b4bfbf Binary files /dev/null and b/public/images/sponsors/ticketevolution-100x60.png differ diff --git a/public/images/sponsors/ticketevolution-205x130.jpg b/public/images/sponsors/ticketevolution-205x130.jpg new file mode 100644 index 00000000..c1f233a0 Binary files /dev/null and b/public/images/sponsors/ticketevolution-205x130.jpg differ diff --git a/public/images/sponsors/ticketevolution-205x60.jpg b/public/images/sponsors/ticketevolution-205x60.jpg new file mode 100644 index 00000000..058d45f4 Binary files /dev/null and b/public/images/sponsors/ticketevolution-205x60.jpg differ diff --git a/public/images/sponsors/tupalo-205x60.png b/public/images/sponsors/tupalo-205x60.png new file mode 100644 index 00000000..2bbb0c4d Binary files /dev/null and b/public/images/sponsors/tupalo-205x60.png differ diff --git a/public/images/sponsors/twitter-205x60.png b/public/images/sponsors/twitter-205x60.png new file mode 100644 index 00000000..1b886678 Binary files /dev/null and b/public/images/sponsors/twitter-205x60.png differ diff --git a/public/images/sponsors/wooga-100x60.png b/public/images/sponsors/wooga-100x60.png new file mode 100644 index 00000000..e511d203 Binary files /dev/null and b/public/images/sponsors/wooga-100x60.png differ diff --git a/public/images/sponsors/wooga-205x130.png b/public/images/sponsors/wooga-205x130.png new file mode 100644 index 00000000..3c0f9138 Binary files /dev/null and b/public/images/sponsors/wooga-205x130.png differ diff --git a/public/images/sponsors/wooga-210x210.png b/public/images/sponsors/wooga-210x210.png new file mode 100644 index 00000000..ccf039f1 Binary files /dev/null and b/public/images/sponsors/wooga-210x210.png differ diff --git a/public/images/sponsors/xing-100x60.png b/public/images/sponsors/xing-100x60.png new file mode 100644 index 00000000..d85ee60f Binary files /dev/null and b/public/images/sponsors/xing-100x60.png differ diff --git a/public/images/sponsors/xing-205x130.png b/public/images/sponsors/xing-205x130.png new file mode 100644 index 00000000..605aa9d8 Binary files /dev/null and b/public/images/sponsors/xing-205x130.png differ diff --git a/public/images/sponsors/xing-210x210.png b/public/images/sponsors/xing-210x210.png new file mode 100644 index 00000000..edde528c Binary files /dev/null and b/public/images/sponsors/xing-210x210.png differ diff --git a/public/images/sponsors/zendesk-205x60.png b/public/images/sponsors/zendesk-205x60.png new file mode 100644 index 00000000..f08c70bd Binary files /dev/null and b/public/images/sponsors/zendesk-205x60.png differ diff --git a/public/images/sponsors/zweitag-100x60.png b/public/images/sponsors/zweitag-100x60.png new file mode 100644 index 00000000..1a5a9e92 Binary files /dev/null and b/public/images/sponsors/zweitag-100x60.png differ diff --git a/public/images/sponsors/zweitag-205x130.png b/public/images/sponsors/zweitag-205x130.png new file mode 100644 index 00000000..efcb3f47 Binary files /dev/null and b/public/images/sponsors/zweitag-205x130.png differ diff --git a/public/images/sponsors/zweitag-205x60.png b/public/images/sponsors/zweitag-205x60.png new file mode 100644 index 00000000..c2a01f20 Binary files /dev/null and b/public/images/sponsors/zweitag-205x60.png differ diff --git a/public/javascripts/application.js b/public/javascripts/application.js index b869e017..40e9c84c 100644 --- a/public/javascripts/application.js +++ b/public/javascripts/application.js @@ -1 +1 @@ -minispade.register('templates', "(function() {Ember.TEMPLATES['builds/list']=Ember.Handlebars.compile(\"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n {{#each build in content}}\\n {{#view Travis.Views.BuildsItemView contextBinding=\\\"build\\\"}}\\n \\n \\n \\n \\n \\n \\n \\n {{/view}}\\n {{/each}}\\n \\n
{{t builds.name}}{{t builds.commit}}{{t builds.message}}{{t builds.duration}}{{t builds.finished_at}}
#{{number}}{{formatCommit commit}}{{{formatMessage commit.message short=\\\"true\\\"}}}{{formatDuration duration}}{{formatTime finished_at}}
\\n\\n

\\n \\n

\\n\");Ember.TEMPLATES['builds/show']=Ember.Handlebars.compile(\"{{#unless isLoaded}}\\n Loading ...\\n{{else}}\\n
\\n
\\n
\\n
{{t builds.name}}
\\n
{{number}}
\\n
{{t builds.finished_at}}
\\n
{{formatTime finished_at}}
\\n
{{t builds.duration}}
\\n
{{formatDuration duration}}
\\n
\\n\\n
\\n
{{t builds.commit}}
\\n
{{formatCommit commit}}
\\n {{#if commit.compareUrl}}\\n
{{t builds.compare}}
\\n
{{pathFrom commit.compareUrl}}
\\n {{/if}}\\n {{#if commit.authorName}}\\n
{{t builds.author}}
\\n
{{commit.authorName}}
\\n {{/if}}\\n {{#if commit.committerName}}\\n
{{t builds.committer}}
\\n
{{commit.committerName}}
\\n {{/if}}\\n
\\n\\n
{{t builds.message}}
\\n
{{{formatMessage commit.message}}}
\\n\\n {{#unless isMatrix}}\\n
{{t builds.config}}
\\n
{{formatConfig config}}
\\n {{/unless}}\\n
\\n\\n {{#if isMatrix}}\\n {{view Travis.Views.JobsView jobsBinding=\\\"view.requiredJobs\\\" required=\\\"true\\\"}}\\n {{view Travis.Views.JobsView jobsBinding=\\\"view.allowedFailureJobs\\\"}}\\n {{else}}\\n {{view Travis.Views.LogView contextBinding=\\\"jobs.firstObject\\\"}}\\n {{/if}}\\n
\\n{{/unless}}\\n\");Ember.TEMPLATES['jobs/list']=Ember.Handlebars.compile(\"{{#if view.jobs.length}}\\n \\n \\n \\n \\n {{#each configKeys}}\\n \\n {{/each}}\\n \\n \\n \\n {{#each job in view.jobs}}\\n {{#view Travis.Views.JobsItemView contextBinding=\\\"job\\\"}}\\n \\n \\n \\n \\n {{#each configValues}}\\n \\n {{/each}}\\n \\n {{/view}}\\n {{/each}}\\n \\n
\\n {{#if view.required}}\\n {{t jobs.build_matrix}}\\n {{else}}\\n {{t jobs.allowed_failures}}{{whats_this allow_failure_help}}\\n {{/if}}\\n
{{this}}
#{{number}}{{formatDuration duration}}{{formatTime finished_at}}{{this}}
\\n\\n {{#unless view.required}}\\n
\\n
{{t \\\"jobs.allowed_failures\\\"}}
\\n
\\n

\\n Allowed Failures are items in your build matrix that are allowed to\\n fail without causing the entire build to be shown as failed. This lets you add\\n in experimental and preparatory builds to test against versions or\\n configurations that you are not ready to officially support.\\n

\\n

\\n You can define allowed failures in the build matrix as follows:\\n

\\n
\\n      matrix:\\n        allow_failures:\\n          - rvm: ruby-head\\n        
\\n
\\n
\\n {{/unless}}\\n{{/if}}\\n\");Ember.TEMPLATES['jobs/log']=Ember.Handlebars.compile(\"
{{{formatLog log.body}}}
\\n\\n{{#if sponsor.name}}\\n

\\n {{t builds.messages.sponsored_by}}\\n {{sponsor.name}}\\n

\\n{{/if}}\\n\");Ember.TEMPLATES['jobs/show']=Ember.Handlebars.compile(\"
\\n
\\n
\\n
Job
\\n
{{number}}
\\n
{{t jobs.finished_at}}
\\n
{{formatTime finished_at}}
\\n
{{t jobs.duration}}
\\n
{{formatDuration duration}}
\\n
\\n\\n
\\n
{{t jobs.commit}}
\\n
{{formatCommit commit}}
\\n {{#if commit.compareUrl}}\\n
{{t jobs.compare}}
\\n
{{pathFrom commit.compareUrl}}
\\n {{/if}}\\n {{#if commit.authorName}}\\n
{{t jobs.author}}
\\n
{{commit.authorName}}
\\n {{/if}}\\n {{#if commit.committerName}}\\n
{{t jobs.committer}}
\\n
{{commit.committerName}}
\\n {{/if}}\\n
\\n\\n
{{t jobs.message}}
\\n
{{formatMessage commit.message}}
\\n
{{t jobs.config}}
\\n
{{formatConfig config}}
\\n
\\n\\n {{view Travis.Views.LogView}}\\n
\\n\\n\");Ember.TEMPLATES['layouts/default']=Ember.Handlebars.compile(\"
\\n Travis CI\\n #\\n
\\n\\n
\\n {{outlet left}}\\n
\\n\\n
\\n {{outlet main}}\\n
\\n\\n
\\n {{outlet right}}\\n
\\n\");Ember.TEMPLATES['layouts/profile']=Ember.Handlebars.compile(\"
\\n Travis CI\\n Profile\\n
\\n\\n
\\n {{outlet main}}\\n
\\n\\n\");Ember.TEMPLATES['layouts/sidebar']=Ember.Handlebars.compile(\"
\\n
 
\\n
\\n \\n\\n {{view Travis.Views.WorkersView groupsBinding=\\\"controller.workers\\\" id=\\\"workers\\\"}}\\n {{view Travis.Views.QueuesView queuesBinding=\\\"controller.queues\\\" id=\\\"queues\\\"}}\\n\\n \\n
\\n
\\n\\n\\n\");Ember.TEMPLATES['queues/list']=Ember.Handlebars.compile(\"{{#each queue in queues}}\\n

{{t queue}}: {{queue.name}}

\\n \\n{{/each}}\\n\");Ember.TEMPLATES['repositories/list']=Ember.Handlebars.compile(\"{{#unless content.lastObject.isLoaded}}\\n Loading ...\\n{{else}}\\n