do not embed files

This commit is contained in:
Seán C McCord 2018-05-17 00:09:52 -04:00
parent 4a30988b5f
commit ba5b8d5b5b
39 changed files with 10 additions and 2092 deletions

View file

@ -9,11 +9,9 @@ pipeline:
- mkdir -p /go/bin /go/src - mkdir -p /go/bin /go/src
- go get -u github.com/golang/dep/cmd/dep/... - go get -u github.com/golang/dep/cmd/dep/...
- go get -u github.com/alecthomas/gometalinter/... - go get -u github.com/alecthomas/gometalinter/...
- go get -u github.com/mjibson/esc
- dep ensure - dep ensure
- go generate
- gometalinter --install - gometalinter --install
- gometalinter -e static.go --vendor ./... - gometalinter --vendor ./...
- go build - go build
publish: publish:
image: plugins/docker:17.05 image: plugins/docker:17.05

View file

@ -1,3 +1,7 @@
FROM ulexus/go-minimal FROM ulexus/go-minimal
COPY cycore-web /app COPY cycore-web /app
COPY css /css
COPY img /img
COPY js /js
COPY public /public
COPY views /views COPY views /views

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

2
dev.sh
View file

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash
go generate #go generate
go build go build
./cycore-web -debug ./cycore-web -debug

View file

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

12
main.go
View file

