1
Fork 0

re-add static files

This commit is contained in:
Jake Howard 2016-11-24 23:36:29 +00:00
parent d82111caa7
commit 6b70f4b55f
18 changed files with 1145 additions and 1 deletions

View file

@ -29,6 +29,8 @@ npm install
mkdir -p static/build/js/lib static/build/fonts static/build/css static/build/img mkdir -p static/build/js/lib static/build/fonts static/build/css static/build/img
cp -R node_modules/font-awesome/fonts static/build/ cp -R node_modules/font-awesome/fonts static/build/
cp -R node_modules/bootstrap-sass/assets/fonts/* static/build/fonts
cp -R static/src/img static/build
npm run build npm run build

BIN
static/src/img/header.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

17
static/src/js/app.js Executable file → Normal file
View file

@ -0,0 +1,17 @@
import './creative';
import ansi_up from 'ansi_up';
$('.image').each(function () { // setup div-image hybrids
const ele = $(this);
if (ele.data('image')) {
ele.css('background-image', 'url(' + ele.data('image') + ')');
} else {
ele.removeClass('image');
}
});
$('.ansi-up').each(function () {
const ele = $(this);
ele.html(ansi_up.ansi_to_html(ele.html()));
});

37
static/src/js/creative.js Normal file
View file

@ -0,0 +1,37 @@
/*!
* Start Bootstrap - Creative Bootstrap Theme (http://startbootstrap.com)
* Code licensed under the Apache License v2.0.
* For details, see http://www.apache.org/licenses/LICENSE-2.0.
*/
// jQuery for page scrolling feature - requires jQuery Easing plugin
$('a.page-scroll').bind('click', function(event) {
const anchor = $(this);
$('html, body').stop().animate(
{
scrollTop: ($(anchor.attr('href')).offset().top - 50)
},
1250,
'easeInOutExpo'
);
event.preventDefault();
});
// Highlight the top nav as scrolling occurs
$('body').scrollspy({
target: '.navbar-fixed-top',
offset: 51
});
// Closes the Responsive Menu on Menu Item Click
$('.navbar-collapse ul li a').click(function() {
$('.navbar-toggle:visible').click();
});
// Offset for Main Navigation
$('#main-nav').affix({
offset: {
top: 50
}
});

View file

@ -0,0 +1,37 @@
/*!
* Start Bootstrap - Creative Bootstrap Theme (http://startbootstrap.com)
* Code licensed under the Apache License v2.0.
* For details, see http://www.apache.org/licenses/LICENSE-2.0.
*/
// jQuery for page scrolling feature - requires jQuery Easing plugin
$('a.page-scroll').bind('click', function(event) {
const anchor = $(this);
$('html, body').stop().animate(
{
scrollTop: ($(anchor.attr('href')).offset().top - 50)
},
1250,
'easeInOutExpo'
);
event.preventDefault();
});
// Highlight the top nav as scrolling occurs
$('body').scrollspy({
target: '.navbar-fixed-top',
offset: 51
});
// Closes the Responsive Menu on Menu Item Click
$('.navbar-collapse ul li a').click(function() {
$('.navbar-toggle:visible').click();
});
// Offset for Main Navigation
$('#main-nav').affix({
offset: {
top: 50
}
});

View file

@ -0,0 +1,6 @@
import 'jquery.easing';
import './creative';
import WOW from 'wow.js';
new WOW().init();

6
static/src/js/index.js Normal file
View file

@ -0,0 +1,6 @@
import 'jquery.easing';
import './creative';
import WOW from 'wow.js';
new WOW().init();

View file

