From 3b37867d3d375b3e5720e44becb6e1ae717f0655 Mon Sep 17 00:00:00 2001 From: Nikos Verschore Date: Thu, 27 Nov 2014 22:25:03 +0100 Subject: [PATCH] Create new look for overview --- website/overview/Gemfile | 33 ++ website/overview/INSTALL | 12 + website/overview/config.rb | 42 ++ website/overview/css/main.css | 405 ++++++++++++++++++ .../css/partials/components/pages/main.css | 65 +++ website/overview/img/firefox.png | Bin 0 -> 57781 bytes website/overview/img/tail.png | Bin 0 -> 61421 bytes website/overview/index.html | 45 ++ website/overview/index.php | 134 ------ website/overview/js/app.js | 62 +++ website/overview/js/controllers.js | 222 ++++++++++ website/overview/js/overview.js | 2 + website/overview/partials/overview.html | 54 +++ website/overview/sass/main.scss | 5 + website/overview/sass/partials/_base.scss | 8 + .../overview/sass/partials/_components.scss | 1 + .../overview/sass/partials/base/_base.scss | 45 ++ .../overview/sass/partials/base/_forms.scss | 0 .../overview/sass/partials/base/_header.scss | 162 +++++++ .../overview/sass/partials/base/_icons.scss | 0 .../overview/sass/partials/base/_lists.scss | 0 .../overview/sass/partials/base/_media.scss | 0 .../overview/sass/partials/base/_tables.scss | 0 .../sass/partials/base/_typography.scss | 14 + .../sass/partials/components/pages/_main.scss | 11 + .../overview/sass/utility/_abstractions.scss | 3 + website/overview/sass/utility/_variables.scss | 7 + .../sass/utility/abstractions/_assoc.scss | 75 ++++ .../sass/utility/abstractions/_box.scss | 119 +++++ .../sass/utility/abstractions/_select.scss | 37 ++ .../sass/utility/variables/_breakpoints.scss | 3 + .../sass/utility/variables/_colors.scss | 16 + .../sass/utility/variables/_forms.scss | 0 .../sass/utility/variables/_grid.scss | 11 + .../sass/utility/variables/_icons.scss | 13 + .../sass/utility/variables/_legacy.scss | 4 + .../sass/utility/variables/_typography.scss | 3 + 37 files changed, 1479 insertions(+), 134 deletions(-) create mode 100644 website/overview/Gemfile create mode 100644 website/overview/INSTALL create mode 100644 website/overview/config.rb create mode 100644 website/overview/css/main.css create mode 100644 website/overview/css/partials/components/pages/main.css create mode 100644 website/overview/img/firefox.png create mode 100644 website/overview/img/tail.png create mode 100644 website/overview/index.html delete mode 100644 website/overview/index.php create mode 100644 website/overview/js/app.js create mode 100644 website/overview/js/controllers.js create mode 100644 website/overview/partials/overview.html create mode 100644 website/overview/sass/main.scss create mode 100644 website/overview/sass/partials/_base.scss create mode 100644 website/overview/sass/partials/_components.scss create mode 100644 website/overview/sass/partials/base/_base.scss create mode 100644 website/overview/sass/partials/base/_forms.scss create mode 100644 website/overview/sass/partials/base/_header.scss create mode 100644 website/overview/sass/partials/base/_icons.scss create mode 100644 website/overview/sass/partials/base/_lists.scss create mode 100644 website/overview/sass/partials/base/_media.scss create mode 100644 website/overview/sass/partials/base/_tables.scss create mode 100644 website/overview/sass/partials/base/_typography.scss create mode 100644 website/overview/sass/partials/components/pages/_main.scss create mode 100644 website/overview/sass/utility/_abstractions.scss create mode 100644 website/overview/sass/utility/_variables.scss create mode 100644 website/overview/sass/utility/abstractions/_assoc.scss create mode 100644 website/overview/sass/utility/abstractions/_box.scss create mode 100644 website/overview/sass/utility/abstractions/_select.scss create mode 100644 website/overview/sass/utility/variables/_breakpoints.scss create mode 100644 website/overview/sass/utility/variables/_colors.scss create mode 100644 website/overview/sass/utility/variables/_forms.scss create mode 100644 website/overview/sass/utility/variables/_grid.scss create mode 100644 website/overview/sass/utility/variables/_icons.scss create mode 100644 website/overview/sass/utility/variables/_legacy.scss create mode 100644 website/overview/sass/utility/variables/_typography.scss diff --git a/website/overview/Gemfile b/website/overview/Gemfile new file mode 100644 index 0000000..cc24915 --- /dev/null +++ b/website/overview/Gemfile @@ -0,0 +1,33 @@ +source 'https://rubygems.org' + +group :development do + + # Sass, Compass and extensions. + gem 'sass', '3.2.19' # Sass. + gem 'sass-globbing' # Import Sass files based on globbing pattern. + gem 'compass', '0.12.5' # Framework built on Sass. + gem 'compass-validator' # So you can `compass validate`. + gem 'compass-normalize' # Compass version of normalize.css. + gem 'compass-rgbapng' # Turns rgba() into .png's for backwards compatibility. + gem 'susy' # Susy grid framework. + gem 'singularitygs' # Alternative to the Susy grid framework. + gem 'toolkit' # Compass utility from the fabulous Snugug. + gem 'breakpoint' # Manages CSS media queries. + gem 'oily_png' # Faster Compass sprite generation. + gem 'css_parser' # Helps `compass stats` output statistics. + + # Guard + gem 'guard' # Guard event handler. + gem 'guard-compass' # Compile on sass/scss change. + gem 'guard-shell' # Run shell commands. + gem 'guard-livereload' # Browser reload. + gem 'yajl-ruby' # Faster JSON with LiveReload in the browser. + + # Dependency to prevent polling. Setup for multiple OS environments. + # Optionally remove the lines not specific to your OS. + # https://github.com/guard/guard#efficient-filesystem-handling + gem 'rb-inotify', '~> 0.9', :require => false # Linux + gem 'rb-fsevent', :require => false # Mac OSX + gem 'rb-fchange', :require => false # Windows + +end \ No newline at end of file diff --git a/website/overview/INSTALL b/website/overview/INSTALL new file mode 100644 index 0000000..aef72a5 --- /dev/null +++ b/website/overview/INSTALL @@ -0,0 +1,12 @@ +# Install Bundler +gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 +\curl -sSL https://get.rvm.io | bash -s stable +source ~/.rvm/scripts/rvm +rvm install 1.9.3 +gem install rubygems-bundler +# Install dependencies with bundler +bundle install + +# Compile SASS +compass compile + diff --git a/website/overview/config.rb b/website/overview/config.rb new file mode 100644 index 0000000..40089eb --- /dev/null +++ b/website/overview/config.rb @@ -0,0 +1,42 @@ +## +## This file is only needed for Compass/Sass integration. If you are not using +## Compass, you may safely ignore or delete this file. +## +## If you'd like to learn more about Sass and Compass, see the sass/README.txt +## file for more information. +## + +# Change this to :production when ready to deploy the CSS to the live server. +environment = :development + +# Location of the theme's resources. +css_dir = "css" +sass_dir = "sass" +images_dir = "images" +generated_images_dir = images_dir + "/generated" +javascripts_dir = "js" + +# Require any additional compass plugins installed on your system. +require 'compass-normalize' +require 'rgbapng' +require 'toolkit' +require 'susy' + +## +## You probably don't need to edit anything below this. +## + +# You can select your preferred output style here (:expanded, :nested, :compact +# or :compressed). +output_style = (environment == :development) ? :expanded : :expanded + +# To enable relative paths to assets via compass helper functions. Since Drupal +# themes can be installed in multiple locations, we don't need to worry about +# the absolute path to the theme from the server omega. +relative_assets = true + +# Conditionall enable line comments when in development mode. +line_comments = (environment == :development) ? true : false + +# Output debugging info in development mode. +sass_options = (environment == :development) ? {:debug_info => true} : {} \ No newline at end of file diff --git a/website/overview/css/main.css b/website/overview/css/main.css new file mode 100644 index 0000000..c1af4e9 --- /dev/null +++ b/website/overview/css/main.css @@ -0,0 +1,405 @@ +/***************************************/ +/* Icon dimensions are calculated with +/* $unit, so they will also scale when +/* $unit is changed. But at the default +/* 6px unit, the small icon should be 16px +/* and the medium icon should be 32px. +/* (Because else the icons become fusy) +/* So therefor calculate the dimensions +/***************************************/ +/**********************************************************************/ +/* Introduce some associative array functionality to SASS */ +/* so you can define: */ +/* $var: key1 "value1", key2 "value2"; */ +/* And use following functions: */ +/* get($var, key1); // will return "value1" */ +/* get($var, key2); // will return "value2" */ +/* $var: set($var, key1, "newValue"); */ +/* get($var, key1); // will return "newValue" */ +/* */ +/* Tips and source from: */ +/* http://hugogiraudel.com/2013/08/12/sass-functions/#mapping */ +/**********************************************************************/ +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_box\.scss}line{font-family:\000032}} +.box { + border: 1px SOLID #dddddd; + background-color: #f2f2f2; + color: #222222; + padding: 6px; + float: left; + width: 32%; + margin-right: 2%; + margin-bottom: 30px; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_box\.scss}line{font-family:\0000312}} +.box:nth-child(3n) { + margin-right: 0%; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_box\.scss}line{font-family:\0000316}} +.box .header { + text-transform: uppercase; + padding-left: 12px; + font-weight: bold; + padding-top: 6px; + padding-bottom: 12px; + text-align: center; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_box\.scss}line{font-family:\0000325}} +.box h3 { + color: #AAAAAA; + font-size: 15px; + font-weight: normal; + text-align: center; + margin-top: 6px; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_box\.scss}line{font-family:\0000333}} +.box .content { + background-color: white; + padding: 12px; + color: #42637b; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_box\.scss}line{font-family:\0000339}} +.box .score { + float: right; + font-size: 1.4em; + margin-top: -0.2em; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_box\.scss}line{font-family:\0000345}} +.box .title { + text-transform: uppercase; + margin-top: 0.4em; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_box\.scss}line{font-family:\0000350}} +.box progress { + width: 100%; + height: 6px; + appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + margin-bottom: 18px; + margin-top: 6px; + border: none; + background: #f2f2f2; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_box\.scss}line{font-family:\0000362}} +.box progress::-moz-progress-bar { + background-color: #42637b; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_box\.scss}line{font-family:\0000365}} +.box progress::-webkit-progress-value { + background-color: #42637b; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_box\.scss}line{font-family:\0000371}} +.box progress.ff::-moz-progress-bar { + background-color: #f39c32; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_box\.scss}line{font-family:\0000374}} +.box progress.ff::-webkit-progress-value { + background-color: #f39c32; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_box\.scss}line{font-family:\0000379}} +.box .footer { + text-align: center; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_box\.scss}line{font-family:\0000382}} +.box .footer a, .box .footer button { + display: inline-block; + width: 49%; + margin: 0px; + background-color: transparent; + border: 0px SOLID #FFFFFF; + padding-top: 18px; + padding-bottom: 12px; + cursor: pointer; + text-align: center; + color: #222222; + text-decoration: none; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_box\.scss}line{font-family:\0000395}} +.box .footer a.history:before, .box .footer button.history:before { + display: inline-block; + vertical-align: middle; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + margin-left: 6px; + margin-right: 6px; + content: "\e023"; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_box\.scss}line{font-family:\00003106}} +.box .footer a.subtests:before, .box .footer button.subtests:before { + display: inline-block; + vertical-align: middle; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + margin-left: 6px; + margin-right: 6px; + content: "\e137"; +} + +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_base\.scss}line{font-family:\000031}} +html { + overflow-y: scroll; +} + +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_base\.scss}line{font-family:\000035}} +* { + box-sizing: border-box; +} + +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_base\.scss}line{font-family:\000039}} +.container.content { + position: relative; + padding-top: 0px; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_base\.scss}line{font-family:\0000313}} +body.ff .container.content:after { + position: absolute; + content: ""; + display: block; + top: -260px; + left: -130px; + background-image: url("../img/tail.png"); + background-size: 90%; + background-repeat: no-repeat; + background-position: 0px 0px; + width: 500px; + height: 900px; + transform: rotate(-35deg); + z-index: -1; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_base\.scss}line{font-family:\0000329}} +.container.content h2 { + line-height: 48px; + font-weight: normal; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_base\.scss}line{font-family:\0000333}} +.container.content h2 a { + color: #000000; + text-decoration: none; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_base\.scss}line{font-family:\0000338}} +.container.content h2:after { + content: ""; + display: block; + clear: both; +} + +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\000032}} +header { + background-color: #42637b; + color: white; + -webkit-box-shadow: 0px 0px 15px 0px black; + -moz-box-shadow: 0px 0px 15px 0px black; + box-shadow: 0px 0px 15px 0px black; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\0000310}} +header .container { + display: table; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\0000314}} +header select { + color: white; + background-color: #42637b; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\0000319}} +header #machines, header #types, header #dates { + margin-left: 6px; + margin-right: 6px; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_select\.scss}line{font-family:\000037}} +header #machines select, header #machines input, header #machines div, header #types select, header #types input, header #types div, header #dates select, header #dates input, header #dates div { + -moz-appearance: toolbox; + -webkit-appearance: none; + text-indent: 0.01px; + text-overflow: ''; + display: inline-block; + vertical-align: middle; + padding-right: 18px; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_select\.scss}line{font-family:\0000316}} +header #machines select::-ms-expand, header #machines input::-ms-expand, header #machines div::-ms-expand, header #types select::-ms-expand, header #types input::-ms-expand, header #types div::-ms-expand, header #dates select::-ms-expand, header #dates input::-ms-expand, header #dates div::-ms-expand { + display: none; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/utility\/abstractions\/_select\.scss}line{font-family:\0000321}} +header #machines:after, header #types:after, header #dates:after { + position: absolute; + content: "\e114"; + display: inline-block; + vertical-align: middle; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + font-size: 0.5em; + height: 2.0em; + margin-left: -12px; + line-height: 2.0em; + pointer-events: none; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\0000323}} +header #dates:after { + display: none; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\0000328}} +header div { + display: inline-block; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\0000332}} +header h1 { + position: relative; + text-transform: uppercase; + font-size: 18px; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\0000337}} +body.ff header h1:after { + background-image: url("../img/firefox.png"); + background-size: 75%; + background-repeat: no-repeat; + background-position: 0px -35px; + width: 250px; + top: -15px; + bottom: -15px; + content: ""; + display: block; + left: -180px; + position: absolute; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\0000352}} +header h1, header .rightSide { + display: table-cell; + vertical-align: middle; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\0000357}} +header .rightSide { + text-align: right; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\0000361}} +header .query { + margin-right: 24px; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\0000365}} +header a { + text-decoration: none; + color: white; +} + +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\0000371}} +.subheader { + float: right; + vertical-align: bottom; + text-align: right; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\0000376}} +.subheader .container { + padding-top: 0px; + padding-bottom: 0px; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\0000381}} +.subheader .history { + color: #222222; + text-decoration: none; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\0000385}} +.subheader .history:before { + display: inline-block; + vertical-align: middle; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + margin-left: 6px; + margin-right: 6px; + content: "\e023"; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\0000397}} +.subheader .up { + color: #222222; + text-decoration: none; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\00003101}} +.subheader .up:before { + display: inline-block; + vertical-align: middle; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + margin-left: 6px; + margin-right: 6px; + content: "\e113"; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\00003113}} +.subheader .button { + background-color: #f2f2f2; + border: 1px SOLID #dddddd; + padding: 12px 18px; + display: inline-block; + color: #222222; + margin-left: 12px; + margin-right: 12px; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\00003122}} +.subheader .button:last-child { + margin-right: 0px; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\00003126}} +.subheader .button .title, .subheader .button .result { + display: inline-block; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\00003130}} +.subheader .button .title { + text-transform: uppercase; + font-size: 15px; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\00003135}} +.subheader .button .result { + color: #222222; + font-weight: bold; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\00003139}} +.subheader .button .result:before { + display: inline-block; + vertical-align: middle; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + margin-left: 6px; + margin-right: 6px; + content: "\2212"; + color: #b67525; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\00003151}} +.subheader .button .result.bad:before { + content: "\e114"; + color: #d12600; +} +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_header\.scss}line{font-family:\00003156}} +.subheader .button .result.good:before { + content: "\e113"; + color: #2f7836; +} + +@font-face { + font-family: 'Glyphicons Halflings'; + src: url("http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/fonts/glyphicons-halflings-regular.eot"); + src: url("http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/fonts/glyphicons-halflings-regular.woff") format("woff"), url("http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/fonts/glyphicons-halflings-regular.ttf") format("truetype"), url("http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/fonts/glyphicons-halflings-regular.svg") format("svg"); +} + +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/base\/_typography\.scss}line{font-family:\0000311}} +body { + font-family: lato; + background-color: #e6e6e6; +} + +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/components\/pages\/_main\.scss}line{font-family:\000031}} +html, body { + margin: 0px; + padding: 0px; +} + +@media -sass-debug-info{filename{font-family:file\:\/\/\/vagrant\/public\/arewefastyet\.firefox\.local\/arewefastyet\/website\/overview\/sass\/partials\/components\/pages\/_main\.scss}line{font-family:\000036}} +.container { + padding: 15px; + width: 1200px; + margin-left: auto; + margin-right: auto; +} diff --git a/website/overview/css/partials/components/pages/main.css b/website/overview/css/partials/components/pages/main.css new file mode 100644 index 0000000..30de447 --- /dev/null +++ b/website/overview/css/partials/components/pages/main.css @@ -0,0 +1,65 @@ +/* +Syntax error: Undefined variable: "$_accent". + on line 2 of /vagrant/public/arewefastyet.firefox.local/arewefastyet/website/overview/sass/partials/components/pages/main.scss + +1: /vagrant/public/arewefastyet.firefox.local/arewefastyet/website/overview/sass/partials/components/pages/main.scss + +Backtrace: +/vagrant/public/arewefastyet.firefox.local/arewefastyet/website/overview/sass/partials/components/pages/main.scss:2 +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/script/variable.rb:49:in `_perform' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/script/node.rb:40:in `perform' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:298:in `visit_prop' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:37:in `visit' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:100:in `visit' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:53:in `block in visit_children' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:53:in `map' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:53:in `visit_children' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:109:in `block in visit_children' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:121:in `with_environment' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:108:in `visit_children' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:37:in `block in visit' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:320:in `visit_rule' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:37:in `visit' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:100:in `visit' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:53:in `block in visit_children' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:53:in `map' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:53:in `visit_children' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:109:in `block in visit_children' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:121:in `with_environment' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:108:in `visit_children' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:37:in `block in visit' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:128:in `visit_root' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/base.rb:37:in `visit' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:100:in `visit' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/visitors/perform.rb:7:in `visit' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/tree/root_node.rb:20:in `render' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/engine.rb:315:in `_render' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/sass-3.2.19/lib/sass/engine.rb:262:in `render' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/lib/compass/compiler.rb:139:in `block (2 levels) in compile' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/lib/compass/compiler.rb:126:in `timed' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/lib/compass/compiler.rb:138:in `block in compile' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/lib/compass/logger.rb:45:in `red' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/lib/compass/compiler.rb:137:in `compile' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/lib/compass/compiler.rb:118:in `compile_if_required' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/lib/compass/compiler.rb:103:in `block (2 levels) in run' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/lib/compass/compiler.rb:101:in `each' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/lib/compass/compiler.rb:101:in `block in run' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/lib/compass/compiler.rb:126:in `timed' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/lib/compass/compiler.rb:100:in `run' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/lib/compass/commands/update_project.rb:45:in `perform' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/lib/compass/commands/base.rb:18:in `execute' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/lib/compass/commands/project_base.rb:19:in `execute' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/lib/compass/exec/sub_command_ui.rb:43:in `perform!' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/lib/compass/exec/sub_command_ui.rb:15:in `run!' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/bin/compass:30:in `block in ' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/bin/compass:44:in `call' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/compass-0.12.5/bin/compass:44:in `' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/bin/compass:23:in `load' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/bin/compass:23:in `
' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/bin/ruby_executable_hooks:15:in `eval' +/home/vagrant/.rvm/gems/ruby-1.9.3-p551/bin/ruby_executable_hooks:15:in `
' +*/ +body:before { + white-space: pre; + font-family: monospace; + content: "Syntax error: Undefined variable: \"$_accent\".\A on line 2 of /vagrant/public/arewefastyet.firefox.local/arewefastyet/website/overview/sass/partials/components/pages/main.scss\A \A 1: /vagrant/public/arewefastyet.firefox.local/arewefastyet/website/overview/sass/partials/components/pages/main.scss"; } diff --git a/website/overview/img/firefox.png b/website/overview/img/firefox.png new file mode 100644 index 0000000000000000000000000000000000000000..30a539c947050466a422fc46529bc5a42fc9e45f GIT binary patch literal 57781 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

WX6;p~VGFFg{&xTWxl?Jwf(1WE5A8#F7su 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 Aw*UYD literal 0 HcmV?d00001 diff --git a/website/overview/index.html b/website/overview/index.html new file mode 100644 index 0000000..82c926d --- /dev/null +++ b/website/overview/index.html @@ -0,0 +1,45 @@ + + + + + + ARE WE FAST YET? + + + + + + + + + + + + + + + +

+ +
+ +
+ + + diff --git a/website/overview/index.php b/website/overview/index.php deleted file mode 100644 index 51ccb43..0000000 --- a/website/overview/index.php +++ /dev/null @@ -1,134 +0,0 @@ - - - - - -ARE WE FAST YET? - - - - - - - - - - - - - - - - - - - - -Login - - - - - - - - - - - diff --git a/website/overview/js/app.js b/website/overview/js/app.js new file mode 100644 index 0000000..e8bcc30 --- /dev/null +++ b/website/overview/js/app.js @@ -0,0 +1,62 @@ +var awfyApp = angular.module('awfyApp', [ + 'ngRoute', + 'awfyControllers' +]); + +awfyApp.config(['$routeProvider', + function($routeProvider) { + $routeProvider. + when('/machine/:machine', { + templateUrl: 'partials/overview.html', + controller: 'overviewCtrl' + }). + when('/machine/:machine/suite/:suite', { + templateUrl: 'partials/overview.html', + controller: 'overviewCtrl' + }). + otherwise({ + redirectTo: '/machine/28' + }); + } +]); + +awfyApp.controller('pageCtrl', ['$scope', '$http', '$q', '$location', + function ($scope, $http, $q, $location) { + + // Get master data + $http.get('../data.php?file=master.js').then(function(data) { + + // Extract master data into JSON data. + var offset = data.data.indexOf("{"); + var endOffset = data.data.lastIndexOf("}"); + master = data.data.substring(offset, endOffset+1); + master = JSON.parse(master); + + // Add all machines (remove key) + $scope.machines = []; + for(var i in master["machines"]) { + if(master["machines"][i]["frontpage"]) { + $scope.machines.push(master["machines"][i]); + } + } + + // Put select in proper format + var path = $location.path().split("/"); + if(path[2].indexOf(",") == -1) { + $scope.selectedMachine = master["machines"][path[2]]; + } + + // Watch for changes of selection + $scope.$watch('selectedMachine', function (machine) { + var path = $location.path().split("/"); + path[2] = machine.id; + + if($location.path() != path) { + $location.path(path.join("/")); + } + }); + }); + + + +}]); \ No newline at end of file diff --git a/website/overview/js/controllers.js b/website/overview/js/controllers.js new file mode 100644 index 0000000..3d5a323 --- /dev/null +++ b/website/overview/js/controllers.js @@ -0,0 +1,222 @@ +var awfyCtrl = angular.module('awfyControllers', []); + +var isFF = function(name) { + if(name.indexOf("Ion") != -1) { + return true; + } else if(name.indexOf("Beta") != -1) { + return true; + } else if(name.indexOf("Shell") != -1) { + return true; + } else if(name.indexOf("no asmjs") != -1) { + return true; + } + return false; +} + +awfyCtrl.controller('overviewCtrl', ['$scope', '$http', '$routeParams', '$q', + function ($scope, $http, $routeParams, $q) { + + var dataRequests = []; + + // Get master data + dataRequests.push($http.get('../data.php?file=master.js')); + + // Get machine data + var machines = $routeParams.machine.split(","); + for(var i=0; i!=machines.length; i++) { + if(!$routeParams.suite) { + dataRequests.push($http.get('data.php?machine='+machines[i])); + } else { + dataRequests.push($http.get('data-suite.php?machine='+machines[i]+'&suiteVersion='+$routeParams.suite)); + } + } + + $q.all(dataRequests).then(function(data) { + + // Extract master data into JSON data. + var offset = data[0].data.indexOf("{"); + var endOffset = data[0].data.lastIndexOf("}"); + master = data[0].data.substring(offset, endOffset+1); + master = JSON.parse(master); + + // Extract machine data + var machines = []; + for(var i=1; i!=data.length; i++) { + var offset = data[i].data.indexOf("{"); + var endOffset = data[i].data.lastIndexOf("}"); + machine = data[i].data.substring(offset, endOffset+1); + machine = JSON.parse(machine); + machines.push(machine); + } +console.log(machines); +$scope.$parent.date = machines[0].stamp*1000; + + if($routeParams.suite) { + $scope.name = master["suiteversions"][$routeParams.suite]["name"]; + $scope.code = master["suiteversions"][$routeParams.suite]["suite"]; + } + + // Get all testsuites ids + var testsuites = {}; + for(var i in machines) { + for(var j in machines[i]["data"]) { + var suite = machines[i]["data"][j]; + + if(!$routeParams.suite && suite["suiteversionid"] == -1) + continue; + if(suite["scores"].length == 0) + continue; + + var name; + if(!$routeParams.suite) { + testsuites[suite["suiteversionid"]] = {}; + } else { + testsuites[suite["suitetest"]] = {}; + } + } + } + + /*// Get all software ids + var softwares = {}; + for(var i in machines) { + for(var j in machines[i]["data"]) { + var suite = machines[i]["data"][j]; + + if(!$routeParams.suite && suite["suiteversionid"] == -1) + continue; + if(suite["scores"].length == 0) + continue; + + for(var k in suite["scores"]) { + softwares[ suite["scores"][k]["modeid"] ] = { + name: master["modes"][ suite["scores"][k]["modeid"] ]["name"], + }; + } + } + }*/ + //$scope.softwares = softwares; + + // Create + for(i in testsuites) { + var name; + if(!$routeParams.suite) { + name = master["suiteversions"][i]["name"]; + } else { + name = i; + } + + var testsuite = { + id: i, + name: name, + machines: [], + maxScore: 0, + }; + + for(var j in machines) { + + // Look up the key for the scores + var key = -1; + for(var k in machines[j]["data"]) { + if(!$routeParams.suite) { + if(machines[j]["data"][k]["suiteversionid"] == i) { + key = k; + } + } else { + if(machines[j]["data"][k]["suitetest"] == i) { + key = k; + } + } + } + + // Add the machine and the test scores + if(key != -1) { + var machine = { + name: master["machines"][machines[j]["machine"]]["description"], + tests: [], + }; + + for(var k in machines[j]["data"][key]["scores"]) { + var test = machines[j]["data"][key]["scores"][k]; + + machine.tests.push({ + name: master["modes"][test["modeid"]]["name"], + score: test["score"], + ff: isFF(master["modes"][test["modeid"]]["name"]) ? "ff" : "", + }); + + testsuite.maxScore = Math.max(testsuite.maxScore, test["score"]*1); + } + + testsuite.machines.push(machine); + } + } + + $scope.testsuites.push(testsuite); + } + + + return; + + // Create testsuites + for(key in overview["data"]) { + var suite = overview["data"][key] + + if(!$routeParams.suite && suite["suiteversionid"] == -1) + continue; + + var name; + if(!$routeParams.suite) { + name = master["suiteversions"][suite["suiteversionid"]]["name"]; + } else { + name = suite["suitetest"]; + } + + var testsuite = { + name: name, + tests: [], + maxScore: 0, + }; + + if(!$routeParams.suite) { + testsuite.id = suite["suiteversionid"]; + } + + for(key in suite["scores"]) { + var test = suite["scores"][key]; + + testsuite.tests.push({ + name: master["modes"][test["modeid"]]["name"], + score: test["score"], + ff: isFF(master["modes"][test["modeid"]]["name"]) ? "ff" : "", + }); + + testsuite.maxScore = Math.max(testsuite.maxScore, test["score"]*1); + } + + $scope.testsuites.push(testsuite); + } + }); + + $scope.machineId = $routeParams.machine; + $scope.testsuites = []; + $scope.hasSuite = !!$routeParams.suite; + } +]); + + +awfyCtrl.controller('ffIconCtrl', function ($scope) { + var times = 0; + $("body").on("keypress", function(e) { + if(e.key) { + times++; + + setTimeout(function() { + times--; + }, 1000); + } + + if(times == 2) { + $("body").addClass("ff"); + } + }); +}); \ No newline at end of file diff --git a/website/overview/js/overview.js b/website/overview/js/overview.js index 4d62cdc..8e4aa58 100644 --- a/website/overview/js/overview.js +++ b/website/overview/js/overview.js @@ -1,3 +1,5 @@ + + function createGraph(div, titel, scores) { nv.addGraph(function() { div.append("h2").text(titel) diff --git a/website/overview/partials/overview.html b/website/overview/partials/overview.html new file mode 100644 index 0000000..0c60d22 --- /dev/null +++ b/website/overview/partials/overview.html @@ -0,0 +1,54 @@ +
+
+
+
{{software.name}}
+
Base
+
+ +
+ +
+
+ History +
+
+ History +
+
+ +

+ Overview +

+ +

+ Overview > {{name}} +

+ +
+
+
{{testsuite.name}}
+
+
+

{{machine.name}}

+
+
{{test.score}}
+
{{test.name}}
+ +
+
+
+ +
+
+
+ +
\ No newline at end of file diff --git a/website/overview/sass/main.scss b/website/overview/sass/main.scss new file mode 100644 index 0000000..68fb148 --- /dev/null +++ b/website/overview/sass/main.scss @@ -0,0 +1,5 @@ + +@import "utility/variables"; +@import "utility/abstractions"; +@import "partials/base"; +@import "partials/components"; \ No newline at end of file diff --git a/website/overview/sass/partials/_base.scss b/website/overview/sass/partials/_base.scss new file mode 100644 index 0000000..6fc0ab2 --- /dev/null +++ b/website/overview/sass/partials/_base.scss @@ -0,0 +1,8 @@ +@import "base/base"; +@import "base/forms"; +@import "base/header"; +@import "base/icons"; +@import "base/lists"; +@import "base/media"; +@import "base/tables"; +@import "base/typography"; diff --git a/website/overview/sass/partials/_components.scss b/website/overview/sass/partials/_components.scss new file mode 100644 index 0000000..2761747 --- /dev/null +++ b/website/overview/sass/partials/_components.scss @@ -0,0 +1 @@ +@import "components/pages/main"; \ No newline at end of file diff --git a/website/overview/sass/partials/base/_base.scss b/website/overview/sass/partials/base/_base.scss new file mode 100644 index 0000000..f79c529 --- /dev/null +++ b/website/overview/sass/partials/base/_base.scss @@ -0,0 +1,45 @@ +html { + overflow-y: scroll; +} + +* { + box-sizing: border-box; +} + +.container.content { + position: relative; + padding-top: 0px; + + body.ff &:after { + position: absolute; + content: ""; + display: block; + top: -260px; + left: -130px; + background-image: url("../img/tail.png"); + background-size: 90%; + background-repeat: no-repeat; + background-position: 0px 0px; + width: 500px; + height: 900px; + transform: rotate(-35deg); + z-index: -1; + } + + h2 { + line-height: $unit*8; + font-weight: normal; + + a { + color: #000000; + text-decoration: none; + } + + &:after { + content: ""; + display: block; + clear: both; + } + } +} + diff --git a/website/overview/sass/partials/base/_forms.scss b/website/overview/sass/partials/base/_forms.scss new file mode 100644 index 0000000..e69de29 diff --git a/website/overview/sass/partials/base/_header.scss b/website/overview/sass/partials/base/_header.scss new file mode 100644 index 0000000..24b1ff9 --- /dev/null +++ b/website/overview/sass/partials/base/_header.scss @@ -0,0 +1,162 @@ + +header { + background-color: $_accent; + color: $_white; + + -webkit-box-shadow: 0px 0px 15px 0px $_darkaccent; + -moz-box-shadow: 0px 0px 15px 0px $_darkaccent; + box-shadow: 0px 0px 15px 0px $_darkaccent; + + .container { + display: table; + } + + select { + color: $_white; + background-color: $_accent; + } + + #machines, #types, #dates { + @include minimal-select; + } + + #dates:after { + //temporary + display: none; + } + + div { + display: inline-block; + } + + h1 { + position: relative; + text-transform: uppercase; + font-size: $unit*3; + + body.ff &:after { + background-image: url("../img/firefox.png"); + background-size: 75%; + background-repeat: no-repeat; + background-position: 0px -35px; + width: 250px; + top: -15px; + bottom: -15px; + content: ""; + display: block; + left: -180px; + position: absolute; + } + } + + h1, .rightSide { + display: table-cell; + vertical-align: middle + } + + .rightSide { + text-align: right; + } + + .query { + margin-right: $unit*4; + } + + a { + text-decoration: none; + color: $_white; + } +} + +.subheader { + float: right; + vertical-align: bottom; + text-align: right; + + .container { + padding-top: 0px; + padding-bottom: 0px; + } + + .history { + color: get($_box, color); + text-decoration: none; + + &:before { + display: inline-block; + vertical-align: middle; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + margin-left: $unit; + margin-right: $unit; + content: "\e023"; + } + } + + .up { + color: get($_box, color); + text-decoration: none; + + &:before { + display: inline-block; + vertical-align: middle; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + margin-left: $unit; + margin-right: $unit; + content: "\e113"; + } + } + + .button { + background-color: get($_box, header); + border: 1px SOLID get($_box, border); + padding: $unit*2 $unit*3; + display: inline-block; + color: get($_box, color); + margin-left: $unit*2; + margin-right: $unit*2; + + &:last-child { + margin-right: 0px; + } + + .title, .result { + display: inline-block; + } + + .title { + text-transform: uppercase; + font-size: $unit*2.5; + } + + .result { + color: get($_box, color); + font-weight: bold; + + &:before { + display: inline-block; + vertical-align: middle; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + margin-left: $unit; + margin-right: $unit; + content: "\2212"; + color: mix($_orange, $_darkaccent, 75%); + } + + &.bad:before { + content: "\e114"; + color: $_red; + } + + &.good:before { + content: "\e113"; + color: $_green; + } + } + } +} \ No newline at end of file diff --git a/website/overview/sass/partials/base/_icons.scss b/website/overview/sass/partials/base/_icons.scss new file mode 100644 index 0000000..e69de29 diff --git a/website/overview/sass/partials/base/_lists.scss b/website/overview/sass/partials/base/_lists.scss new file mode 100644 index 0000000..e69de29 diff --git a/website/overview/sass/partials/base/_media.scss b/website/overview/sass/partials/base/_media.scss new file mode 100644 index 0000000..e69de29 diff --git a/website/overview/sass/partials/base/_tables.scss b/website/overview/sass/partials/base/_tables.scss new file mode 100644 index 0000000..e69de29 diff --git a/website/overview/sass/partials/base/_typography.scss b/website/overview/sass/partials/base/_typography.scss new file mode 100644 index 0000000..9c9e2a6 --- /dev/null +++ b/website/overview/sass/partials/base/_typography.scss @@ -0,0 +1,14 @@ + +@font-face { + font-family: 'Glyphicons Halflings'; + src: url($icon-font-path + $icon-font-name + '.eot'); + src: url($icon-font-path + $icon-font-name + '.eot?#iefix') format('embedded-opentype'), + url($icon-font-path + $icon-font-name + '.woff') format('woff'), + url($icon-font-path + $icon-font-name + '.ttf') format('truetype'), + url($icon-font-path + $icon-font-name + '.svg') format('svg'); +} + +body { + font-family: lato; + background-color: $_grey; +} \ No newline at end of file diff --git a/website/overview/sass/partials/components/pages/_main.scss b/website/overview/sass/partials/components/pages/_main.scss new file mode 100644 index 0000000..2f3f0d6 --- /dev/null +++ b/website/overview/sass/partials/components/pages/_main.scss @@ -0,0 +1,11 @@ +html, body { + margin: 0px; + padding: 0px; +} + +.container { + padding: 15px; + width: $container-width; + margin-left: auto; + margin-right: auto; +} diff --git a/website/overview/sass/utility/_abstractions.scss b/website/overview/sass/utility/_abstractions.scss new file mode 100644 index 0000000..10d63ca --- /dev/null +++ b/website/overview/sass/utility/_abstractions.scss @@ -0,0 +1,3 @@ +@import "abstractions/assoc"; +@import "abstractions/box"; +@import "abstractions/select"; diff --git a/website/overview/sass/utility/_variables.scss b/website/overview/sass/utility/_variables.scss new file mode 100644 index 0000000..9d961df --- /dev/null +++ b/website/overview/sass/utility/_variables.scss @@ -0,0 +1,7 @@ +@import "variables/grid"; +@import "variables/breakpoints"; +@import "variables/colors"; +@import "variables/forms"; +@import "variables/icons"; +@import "variables/legacy"; +@import "variables/typography"; diff --git a/website/overview/sass/utility/abstractions/_assoc.scss b/website/overview/sass/utility/abstractions/_assoc.scss new file mode 100644 index 0000000..2d5ca01 --- /dev/null +++ b/website/overview/sass/utility/abstractions/_assoc.scss @@ -0,0 +1,75 @@ +/**********************************************************************/ +/* Introduce some associative array functionality to SASS */ +/* so you can define: */ +/* $var: key1 "value1", key2 "value2"; */ +/* And use following functions: */ +/* get($var, key1); // will return "value1" */ +/* get($var, key2); // will return "value2" */ +/* $var: set($var, key1, "newValue"); */ +/* get($var, key1); // will return "newValue" */ +/* */ +/* Tips and source from: */ +/* http://hugogiraudel.com/2013/08/12/sass-functions/#mapping */ +/**********************************************************************/ + +@function get($haystack, $needle) { + @each $item in $haystack { + $index: index($item, $needle); + @if $index { + $return: if($index == 1, 2, $index); + @return nth($item, $return); + } + } + @return false; +} + +@function set($haystack, $needle, $value) { + @each $item in $haystack { + $index: index($item, $needle); + @if $index { + $return: if($index == 1, 2, $index); + @return insert-nth($haystack, $return, $needle $value ); + } + } + $return: append($haystack, $needle $value); + @return $return; +} + + +@function insert-nth($list, $index, $value) { + $result: null; + + @if type-of($index) != number { + @warn "$index: #{quote($index)} is not a number for `insert-nth`."; + } + + @else if $index < 1 { + @warn "List index 0 must be a non-zero integer for `insert-nth`"; + } + + @else if $index > length($list) { + @warn "List index is #{$index} but list is only #{length($list)} item long for `insert-nth'."; + } + + @else { + $result: (); + + @for $i from 1 through length($list) { + @if $i == $index { + $result: append($result, $value); + } + + $result: append($result, nth($list, $i)); + } + } + + @return $result; +} + +@function keys($haystack) { + $return: (); + @each $item in $haystack { + $return: append($return, nth($item, 1)); + } + @return $return; +} diff --git a/website/overview/sass/utility/abstractions/_box.scss b/website/overview/sass/utility/abstractions/_box.scss new file mode 100644 index 0000000..aea61b6 --- /dev/null +++ b/website/overview/sass/utility/abstractions/_box.scss @@ -0,0 +1,119 @@ + +.box { + border: 1px SOLID get($_box, border); + background-color: get($_box, header); + color: get($_box, color); + padding: $unit; + float: left; + width: 32%; + margin-right: 2%; + margin-bottom: $unit*5; + + &:nth-child(3n) { + margin-right: 0%; + } + + .header { + text-transform: uppercase; + padding-left: $unit*2; + font-weight: bold; + padding-top: $unit; + padding-bottom: $unit*2; + text-align: center; + } + + h3 { + color: #AAAAAA; + font-size: $unit*2.5; + font-weight: normal; + text-align: center; + margin-top: $unit; + } + + .content { + background-color: get($_box, bg); + padding: $unit*2; + color: $_accent; + } + + .score { + float: right; + font-size: 1.4em; + margin-top: -0.2em; + } + + .title { + text-transform: uppercase; + margin-top: 0.4em; + } + + progress { + width: 100%; + height: $unit; + appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + margin-bottom: $unit*3; + margin-top: $unit; + + border: none; + background: get($_box, header); + + &::-moz-progress-bar { + background-color: $_accent; + } + &::-webkit-progress-value { + background-color: $_accent; + } + } + + progress.ff { + &::-moz-progress-bar { + background-color: $_orange; + } + &::-webkit-progress-value { + background-color: $_orange; + } + } + + .footer { + text-align: center; + + a, button { + display: inline-block; + width: 49%; + margin: 0px; + background-color: transparent; + border: 0px SOLID #FFFFFF; + padding-top: $unit*3; + padding-bottom: $unit*2; + cursor: pointer; + text-align: center; + color: get($_box, color); + text-decoration: none; + + &.history:before { + display: inline-block; + vertical-align: middle; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + margin-left: $unit; + margin-right: $unit; + content: "\e023"; + } + + &.subtests:before { + display: inline-block; + vertical-align: middle; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + margin-left: $unit; + margin-right: $unit; + content: "\e137"; + } + + } + } +} diff --git a/website/overview/sass/utility/abstractions/_select.scss b/website/overview/sass/utility/abstractions/_select.scss new file mode 100644 index 0000000..2ec9942 --- /dev/null +++ b/website/overview/sass/utility/abstractions/_select.scss @@ -0,0 +1,37 @@ + + +@mixin minimal-select() { + margin-left: $unit; + margin-right: $unit; + + select, input, div { + -moz-appearance: toolbox; + -webkit-appearance: none; + text-indent: 0.01px; + text-overflow: ''; + display: inline-block; + vertical-align: middle; + padding-right: $unit*3; + + &::-ms-expand { + display: none; + } + } + + &:after { + position: absolute; + content: "\e114"; + display: inline-block; + vertical-align: middle; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + font-size: 0.5em; + height: 2.0em; + margin-left: -$unit*2; + line-height: 2.0em; + pointer-events: none + } +} + + diff --git a/website/overview/sass/utility/variables/_breakpoints.scss b/website/overview/sass/utility/variables/_breakpoints.scss new file mode 100644 index 0000000..9e28e9b --- /dev/null +++ b/website/overview/sass/utility/variables/_breakpoints.scss @@ -0,0 +1,3 @@ +$breakpoint-centered: min-width $container-width; +$breakpoint-fullwidth: max-width $container-width; +$breakpoint-smartphone: max-width 490px; \ No newline at end of file diff --git a/website/overview/sass/utility/variables/_colors.scss b/website/overview/sass/utility/variables/_colors.scss new file mode 100644 index 0000000..272c2a3 --- /dev/null +++ b/website/overview/sass/utility/variables/_colors.scss @@ -0,0 +1,16 @@ +$_accent: #42637B; +$_mediumaccent: #39556A; +$_darkaccent: #000000; +$_white: #FFFFFF; +$_grey: #E6E6E6; +$_darkgrey: #222222; +$_red: #D12600; +$_green: #2F7836; +$_orange: #F39C32; + +$_box: + bg $_white, + border #DDDDDD, + color $_darkgrey, + header #F2F2F2 +; \ No newline at end of file diff --git a/website/overview/sass/utility/variables/_forms.scss b/website/overview/sass/utility/variables/_forms.scss new file mode 100644 index 0000000..e69de29 diff --git a/website/overview/sass/utility/variables/_grid.scss b/website/overview/sass/utility/variables/_grid.scss new file mode 100644 index 0000000..ce365da --- /dev/null +++ b/website/overview/sass/utility/variables/_grid.scss @@ -0,0 +1,11 @@ +// Susy grid. +$container-style: static; +$container-width: 1200px; +$total-columns: 12; +$column-width: 80px; +$gutter-width: 20px; +$grid-padding: $gutter-width; +$debug-grid: true; + +// +$unit: 6px; \ No newline at end of file diff --git a/website/overview/sass/utility/variables/_icons.scss b/website/overview/sass/utility/variables/_icons.scss new file mode 100644 index 0000000..823365d --- /dev/null +++ b/website/overview/sass/utility/variables/_icons.scss @@ -0,0 +1,13 @@ +/***************************************/ +/* Icon dimensions are calculated with +/* $unit, so they will also scale when +/* $unit is changed. But at the default +/* 6px unit, the small icon should be 16px +/* and the medium icon should be 32px. +/* (Because else the icons become fusy) +/* So therefor calculate the dimensions +/***************************************/ + +$_icon_font: "iMinds-icons"; +$_icon_small: $unit * 16/6; +$_icon_medium: $unit * 32/6; \ No newline at end of file diff --git a/website/overview/sass/utility/variables/_legacy.scss b/website/overview/sass/utility/variables/_legacy.scss new file mode 100644 index 0000000..36eff27 --- /dev/null +++ b/website/overview/sass/utility/variables/_legacy.scss @@ -0,0 +1,4 @@ +// Legacy support. +$legacy-support-for-ie6: false; +$legacy-support-for-ie7: true; +$legacy-support-for-ie8: true; \ No newline at end of file diff --git a/website/overview/sass/utility/variables/_typography.scss b/website/overview/sass/utility/variables/_typography.scss new file mode 100644 index 0000000..785ea71 --- /dev/null +++ b/website/overview/sass/utility/variables/_typography.scss @@ -0,0 +1,3 @@ + +$icon-font-path: "http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/fonts/"; +$icon-font-name: "glyphicons-halflings-regular"; \ No newline at end of file