@ -1,7 +1,5 @@
package main package main
//go:generate esc -o static.go -prefix assets -ignore \.map$ assets
import ( import (
"flag" "flag"
"html/template" "html/template"
@ -81,12 +79,10 @@ func main() {
templates: template.Must(template.ParseGlob("views/*.html")), templates: template.Must(template.ParseGlob("views/*.html")),
} }
assets := http.FileServer(FS(debug)) e.Static("/css/*", "css")
e.Static("/js/*", "js")
e.GET("/css/*", echo.WrapHandler(assets)) e.Static("/img/*", "img")
e.GET("/img/*", echo.WrapHandler(assets)) e.File("/scm.asc", "public/scm.asc")
e.GET("/js/*", echo.WrapHandler(assets))
e.GET("/scm.asc", echo.WrapHandler(assets))
e.GET("/", home) e.GET("/", home)

View file

@ -1,12 +0,0 @@
.alert {
width: 100%;
text-align: center;
}
.alert-error {
color: @red;
}
.alert-success {
color: @green;
}

View file

@ -1 +0,0 @@
//ANIMATIONS

View file

@ -1,164 +0,0 @@
//PRESETS
body, div, nav, ul, li, a, label, span, table {
margin: 0;
padding: 0;
float: left;
box-sizing: border-box;
background-clip: border-box;
}
body {
min-height: 100%;
height: 100%;
background: @background;
}
ul {
list-style: none;
}
div {
float: left;
}
a {
text-decoration: none;
font-weight: bold;
padding: 5px 10px;
.border-radius(7px);
.fasttrans;
color: @key;
}
a:hover { .fasttrans; color: @keylight;}
.hide { display: none; }
//GRID COLUMNS
.twelve { .column(12); }
.ten { .column(10); }
.nine { .column(9); }
.eight { .column(8); }
.six { .column(6); }
.five { .column(5); }
.four { .column(4); }
.three { .column(3); }
.two { .column(2); }
//STRUCTURES
#page {
width: 100%;
height: 100%;
min-height: 500px;
background: white;
}
.unit { //used for tables
overflow: hidden;
.background-linear-gradient(#fff 25%, @lightgrey);
border: 1px solid @lightgrey;
.border-radius(5px);
.box-shadow(1px 1px 1px 0 rgba(0, 0, 0, 0.6));
}
.contentunit {
.background-linear-gradient(white, fadeout(@keylight, 98%));
.border-radius(10px);
border: 2px solid fadeout(@keylight, 60%);
}
.transcontentunit {
.contentunit;
background: transparent none;
border: 2px solid transparent;
}
.colorcontentunit {
.contentunit;
background: @key;
border: 2px solid @key;
font-size: 1.3em;
color: white;
padding: 20px;
}
label {
width: 40%;
text-align: right;
margin-left: 7px;
}
i {
color: white;
display: block;
text-align: center;
margin: 0 auto;
background-color: @key;
.border-radius(150px);
.box-shadow(0px 1px 2px 0 @darkestgrey);
.fasttrans;
}
i:hover { background-color: @keylight; .fasttrans; }
.social i {
font-size: 26px;
height: 32px;
width: 42px;
padding-top: 10px;
color: white;
}
.hide { display: none; }
.tag {
display: block;
background: fadeout(@keylight, 80%);
.border-radius(2px);
padding: 2px 5px;
margin: 2px 10px 2px 0;
border: 1px solid @lightestgrey;
color: @darkgrey;
font-weight: bold;
}
.footer {
position: relative;
width: 100%;
height: 50px;
padding: 50px 30px 0 30px;
.copy, .credit {
.sans;
font-size: 16px;
font-weight: normal;
line-height: 30px;
margin: 0;
width: auto;
padding: 0 10px;
}
.credit a {
margin: 0;
padding: 0;
line-height: 30px;
color: @key;
}
.credit a:hover {
color: @keydark;
}
.copy {
color: @darkgrey;
float: right;
}
.login {
float: right;
a { .sans; }
}
.social {
float: right;
height: 100%;
padding-right: 50px;
}
}

View file

@ -1,82 +0,0 @@
//BUTTONS
button { border: 0 none; }
button.demo {
background-color: @key;
border-top: 1px solid @keylight;
border-bottom: 1px solid @transblack;
.box-shadow(
inset 0 0 20px 5px @transblack,
inset 0 0 0 0 @keylight,
0 2px 4px 0 @lightblack);
text-shadow: -1px -1px 0 black, 1px 1px 0 @keylight;
color: white;
.slowtrans;
i {
color: @key;
font-size: 85px;
text-shadow: 0 0 0 transparent;
vertical-align: bottom;
position: relative;
top: -11px;
}
}
button.demo:hover {
// background-color: @keylight;
.box-shadow(
inset 0 0 20px 5px @transblack,
inset 0px 10px 50px 0 fadeout(@keylight, 70%),
0 2px 4px 0 @lightblack);
text-shadow: -1px -1px 0 black, 1px 1px 0 @key;
.slowtrans;
i {
color: white;
text-shadow: 0 0 4px @key;
.fasttrans;
}
}
button.large {
width: 800px;
margin: 0 auto;
height: 100px;
.border-radius(8px);
padding-top: 7px;
font-size: 80px;
line-height: 100px;
}
button.medium {
.column(5, 8);
.push(2);
height: 60px;
.border-radius(6px);
margin-top: 20px;
font-size: 40px;
line-height: 60px;
i { font-size: 50px; top: -6px; }
}
button.green:hover { background-color: @green; .fasttrans; }
button.small {
.column(2);
.push(2);
margin-top: 100px;
height: 50px;
.border-radius(6px);
font-size: 40px;
line-height: 50px;
}
button:focus { outline: none; }

View file

@ -1,76 +0,0 @@
//CHANGE IMPORT AND open/sans/bold
@import url(https://fonts.googleapis.com/css?family=Montserrat|Rokkitt:700|Rubik+Mono+One);
.open { font-family: Verdana, sans-serif; }
.sans { font-family: Monserrat, sans-serif; }
.bold { font-family: Rokkitt, sans-serif; }
* {
font-size: 16px;
line-height: 24px;
}
a {
font-weight: bold;
}
.nav a { .open; }
.brand {
.open;
display: block;
color: @grey;
margin: 0 auto;
text-align: center;
line-height: 48px;
}
.light {
color: white;
text-shadow: 1px 1px 2px @darkgrey, -1px -1px 1px @darkestgrey;
}
h1, h2, h3, h4, h5, h6 { .open; }
h1 {
font-size: 5em;
position: relative;
color: @red;
word-wrap: break-word;
font-weight: normal;
line-height: 2em;
text-shadow: -1px -1px 0 black;
}
h2 {
font-size: 3em;
line-height: 1.2em;
color: @key;
}
h3 {
font-size: 1.2em;
padding-left: 10px; padding-right: 10px;
}
h4 {
font-size: 2.2em;
line-height: 1em;
color: @keylight;
text-align: center;
}
h5, h6 { color: @darkergrey; }
h5 {
font-size: 1em;
}
h6 {
font-size: 1.1em;
}
em {
color: @keydark;
font-style: italic;
font-weight: normal;
padding: 2px;
.border-radius(2px);
}
.fix { color: @red; }

View file

@ -1,34 +0,0 @@
label, .label, input, select, textarea {
font-size: 20px;
line-height: 20px;
display: inline-block;
.border-radius(3px);
vertical-align: top;
padding: 5px 10px;
border: 0 none;
float: left;
width: auto;
}
input, select, textarea {
}
input {
border: 1px solid @lightgrey;
}
input[type=submit] {
.bold;
padding: 7px 20px;
margin-left: 10px;
background: @keylight;
color: white;
.fasttrans;
}
input[type=submit]:hover, input[type=submit]:active {
background: saturate(@contrast, 20%);
.fasttrans;
}

View file

@ -1,65 +0,0 @@
/////////////////
// Semantic.gs // for LESS: http://lesscss.org/
/////////////////
// Defaults which you can freely override
@column-width: 60;
@gutter-width: 0;
@columns: 12;
// Utility variable — you should never need to modify this
@gridsystem-width: (@column-width*@columns) + (@gutter-width*@columns) * 1px;
// Set @total-width to 100% for a fluid layout
@total-width: 100%;
// Uncomment these two lines and the star-hack width/margin lines below to enable sub-pixel fix for IE6 & 7. See http://tylertate.com/blog/2012/01/05/subpixel-rounding.html
// @min-width: 960;
// @correction: 0.5 / @min-width * 100 * 1%;
// The micro clearfix http://nicolasgallagher.com/micro-clearfix-hack/
.clearfix() {
*zoom:1;
&:before,
&:after {
content:"";
display:table;
}
&:after {
clear:both;
}
}
//////////
// GRID //
//////////
body {
width: 100%;
.clearfix;
}
.row(@columns:@columns) {
display: block;
width: @total-width*((@gutter-width + @gridsystem-width)/@gridsystem-width);
margin: 0 @total-width*(((@gutter-width*.5)/@gridsystem-width)*-1);
// *width: @total-width*((@gutter-width + @gridsystem-width)/@gridsystem-width)-@correction;
// *margin: 0 @total-width*(((@gutter-width*.5)/@gridsystem-width)*-1)-@correction;
.clearfix;
}
.column(@x,@columns:@columns) {
display: inline;
float: left;
width: @total-width*((((@gutter-width+@column-width)*@x)-@gutter-width) / @gridsystem-width);
margin: 0 @total-width*((@gutter-width*.5)/@gridsystem-width);
// *width: @total-width*((((@gutter-width+@column-width)*@x)-@gutter-width) / @gridsystem-width)-@correction;
// *margin: 0 @total-width*((@gutter-width*.5)/@gridsystem-width)-@correction;
}
.push(@offset:1) {
margin-left: @total-width*(((@gutter-width+@column-width)*@offset) / @gridsystem-width) + @total-width*((@gutter-width*.5)/@gridsystem-width);
}
.pull(@offset:1) {
margin-right: @total-width*(((@gutter-width+@column-width)*@offset) / @gridsystem-width) + @total-width*((@gutter-width*.5)/@gridsystem-width);
}

View file

@ -1,87 +0,0 @@
@import 'grid.import.less';
@import 'var.import.less';
@import 'fonts.import.less';
@import 'rules.import.less';
@import 'anim.import.less';
@import 'base.import.less';
@import 'nav.import.less';
@import 'forms.import.less';
@import 'tables.import.less';
@import 'button.import.less';
@import 'media.import.less';
@import 'alert.import.less';
//ADD CUSTOM AND OVERRIDE CODE HERE
//HOME
#mainlogo {
background: url('/public/img/logo/Cycore_web_optimized.jpg')
center center no-repeat;
background-size: contain;
height: 500px;
}
#mainstatement {
color: @keydark;
text-align: center;
}
#maincontact {
h4 { text-align: center; }
form { padding: 20px;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}
input { margin: 2px; flex: 1 0 auto; }
}
#mainservice {
padding: 0 10px;
ul { .twelve;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-around;
align-content: stretch;
li {
display: block;
height: 5em;
width: auto;
margin: 10px;
flex: 1 0 auto;
font-size: 1.5em;
font-weight: bold;
color: @darkergrey;
text-align: center;
padding: 1em;
padding-top: 2em;
.stripes;
}
.one {background-color: @contrast; }
.two {background-color: lighten(#2196f3, 10%);}
.three {background-color: fadeout(#4caf50, 10%);}
}
}

View file

@ -1,14 +0,0 @@
//COLUMN RESPONSE
//add here
//ADD BREAKPOINTS IF NECESSARY
@media all and (max-width: 1180px) {
}

View file

@ -1,39 +0,0 @@
//NAV MENUS AND LINKS
.nav {
position: fixed;
height: 50px;
margin: 0 0;
padding: 0;
z-index: 1000;
background: black ;
background-size: contain;
display: flex;
justify-content: space-between;
align-items: center;
.logo { padding: 7px 0 0 0;
width: auto;
}
a {
display: block;
flex: 0 0 auto;
padding-top: 18px;
.two;
.slowtrans;
z-index: 1000;
color: @keylight;
}
a:hover {
.fasttrans;
}
}

View file

@ -1,142 +0,0 @@
.placeholder (@color) {
input::-webkit-input-placeholder { color: @color; padding: 7px 10px 3px 10px;}
input:-moz-placeholder { color: @color;padding: 7px 10px 3px 10px; }
input::-moz-placeholder { color: @color;padding: 7px 10px 3px 10px; }
input:-ms-input-placeholder { color: @color;padding: 7px 10px 3px 10px; }
}
.border-radius (@radius) {
border-radius: @radius;
-moz-border-radius: @radius;
-webkit-border-radius: @radius;
background-clip: padding-box;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
}
.background-linear-gradient (@color1, @color2) {
background: linear-gradient(top, @color1, @color2);
background: -moz-linear-gradient(@color1, @color2); //FF3.6-
background: -webkit-linear-gradient(top, @color1, @color2); //S5.1, Chrome 10-
background: -o-linear-gradient(top, @color1, @color2); //O 11.1
background: -ms-linear-gradient(@color1, @color2); //IE10
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='@color1', endColorstr='@color2'); //IE6-7
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='@color1', endColorstr='@color2')"; //IE8-9
}
.background-linear-gradient (@color1, @color2, @color3) {
background: linear-gradient(top, @color1, @color2, @color3);
background: -moz-linear-gradient(@color1, @color2, @color3); //FF3.6-
background: -webkit-linear-gradient(top, @color1, @color2, @color3); //S5.1, Chrome 10-
background: -o-linear-gradient(top, @color1, @color2, @color3); //O 11.1
background: -ms-linear-gradient(@color1, @color2, @color3); //IE10
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='@color1', endColorstr='@color3'); //IE6-7
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='@color1', endColorstr='@color3')"; //IE8-9
}
.background-gradient (@degrees, @color1, @color2, @color3, @color4, @color5, @color6, @color7) {
background-image: linear-gradient(@degrees, @color1, @color2, @color3, @color4, @color5, @color6, @color7);
background-image: -moz-linear-gradient(@degrees, @color1, @color2, @color3, @color4, @color5, @color6, @color7);
background-image: -webkit-linear-gradient(@degrees, @color1, @color2, @color3, @color4, @color5, @color6, @color7);
background-image: -o-linear-gradient(@degrees, @color1, @color2, @color3, @color4, @color5, @color6, @color7);
background-image: -ms-linear-gradient(@degrees, @color1, @color2, @color3, @color4, @color5, @color6, @color7);
}
.box-shadow (none) {
box-shadow: none;
-moz-box-shadow: none;
-webkit-box-shadow: none;
}
.box-shadow (@shadow) {
box-shadow: @shadow;
-moz-box-shadow: @shadow;
-webkit-box-shadow: @shadow;
}
.box-shadow (@shadow1, @shadow2) {
box-shadow: @shadow1, @shadow2;
-moz-box-shadow: @shadow1, @shadow2;
-webkit-box-shadow: @shadow1, @shadow2;
}
.box-shadow (@shadow1, @shadow2, @shadow3) {
box-shadow: @shadow1, @shadow2, @shadow3;
-moz-box-shadow: @shadow1, @shadow2, @shadow3;
-webkit-box-shadow: @shadow1, @shadow2, @shadow3;
}
.transition (@property, @duration, @function, @delay) {
-webkit-transition: @property @duration @function @delay;
-moz-transition: @property @duration @function @delay;
-o-transition: @property @duration @function @delay;
-ms-transition: @property @duration @function @delay;
transition: @property @duration @function @delay;
}
.transition (@property1, @duration1, @function1, @delay1, @property2, @duration2, @function2, @delay2) {
-webkit-transition: @property1 @duration1 @function1 @delay1, @property2 @duration2 @function2 @delay2;
-moz-transition: @property1 @duration1 @function1 @delay1, @property2 @duration2 @function2 @delay2;
-o-transition: @property1 @duration1 @function1 @delay1, @property2 @duration2 @function2 @delay2;
-ms-transition: @property1 @duration1 @function1 @delay1, @property2 @duration2 @function2 @delay2;
transition: @property1 @duration1 @function1 @delay1, @property2 @duration2 @function2 @delay2;
}
.transition (@property1, @duration1, @function1, @delay1, @property2, @duration2, @function2, @delay2, @property3, @duration3, @function3, @delay3) {
-webkit-transition: @property1 @duration1 @function1 @delay1, @property2 @duration2 @function2 @delay2, @property3 @duration3 @function3 @delay3;
-moz-transition: @property1 @duration1 @function1 @delay1, @property2 @duration2 @function2 @delay2, @property3 @duration3 @function3 @delay3;
-o-transition: @property1 @duration1 @function1 @delay1, @property2 @duration2 @function2 @delay2, @property3 @duration3 @function3 @delay3;
-ms-transition: @property1 @duration1 @function1 @delay1, @property2 @duration2 @function2 @delay2, @property3 @duration3 @function3 @delay3;
transition: @property1 @duration1 @function1 @delay1, @property2 @duration2 @function2 @delay2, @property3 @duration3 @function3 @delay3;
}
.transition (@property1, @duration1, @function1, @delay1, @property2, @duration2, @function2, @delay2, @property3, @duration3, @function3, @delay3, @property4, @duration4, @function4, @delay4) {
-webkit-transition: @property1 @duration1 @function1 @delay1, @property2 @duration2 @function2 @delay2, @property3 @duration3 @function3 @delay3, @property4 @duration4 @function4 @delay4;
-moz-transition: @property1 @duration1 @function1 @delay1, @property2 @duration2 @function2 @delay2, @property3 @duration3 @function3 @delay3, @property4 @duration4 @function4 @delay4;
-o-transition: @property1 @duration1 @function1 @delay1, @property2 @duration2 @function2 @delay2, @property3 @duration3 @function3 @delay3, @property4 @duration4 @function4 @delay4;
-ms-transition: @property1 @duration1 @function1 @delay1, @property2 @duration2 @function2 @delay2, @property3 @duration3 @function3 @delay3, @property4 @duration4 @function4 @delay4;
transition: @property1 @duration1 @function1 @delay1, @property2 @duration2 @function2 @delay2, @property3 @duration3 @function3 @delay3, @property4 @duration4 @function4 @delay4;
}
.transition (inherit) {
-webkit-transition: inherit;
-moz-transition: inherit;
-o-transition: inherit;
-ms-transition: inherit;
transition: inherit;
}
.fasttrans { .transition(all, 0.4s, ease, 0s); }
.slowtrans { .transition(all, 2s, ease, 0s); }
.rotate (@deg) {
-webkit-transform: rotate(@deg);
-moz-transform: rotate(@deg);
-o-transform: rotate(@deg);
-ms-transform: rotate(@deg);
transform: rotate(@deg);
}
.scale(@amount) {
-webkit-transform: scale(@amount);
-moz-transform: scale(@amount);
-ms-transform: scale(@amount);
transform: scale(@amount);
}
.flipX {
-webkit-transform: scaleX(-1);
-moz-transform: scaleX(-1);
-ms-transform: scaleX(-1);
-o-transform: scaleX(-1);
transform: scaleX(-1);
}
//TEXTURES
.polka {
background:
radial-gradient(@lighttransblack 15%, transparent 16%) 0 0,
radial-gradient(@lighttransblack 15%, transparent 16%) 8px 8px,
radial-gradient(rgba(255,255,255,.01) 15%, transparent 20%) 0 1px,
radial-gradient(rgba(255,255,255,.01) 15%, transparent 20%) 8px 9px;
background-size: 8px 8px;
}
.stripes {
background: repeating-linear-gradient(
45deg,
transparent,
transparent 10px,
@transwhite 10px,
@transwhite 20px
);
}