@ -0,0 +1,344 @@
@import "mixins";
// Global Components
html,
body {
width: 100%;
height: 100%;
font-family: $font-family-base;
}
hr {
border-width: 3px;
border-color: $brand-orange;
max-width: 50px;
&.light {
border-color: $white;
}
}
a {
transition: all 0.35s;
color: $brand-orange;
&:hover,
&:focus {
color: $brand-orange-dark;
}
}
h1, h2, h3, h4, h5, h6 {
font-family: $font-family-heading;
}
p {
margin-bottom: 20px;
line-height: 1.5;
font-size: 16px;
}
.bg-primary {
background-color: $brand-orange;
}
.bg-dark {
background-color: $brand-grey-dark;
color: $white;
}
section {
padding: 100px 0;
}
aside {
padding: 50px 0;
}
.no-padding {
padding: 0;
}
// Navigation
.navbar-default {
transition: all 0.35s;
border-color: opacify($brand-grey-dark, 0.05);
background-color: $white;
font-family: $font-family-heading;
.navbar-header .navbar-brand {
text-transform: uppercase;
color: $brand-orange;
font-family: $font-family-heading;
font-weight: 700;
&:hover, &:focus {
color: darken($brand-orange, 10%);
}
}
.nav {
& > li {
& > a,
& > a:focus {
text-transform: uppercase;
color: $brand-grey-dark;
font-size: 13px;
font-weight: 700;
&:hover {
color: $brand-orange;
}
}
&.active {
& > a,
& > a:focus {
background-color: transparent;
color: $brand-orange !important;
&:hover {
background-color: transparent;
}
}
}
}
}
@media (min-width: 768px) {
border-color: opacify($white, 0.3);
background-color: transparent;
.navbar-header .navbar-brand {
color: opacify($white, 0.7);
&:hover, &:focus {
color: $white;
}
}
.nav > li > a,
.nav > li > a:focus {
color: opacify($white, 0.7);
&:hover {
color: $white;
}
}
&.affix {
border-color: opacify($brand-grey-dark, 0.05);
background-color: $white;
.navbar-header .navbar-brand {
color: $brand-orange;
font-size: 14px;
&:hover, &:focus {
color: darken($brand-orange, 10%);
}
}
.nav > li > a,
.nav > li > a:focus {
color: $brand-grey-dark;
&:hover {
color: $brand-orange;
}
}
}
}
}
// Homepage Header
header {
position: relative;
background-image: url("../img/header.jpg");
background-position: center;
background-size: cover;
width: 100%;
min-height: auto;
text-align: center;
color: $white;
.header-content {
position: relative;
padding: 100px 15px;
width: 100%;
text-align: center;
.header-content-inner {
h1 {
margin-top: 0;
margin-bottom: 0;
text-transform: uppercase;
font-weight: 700;
}
hr {
margin: 30px auto;
}
p {
margin-bottom: 50px;
color: opacify($white, 0.7);
font-size: 16px;
font-weight: 300;
}
}
}
@media (min-width: 768px) {
min-height: 100%;
.header-content {
position: absolute;
top: 50%;
transform: translateY(-50%);
padding: 0 50px;
.header-content-inner {
margin-right: auto;
margin-left: auto;
max-width: 1000px;
p {
margin-right: auto;
margin-left: auto;
max-width: 80%;
font-size: 18px;
}
}
}
}
}
// Sections
.section-heading {
margin-top: 0;
}
.service-box {
margin: 50px auto 0;
max-width: 400px;
@media (min-width: 992px) {
margin: 20px auto 0;
}
p {
margin-bottom: 0;
}
}
.portfolio-box {
display: block;
position: relative;
margin: 0 auto;
max-width: 650px;
.portfolio-box-caption {
display: block;
position: absolute;
bottom: 0;
transition: all 0.35s;
opacity: 0;
background: opacify($brand-orange, 0.9);
width: 100%;
height: 100%;
text-align: center;
color: $white;
.portfolio-box-caption-content {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 100%;
text-align: center;
.project-category,
.project-name {
padding: 0 15px;
font-family: $font-family-heading;
}
.project-category {
text-transform: uppercase;
font-size: 14px;
font-weight: 600;
}
.project-name {
font-size: 18px;
}
}
}
&:hover {
.portfolio-box-caption {
opacity: 1;
}
}
@media (min-width: 768px) {
.portfolio-box-caption {
.portfolio-box-caption-content {
.project-category {
font-size: 16px;
}
.project-name {
font-size: 22px;
}
}
}
}
}
.call-to-action h2 {
margin: 0 auto 20px;
}
.text-primary {
color: $brand-orange;
}
.no-gutter > [class*="col-"] {
padding-right: 0;
padding-left: 0;
}
.btn-default {
@include button-variant($brand-grey-dark, $white, $white);
}
.btn-primary {
@include button-variant($white, $brand-orange, $brand-orange);
}
.btn {
border: 0;
border-radius: 300px;
text-transform: uppercase;
font-family: $font-family-heading;
font-weight: 700;
}
.btn-xl {
padding: 15px 30px;
}
// Extras
// -- Highlight Color Customization
::selection {
background: $brand-grey-dark;
text-shadow: none;
color: $white;
}
img::selection {
background: transparent;
color: $white;
}

View file

@ -0,0 +1,344 @@
@import "mixins";
// Global Components
html,
body {
width: 100%;
height: 100%;
font-family: $font-family-base;
}
hr {
border-width: 3px;
border-color: $brand-orange;
max-width: 50px;
&.light {
border-color: $white;
}
}
a {
transition: all 0.35s;
color: $brand-orange;
&:hover,
&:focus {
color: $brand-orange-dark;
}
}
h1, h2, h3, h4, h5, h6 {
font-family: $font-family-heading;
}
p {
margin-bottom: 20px;
line-height: 1.5;
font-size: 16px;
}
.bg-primary {
background-color: $brand-orange;
}
.bg-dark {
background-color: $brand-grey-dark;
color: $white;
}
section {
padding: 100px 0;
}
aside {
padding: 50px 0;
}
.no-padding {
padding: 0;
}
// Navigation
.navbar-default {
transition: all 0.35s;
border-color: opacify($brand-grey-dark, 0.05);
background-color: $white;
font-family: $font-family-heading;
.navbar-header .navbar-brand {
text-transform: uppercase;
color: $brand-orange;
font-family: $font-family-heading;
font-weight: 700;
&:hover, &:focus {
color: darken($brand-orange, 10%);
}
}
.nav {
& > li {
& > a,
& > a:focus {
text-transform: uppercase;
color: $brand-grey-dark;
font-size: 13px;
font-weight: 700;
&:hover {
color: $brand-orange;
}
}
&.active {
& > a,
& > a:focus {
background-color: transparent;
color: $brand-orange !important;
&:hover {
background-color: transparent;
}
}
}
}
}
@media (min-width: 768px) {
border-color: opacify($white, 0.3);
background-color: transparent;
.navbar-header .navbar-brand {
color: opacify($white, 0.7);
&:hover, &:focus {
color: $white;
}
}
.nav > li > a,
.nav > li > a:focus {
color: opacify($white, 0.7);
&:hover {
color: $white;
}
}
&.affix {
border-color: opacify($brand-grey-dark, 0.05);
background-color: $white;
.navbar-header .navbar-brand {
color: $brand-orange;
font-size: 14px;
&:hover, &:focus {
color: darken($brand-orange, 10%);
}
}
.nav > li > a,
.nav > li > a:focus {
color: $brand-grey-dark;
&:hover {
color: $brand-orange;
}
}
}
}
}
// Homepage Header
header {
position: relative;
background-image: url("../img/header.jpg");
background-position: center;
background-size: cover;
width: 100%;
min-height: auto;
text-align: center;
color: $white;
.header-content {
position: relative;
padding: 100px 15px;
width: 100%;
text-align: center;
.header-content-inner {
h1 {
margin-top: 0;
margin-bottom: 0;
text-transform: uppercase;
font-weight: 700;
}
hr {
margin: 30px auto;
}
p {
margin-bottom: 50px;
color: opacify($white, 0.7);
font-size: 16px;
font-weight: 300;
}
}
}
@media (min-width: 768px) {
min-height: 100%;
.header-content {
position: absolute;
top: 50%;
transform: translateY(-50%);
padding: 0 50px;
.header-content-inner {
margin-right: auto;
margin-left: auto;
max-width: 1000px;
p {
margin-right: auto;
margin-left: auto;
max-width: 80%;
font-size: 18px;
}
}
}
}
}
// Sections
.section-heading {
margin-top: 0;
}
.service-box {
margin: 50px auto 0;
max-width: 400px;
@media (min-width: 992px) {
margin: 20px auto 0;
}
p {
margin-bottom: 0;
}
}
.portfolio-box {
display: block;
position: relative;
margin: 0 auto;
max-width: 650px;
.portfolio-box-caption {
display: block;
position: absolute;
bottom: 0;
transition: all 0.35s;
opacity: 0;
background: opacify($brand-orange, 0.9);
width: 100%;
height: 100%;
text-align: center;
color: $white;
.portfolio-box-caption-content {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 100%;
text-align: center;
.project-category,
.project-name {
padding: 0 15px;
font-family: $font-family-heading;
}
.project-category {
text-transform: uppercase;
font-size: 14px;
font-weight: 600;
}
.project-name {
font-size: 18px;
}
}
}
&:hover {
.portfolio-box-caption {
opacity: 1;
}
}
@media (min-width: 768px) {
.portfolio-box-caption {
.portfolio-box-caption-content {
.project-category {
font-size: 16px;
}
.project-name {
font-size: 22px;
}
}
}
}
}
.call-to-action h2 {
margin: 0 auto 20px;
}
.text-primary {
color: $brand-orange;
}
.no-gutter > [class*="col-"] {
padding-right: 0;
padding-left: 0;
}
.btn-default {
@include button-variant($brand-grey-dark, $white, $white);
}
.btn-primary {
@include button-variant($white, $brand-orange, $brand-orange);
}
.btn {
border: 0;
border-radius: 300px;
text-transform: uppercase;
font-family: $font-family-heading;
font-weight: 700;
}
.btn-xl {
padding: 15px 30px;
}
// Extras
// -- Highlight Color Customization
::selection {
background: $brand-grey-dark;
text-shadow: none;
color: $white;
}
img::selection {
background: transparent;
color: $white;
}