View file

@ -1,49 +0,0 @@
//TABLE
table {
.unit;
border-collapse: collapse;
background-clip: padding-box;
}
td, th {
margin: 0;
text-align: center;
vertical-align: middle;
padding: 7px 5px;
}
@color1: fadeout(#fff, 40%);
@color2: fadeout(lighten(desaturate(@highlightblue, 20%), 40%), 45%);
tr:nth-child(2n+1) td {
background: @color1;
}
tr:nth-child(2n) td {
background: @color2;
}
th {
background: @lightergrey;
color: @darkgrey;
}
tr:hover td:nth-child(1n) {
background-color: @highlightyellow;
}
td.header {
background: transparent !important;
color: @darkergrey;
text-shadow: 1px 1px 1px #fff;
font-weight: bold;
text-align: right;
padding-right: 15px;
}
table i {
color: @darkergrey;
}
table i:hover {
color: fadeout(@lightlightblue, 30%);
}
.large { width: 80%; margin-left: 10%; }

View file

@ -1,54 +0,0 @@
//COLOR VARIABLES
@background: white;
@border: @transblack;
//BRAND COLORS
@key: #2d65af; //CHANGE ME!! NOT >>
@keylight: #38b4e7;
@keylightest: lighten(@key, 25%);
@keydark: darken(@key, 15%);
@keydarker: darken(@key, 29%);
@keydarkest: darken(@key, 36%);
@contrast: #ff9900;
@contrastdark: darken(@contrast, 28%);
@contrastlight: lighten(@contrast, 15%);
@contrastlightest: lighten(@contrast, 23%);
//FUNCTION COLORS
@lightlightblue: lighten(@highlightblue, 14%);
@highlightblue: #0069ff;
@darkhighlightblue: darken(@highlightblue, 10%);
@orange: #FF8300;
@highlightyellow: #fcf4b5;
@gold: #FFEF02;
@red: #aa0000;
@purple: #1100ff;
@green: #008d00;
@darkgreen: darken(desaturate(@green, 10%), 10%);
//MONO
@lightestgrey: #eee;
@lightergrey: #ddd;
@lightgrey: #ccc;
@grey: #aaa;
@darkgrey: #888;
@darkergrey: #555;
@darkestgrey: #222;
@lighttransblack: rgba(0,0,0,0.02);
@transblack: rgba(0, 0, 0, 0.2);
@lightblack: rgba(0, 0, 0, 0.5);
@midblack: rgba(0, 0, 0, 0.8);
@transwhite: rgba(255, 255, 255, 0.05);
@lightwhite: rgba(255, 255, 255, 0.1);
@midwhite: rgba(255, 255, 255, 0.6);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

1261
static.go

File diff suppressed because it is too large Load diff