View file

@ -0,0 +1,43 @@
// Mixins
@mixin button-variant($color, $background, $border) {
border-color: $border;
background-color: $background;
color: $color;
&:hover,
&:focus,
&.focus,
&:active,
&.active,
.open > .dropdown-toggle & {
border-color: darken($border, 7%);
background-color: darken($background, 5%);
color: $color;
}
&:active,
&.active,
.open > .dropdown-toggle & {
background-image: none;
}
&.disabled,
&[disabled],
fieldset[disabled] & {
&,
&:hover,
&:focus,
&.focus,
&:active,
&.active {
border-color: $border;
background-color: $background;
}
}
.badge {
background-color: $color;
color: $background;
}
}

View file

@ -0,0 +1,49 @@
footer {
background-color: $brand-grey-dark;
padding-top: 20px;
width: 100%;
height: $footer-height;
text-align: center;
color: $white;
a {
color: $brand-orange-light;
&:hover {
text-decoration: none;
color: inherit;
}
}
.powered-by p {
font-size: $font-size-base;
a {
color: inherit;
&:hover {
color: $brand-orange;
}
}
}
.social {
margin: 0;
padding: 7px;
font-size: 23px;
a {
margin: 0 4px;
color: $white;
&:hover {
color: $brand-orange-light;
}
}
}
.ci-badge {
margin-top: 10px;
height: $font-size-h3;
}
}

View file

@ -0,0 +1,12 @@
.margin {
margin: 15px;
}
.header-bg {
background-image: url("../img/header.jpg");
background-position: center;
}
.text-shadow {
text-shadow: 0 5px 3px $brand-grey-dark;
}

View file

@ -0,0 +1,25 @@
header {
background-image: url("../img/header.jpg");
min-height: 100%;
h1 {
@extend .text-shadow;
font-size: $font-size-h1 * 1.5;
}
.page-scroll {
position: absolute;
bottom: 10%;
color: $white;
& > i {
font-size: $font-size-h1;
}
}
.header-content-inner p {
@extend .text-shadow;
font-size: $font-size-h3 !important;
font-weight: 400 !important;
}
}

102
static/src/scss/index.scss Executable file → Normal file
View file

@ -1 +1,101 @@
@import 'pygment'; @import "variables"; // Import variables before anything else
/* @group Fonts */
@import url("https://fonts.googleapis.com/css?family=Roboto:400,700,300,300italic,400italic,700italic");
@import url("http://fonts.googleapis.com/css?family=Open+Sans:400,700,300,300italic,400italic,700italic");
/* @end Fonts */
/* @group Libraries */
@import "node_modules/bootstrap-sass/assets/stylesheets/_bootstrap";
@import "node_modules/animate.css/animate";
$fa-font-path: "../fonts";
@import "node_modules/font-awesome/scss/font-awesome";
/* @end Libraries */
/* @group Other Imports */
@import "creative/creative";
@import "pygment";
@import "homepage";
@import "footer";
@import "library-overrides";
@import "functional";
/* @end Other Imports */
hr.wide {
width: 100%;
max-width: initial;
}
p a {
text-decoration: underline;
color: inherit;
}
.btn i {
margin: 0 3px;
}
.image {
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
.container > img,
.container p > img,
.row > div > img {
margin: 10px 0;
width: 100%;
}
.portfolio-box {
background-color: $brand-grey-dark;
max-width: initial;
min-height: 300px;
&.show .portfolio-box-caption {
opacity: 1;
}
.portfolio-box-caption {
background-color: transparentize($brand-orange, 0.2);
}
}
.category-item {
padding: 1px 0;
}
#header {
display: flex;
align-items: center;
&.image .section-heading {
@extend .text-shadow;
}
@media screen and (min-height: $screen-xs-max) {
height: 40vh;
}
}
.highlight.ansi-up {
font-weight: 600;
}
.media.category {
.media-left {
min-width: 100px;
height: 100px;
.image {
width: 100%;
height: 100%;
}
}
}

View file

@ -0,0 +1,60 @@
.panel-green {
@include panel-variant(#139F5B, $white, #139F5B, #139F5B);
}
.panel-blue {
@include panel-variant(#337AB7, $white, #337AB7, #337AB7);
}
.btn {
border-radius: 0;
text-decoration: none;
}
.btn.btn-github {
@include button-variant(#333, #F5F5F5, #D8D8D8);
}
$btn-srobo-bg: #253571;
$btn-srobo-border: darken($btn-srobo-bg, 5%);
.btn-srobo {
@include button-variant(#DADADA, $btn-srobo-bg, $btn-srobo-border);
}
.highlight > pre {
font-size: $font-size-base;
}
.btn-primary-dark {
@include button-variant($white, $brand-orange-dark, $brand-orange-dark);
}
.bg-primary p {
a:hover {
color: $brand-grey-dark;
}
}
section {
padding: 75px 0;
}
hr {
max-width: 100px;
}
@keyframes pulse {
from {
transform: scale3d(1, 1, 1);
}
50% {
transform: scale3d(1.1, 1.1, 1.1);
}
to {
transform: scale3d(1, 1, 1);
}
}

View file

@ -0,0 +1,43 @@
// Mixins
@mixin button-variant($color, $background, $border) {
border-color: $border;
background-color: $background;
color: $color;
&:hover,
&:focus,
&.focus,
&:active,
&.active,
.open > .dropdown-toggle & {
border-color: darken($border, 7%);
background-color: darken($background, 5%);
color: $color;
}
&:active,
&.active,
.open > .dropdown-toggle & {
background-image: none;
}
&.disabled,
&[disabled],
fieldset[disabled] & {
&,
&:hover,
&:focus,
&.focus,
&:active,
&.active {
border-color: $border;
background-color: $background;
}
}
.badge {
background-color: $color;
color: $background;
}
}

View file

@ -0,0 +1,19 @@
$brand-orange-light: #FF7F00;
$brand-orange: #F05F40;
$brand-orange-dark: darken($brand-orange, 10%);
$brand-grey-dark: #333;
/* @group General Colours */
$white: #FFF;
/* @end General Colours */
$footer-height: 175px;
$font-family-heading: "Open Sans", "Helvetica Neue", Arial, sans-serif;
/* @group Bootstrap Overrides */
$font-family-base: "Roboto", "Helvetica Neue", Arial, sans-serif;
$brand-primary: $brand-orange;
/* @end Bootstrap Overrides */