Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d86d4c2afb |
3
.bowerrc
3
.bowerrc
@@ -1,5 +1,4 @@
|
|||||||
{
|
{
|
||||||
"directory": "components",
|
"directory": "components",
|
||||||
"json": "bower.json",
|
"json": "bower.json"
|
||||||
"allow_root": true
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
node_modules
|
|
||||||
public
|
|
||||||
db.json
|
|
||||||
components
|
|
||||||
js/bowr.js
|
|
||||||
13
Dockerfile
13
Dockerfile
@@ -1,13 +0,0 @@
|
|||||||
FROM node:8 as build
|
|
||||||
WORKDIR /build
|
|
||||||
COPY package.json ./
|
|
||||||
RUN npm install
|
|
||||||
COPY .bowerrc bower.json ./
|
|
||||||
RUN npm run bower install
|
|
||||||
COPY . .
|
|
||||||
RUN npm run pub
|
|
||||||
|
|
||||||
FROM nginx:mainline as runtime
|
|
||||||
COPY --from=build /build /usr/share/nginx/html
|
|
||||||
COPY nginx.conf /etc/nginx/nginx.conf
|
|
||||||
COPY default.conf /etc/nginx/conf.d/default.conf
|
|
||||||
1
css/.gitignore
vendored
1
css/.gitignore
vendored
@@ -1 +0,0 @@
|
|||||||
bundle.css
|
|
||||||
1
css/bundle.css
Normal file
1
css/bundle.css
Normal file
File diff suppressed because one or more lines are too long
545
css/styles.css
545
css/styles.css
@@ -1,545 +0,0 @@
|
|||||||
/*
|
|
||||||
* Template Name: Developer - Responsive Website Template for Developers
|
|
||||||
* Version: 1.5
|
|
||||||
* Author: Xiaoying Riley
|
|
||||||
* Twitter: @3rdwave_themes
|
|
||||||
* License: Creative Commons Attribution 3.0 License
|
|
||||||
* Website: http://themes.3rdwavemedia.com/
|
|
||||||
*/
|
|
||||||
/* ======= Base ======= */
|
|
||||||
body {
|
|
||||||
font-family: 'Lato', arial, sans-serif;
|
|
||||||
color: #434343;
|
|
||||||
background: #DAE3E7;
|
|
||||||
font-size: 16px;
|
|
||||||
-webkit-font-smoothing: antialiased;
|
|
||||||
-moz-osx-font-smoothing: grayscale;
|
|
||||||
}
|
|
||||||
h1,
|
|
||||||
h2,
|
|
||||||
h3,
|
|
||||||
h4,
|
|
||||||
h5,
|
|
||||||
h6 {
|
|
||||||
font-family: 'Montserrat', sans-serif;
|
|
||||||
font-weight: 700;
|
|
||||||
color: #778492;
|
|
||||||
}
|
|
||||||
a {
|
|
||||||
color: #3AAA64;
|
|
||||||
-webkit-transition: all 0.4s ease-in-out;
|
|
||||||
-moz-transition: all 0.4s ease-in-out;
|
|
||||||
-ms-transition: all 0.4s ease-in-out;
|
|
||||||
-o-transition: all 0.4s ease-in-out;
|
|
||||||
}
|
|
||||||
a:hover {
|
|
||||||
text-decoration: underline;
|
|
||||||
color: #5f6b77;
|
|
||||||
color: #2d844e;
|
|
||||||
}
|
|
||||||
a:focus {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.btn,
|
|
||||||
a.btn {
|
|
||||||
-webkit-transition: all 0.4s ease-in-out;
|
|
||||||
-moz-transition: all 0.4s ease-in-out;
|
|
||||||
-ms-transition: all 0.4s ease-in-out;
|
|
||||||
-o-transition: all 0.4s ease-in-out;
|
|
||||||
font-family: 'Montserrat', arial, sans-serif;
|
|
||||||
padding: 8px 16px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
.btn .fa,
|
|
||||||
a.btn .fa {
|
|
||||||
margin-right: 5px;
|
|
||||||
}
|
|
||||||
.btn:focus,
|
|
||||||
a.btn:focus {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
a.btn-cta-primary,
|
|
||||||
.btn-cta-primary {
|
|
||||||
background: #54ba4e;
|
|
||||||
border: 1px solid #54ba4e;
|
|
||||||
color: #fff;
|
|
||||||
font-weight: 600;
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
|
||||||
a.btn-cta-primary:hover,
|
|
||||||
.btn-cta-primary:hover {
|
|
||||||
background: #49ac43;
|
|
||||||
border: 1px solid #49ac43;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
a.btn-cta-secondary,
|
|
||||||
.btn-cta-secondary {
|
|
||||||
background: #479FC8;
|
|
||||||
border: 1px solid #479FC8;
|
|
||||||
color: #fff;
|
|
||||||
font-weight: 600;
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
|
||||||
a.btn-cta-secondary:hover,
|
|
||||||
.btn-cta-secondary:hover {
|
|
||||||
background: #3893bd;
|
|
||||||
border: 1px solid #3893bd;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
.text-highlight {
|
|
||||||
color: #32383e;
|
|
||||||
}
|
|
||||||
.label-theme {
|
|
||||||
background: #3AAA64;
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
a.dotted-link {
|
|
||||||
border-bottom: 1px dotted #778492;
|
|
||||||
color: #778492;
|
|
||||||
}
|
|
||||||
a.dotted-link:hover {
|
|
||||||
text-decoration: none;
|
|
||||||
color: #49515a;
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
iframe {
|
|
||||||
|
|
||||||
.header {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.iframe-wrapper {
|
|
||||||
overflow: auto;
|
|
||||||
-webkit-overflow-scrolling:touch;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
/* ======= Header ======= */
|
|
||||||
.header {
|
|
||||||
padding: 30px 0;
|
|
||||||
background: #f5f5f5;
|
|
||||||
border-top: 10px solid #778492;
|
|
||||||
}
|
|
||||||
.header .btn {
|
|
||||||
margin-top: 60px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
.header .profile-image {
|
|
||||||
margin-right: 30px;
|
|
||||||
}
|
|
||||||
.header .profile-content .name {
|
|
||||||
color: #49515a;
|
|
||||||
font-size: 38px;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
margin-top: 30px;
|
|
||||||
}
|
|
||||||
.header .profile-content .desc {
|
|
||||||
color: #778492;
|
|
||||||
font-family: "Lato", arial, sans-serif;
|
|
||||||
font-weight: 400;
|
|
||||||
font-size: 24px;
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 15px;
|
|
||||||
}
|
|
||||||
.header .profile-content .social a {
|
|
||||||
background: #b0b7bf;
|
|
||||||
width: 36px;
|
|
||||||
height: 36px;
|
|
||||||
display: inline-block;
|
|
||||||
-webkit-border-radius: 50%;
|
|
||||||
-moz-border-radius: 50%;
|
|
||||||
-ms-border-radius: 50%;
|
|
||||||
-o-border-radius: 50%;
|
|
||||||
border-radius: 50%;
|
|
||||||
-moz-background-clip: padding;
|
|
||||||
-webkit-background-clip: padding-box;
|
|
||||||
background-clip: padding-box;
|
|
||||||
color: #fff;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.header .profile-content .social a:hover {
|
|
||||||
background: #778492;
|
|
||||||
}
|
|
||||||
.header .profile-content .social a .fa {
|
|
||||||
font-size: 20px;
|
|
||||||
padding-top: 8px;
|
|
||||||
}
|
|
||||||
/* ======= Sections======= */
|
|
||||||
.sections-wrapper {
|
|
||||||
padding-top: 60px;
|
|
||||||
padding-bottom: 60px;
|
|
||||||
}
|
|
||||||
.section {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
.section .section-inner {
|
|
||||||
background: #fff;
|
|
||||||
padding: 30px;
|
|
||||||
}
|
|
||||||
.section .heading {
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 30px;
|
|
||||||
color: #545e69;
|
|
||||||
font-size: 24px;
|
|
||||||
}
|
|
||||||
.section .content .more-link .fa {
|
|
||||||
margin-right: 5px;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
/* About Section */
|
|
||||||
/* Latest Section */
|
|
||||||
.latest .item {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
.latest .item .title {
|
|
||||||
font-size: 18px;
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
.latest .item .title .label {
|
|
||||||
margin-left: 5px;
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
.latest .item .title a {
|
|
||||||
color: #778492;
|
|
||||||
}
|
|
||||||
.latest .item .title a:hover {
|
|
||||||
color: #5f6b77;
|
|
||||||
}
|
|
||||||
.latest .item .project-image:hover {
|
|
||||||
-webkit-opacity: 0.8;
|
|
||||||
-moz-opacity: 0.8;
|
|
||||||
opacity: 0.8;
|
|
||||||
}
|
|
||||||
.latest .divider {
|
|
||||||
margin-bottom: 60px;
|
|
||||||
}
|
|
||||||
.latest .featured {
|
|
||||||
margin-bottom: 60px;
|
|
||||||
}
|
|
||||||
.latest .featured .title {
|
|
||||||
margin-bottom: 5px;
|
|
||||||
font-size: 20px;
|
|
||||||
}
|
|
||||||
.latest .featured .summary {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
color: #778492;
|
|
||||||
}
|
|
||||||
.latest .featured img {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
.latest .featured .desc {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
.latest .featured-image {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.latest .featured-image .text {
|
|
||||||
background: #3AAA64;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
.latest .featured-image .ribbon {
|
|
||||||
position: absolute;
|
|
||||||
top: -4px;
|
|
||||||
right: -4px;
|
|
||||||
width: 110px;
|
|
||||||
height: 110px;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
.latest .featured-image .ribbon .text {
|
|
||||||
font-family: 'Montserrat', sans-serif;
|
|
||||||
position: relative;
|
|
||||||
left: -8px;
|
|
||||||
top: 18px;
|
|
||||||
width: 158px;
|
|
||||||
padding: 10px 10px;
|
|
||||||
font-size: 15px;
|
|
||||||
font-weight: bold;
|
|
||||||
text-align: center;
|
|
||||||
text-transform: uppercase;
|
|
||||||
color: #fff;
|
|
||||||
background-color: #479FC8;
|
|
||||||
-webkit-transform: rotate(45deg) translate3d(0, 0, 0);
|
|
||||||
-moz-transform: rotate(45deg) translate3d(0, 0, 0);
|
|
||||||
-ms-transform: rotate(45deg) translate3d(0, 0, 0);
|
|
||||||
-o-transform: rotate(45deg) translate3d(0, 0, 0);
|
|
||||||
}
|
|
||||||
.latest .featured-image .ribbon .text:before,
|
|
||||||
.latest .featured-image .ribbon .text:after {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
bottom: -5px;
|
|
||||||
border-top: 5px solid #276582;
|
|
||||||
border-left: 5px solid transparent;
|
|
||||||
border-right: 5px solid transparent;
|
|
||||||
}
|
|
||||||
.latest .featured-image .ribbon .text:before {
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
.latest .featured-image .ribbon .text:after {
|
|
||||||
right: 0;
|
|
||||||
}
|
|
||||||
/* Projects Section */
|
|
||||||
.projects .item {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
.projects .item .title {
|
|
||||||
font-size: 16px;
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
.projects .item .title a {
|
|
||||||
color: #778492;
|
|
||||||
}
|
|
||||||
.projects .item .title a:hover {
|
|
||||||
color: #5f6b77;
|
|
||||||
}
|
|
||||||
/* Work Section */
|
|
||||||
.experience .item {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
.experience .item .title {
|
|
||||||
font-size: 16px;
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
.experience .item .title .place {
|
|
||||||
color: #999;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
.experience .item .title .place a {
|
|
||||||
color: #999;
|
|
||||||
}
|
|
||||||
.experience .item .title .place a:hover {
|
|
||||||
color: #666666;
|
|
||||||
}
|
|
||||||
.experience .item .title .year {
|
|
||||||
color: #999;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
/* Git section */
|
|
||||||
.github-graph {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
.github-graph .js-calendar-graph-svg {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
.ghfeed {
|
|
||||||
height: 600px;
|
|
||||||
}
|
|
||||||
.ghfeed,
|
|
||||||
.ghfeed *,
|
|
||||||
.ghfeed *:before,
|
|
||||||
.ghfeed *:after {
|
|
||||||
-webkit-box-sizing: content-box;
|
|
||||||
-moz-box-sizing: content-box;
|
|
||||||
box-sizing: content-box;
|
|
||||||
}
|
|
||||||
/* Info Section */
|
|
||||||
.info .fa {
|
|
||||||
margin-right: 15px;
|
|
||||||
color: #ccd1d6;
|
|
||||||
}
|
|
||||||
.info .fa.fa-envelope-o {
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
.info ul {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
.info li {
|
|
||||||
margin-bottom: 15px;
|
|
||||||
}
|
|
||||||
.info li:last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
/* Skills Section */
|
|
||||||
.skills .intro {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
.skills .skillset .item {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
.skills .skillset .level-title {
|
|
||||||
font-size: 16px;
|
|
||||||
position: relative;
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 10;
|
|
||||||
}
|
|
||||||
.skills .skillset .level-title .level-label {
|
|
||||||
color: #ccd1d6;
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
font-family: "Lato", arial, sans-serif;
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
.skills .skillset .level-bar {
|
|
||||||
height: 15px;
|
|
||||||
background: #e8e8e8;
|
|
||||||
}
|
|
||||||
.skills .skillset .level-bar-inner {
|
|
||||||
height: 15px;
|
|
||||||
background: #66cb8c;
|
|
||||||
}
|
|
||||||
/* Testimonials section */
|
|
||||||
.testimonials .item {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
.testimonials .item:last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
.testimonials .item .quote {
|
|
||||||
color: #666;
|
|
||||||
font-size: 16px;
|
|
||||||
border-left-color: #9fdeb7;
|
|
||||||
margin-bottom: 15px;
|
|
||||||
}
|
|
||||||
.testimonials .item .quote .fa {
|
|
||||||
color: #79d19a;
|
|
||||||
margin-right: 15px;
|
|
||||||
}
|
|
||||||
.testimonials .item .source {
|
|
||||||
font-size: 14px;
|
|
||||||
padding-left: 30px;
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
.testimonials .item .source .name {
|
|
||||||
color: #939ea9;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
.testimonials .item .source .title {
|
|
||||||
color: #999;
|
|
||||||
}
|
|
||||||
/* Education section */
|
|
||||||
.education .item {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
.education .item:last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
.education .item .title {
|
|
||||||
font-size: 16px;
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
.education .item .university {
|
|
||||||
font-family: "Lato", arial, sans-serif;
|
|
||||||
font-size: 13px;
|
|
||||||
color: #999;
|
|
||||||
font-weight: 600;
|
|
||||||
padding-left: 25px;
|
|
||||||
}
|
|
||||||
.education .item .university .year {
|
|
||||||
color: #b0b7bf;
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
/* Language Section */
|
|
||||||
.languages .item {
|
|
||||||
margin-bottom: 15px;
|
|
||||||
}
|
|
||||||
.languages .item .title {
|
|
||||||
color: #778492;
|
|
||||||
}
|
|
||||||
.languages .item .level {
|
|
||||||
color: #999;
|
|
||||||
}
|
|
||||||
.languages .item:last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
.languages .item .fa {
|
|
||||||
color: #79d19a;
|
|
||||||
}
|
|
||||||
/* Blog Section */
|
|
||||||
.blog .item {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
.blog .item .title {
|
|
||||||
font-size: 18px;
|
|
||||||
line-height: 1.3;
|
|
||||||
}
|
|
||||||
.blog .item .title a {
|
|
||||||
color: #778492;
|
|
||||||
}
|
|
||||||
.blog .item .title a:hover {
|
|
||||||
color: #5f6b77;
|
|
||||||
}
|
|
||||||
.blog .item:last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
/* List section */
|
|
||||||
.list ul li {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
.list ul li .fa {
|
|
||||||
margin-right: 5px;
|
|
||||||
}
|
|
||||||
.list ul li a {
|
|
||||||
color: #778492;
|
|
||||||
}
|
|
||||||
.list ul li a:hover {
|
|
||||||
color: #49515a;
|
|
||||||
}
|
|
||||||
/* Credits */
|
|
||||||
.credits ul li {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
.credits ul li .fa {
|
|
||||||
margin-right: 5px;
|
|
||||||
}
|
|
||||||
.credits ul li a {
|
|
||||||
color: #778492;
|
|
||||||
}
|
|
||||||
.credits ul li a:hover {
|
|
||||||
color: #49515a;
|
|
||||||
}
|
|
||||||
.credits .btn {
|
|
||||||
margin-bottom: 15px;
|
|
||||||
}
|
|
||||||
/* ======= Footer ======= */
|
|
||||||
.footer {
|
|
||||||
background: #32383e;
|
|
||||||
color: #fff;
|
|
||||||
padding: 10px 0;
|
|
||||||
}
|
|
||||||
.footer .copyright {
|
|
||||||
line-height: 1.6;
|
|
||||||
color: #a1aab4;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
.footer a {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
.footer .fa-heart {
|
|
||||||
color: #fb866a;
|
|
||||||
}
|
|
||||||
/* Extra small devices (phones, less than 768px) */
|
|
||||||
@media (max-width: 767px) {
|
|
||||||
.header {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.header .profile-image {
|
|
||||||
float: none !important;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
.header .profile-content {
|
|
||||||
float: none !important;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.header .btn {
|
|
||||||
margin-top: 30px;
|
|
||||||
float: none !important;
|
|
||||||
}
|
|
||||||
.project-image {
|
|
||||||
margin-bottom: 15px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* Small devices (tablets, 768px and up) */
|
|
||||||
/* Medium devices (desktops, 992px and up) */
|
|
||||||
/* Large devices (large desktops, 1200px and up) */
|
|
||||||
/* Ex-Large devices (large desktops, 1200px and up) */
|
|
||||||
@media (min-width: 1400px) {
|
|
||||||
.container {
|
|
||||||
width: 1360px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
1
css/styles.min.css
vendored
Normal file
1
css/styles.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
19
default.conf
19
default.conf
@@ -1,19 +0,0 @@
|
|||||||
server {
|
|
||||||
listen 80;
|
|
||||||
server_name _;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
root /usr/share/nginx/html;
|
|
||||||
index index.html index.htm;
|
|
||||||
rewrite ^(/tags/)(.*) https://$host/tag/$2/ permanent;
|
|
||||||
rewrite ^(/rss) /rss.xml break;
|
|
||||||
absolute_redirect off;
|
|
||||||
real_ip_header X-Forwarded-For;
|
|
||||||
real_ip_recursive on;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
error_page 500 502 503 504 /500/;
|
|
||||||
error_page 404 /404/;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -109,7 +109,8 @@ IF EXIST "%DEPLOYMENT_TARGET%\package.json" (
|
|||||||
IF EXIST "%DEPLOYMENT_TARGET%\bower.json" (
|
IF EXIST "%DEPLOYMENT_TARGET%\bower.json" (
|
||||||
pushd "%DEPLOYMENT_TARGET%"
|
pushd "%DEPLOYMENT_TARGET%"
|
||||||
IF EXIST ".\components" (call rmdir .\components /S /Q)
|
IF EXIST ".\components" (call rmdir .\components /S /Q)
|
||||||
call :ExecuteCmd !NPM_CMD! run bower install
|
call :ExecuteCmd !NPM_CMD! install bower
|
||||||
|
call .\node_modules\.bin\bower install
|
||||||
IF !ERRORLEVEL! NEQ 0 goto error
|
IF !ERRORLEVEL! NEQ 0 goto error
|
||||||
popd
|
popd
|
||||||
)
|
)
|
||||||
@@ -118,7 +119,9 @@ IF EXIST "%DEPLOYMENT_TARGET%\bower.json" (
|
|||||||
:: 4. Install gulp
|
:: 4. Install gulp
|
||||||
IF EXIST "%DEPLOYMENT_TARGET%\gulpfile.js" (
|
IF EXIST "%DEPLOYMENT_TARGET%\gulpfile.js" (
|
||||||
pushd "%DEPLOYMENT_TARGET%"
|
pushd "%DEPLOYMENT_TARGET%"
|
||||||
call :ExecuteCmd !NPM_CMD! run gulp publish
|
call :ExecuteCmd !NPM_CMD! install gulp gulp-cache-bust gulp-concat-css gulp-uglify html-minifier gulp-concat gulp-rimraf
|
||||||
|
call .\node_modules\.bin\gulp clean
|
||||||
|
call .\node_modules\.bin\gulp publish
|
||||||
IF !ERRORLEVEL! NEQ 0 goto error
|
IF !ERRORLEVEL! NEQ 0 goto error
|
||||||
popd
|
popd
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
version: '3'
|
|
||||||
services:
|
|
||||||
webapp:
|
|
||||||
build: ./
|
|
||||||
ports:
|
|
||||||
- "8080:80"
|
|
||||||
@@ -14,9 +14,9 @@ var gulp = require('gulp'),
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
gulp.task('watch', ['default'], function() {
|
gulp.task('watch', function() {
|
||||||
gulp.watch(['./css/*.css', '!./css/bundle.css'], ['combineCss']);
|
gulp.watch('./css/*.less', ['less']);
|
||||||
gulp.watch(['./js/*.js', '!./js/bowr.js'], ['combineJs']);
|
gulp.watch('./css/*.css');
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('clean', function(){
|
gulp.task('clean', function(){
|
||||||
@@ -78,7 +78,7 @@ gulp.task('combineJs',['clean'], function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
gulp.task('cachebust', ['clean'], function(){
|
gulp.task('cachebust', function(){
|
||||||
return gulp.src('index.html')
|
return gulp.src('index.html')
|
||||||
.pipe(cachebust({
|
.pipe(cachebust({
|
||||||
type: 'timestamp'
|
type: 'timestamp'
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
1
js/.gitignore
vendored
1
js/.gitignore
vendored
@@ -1 +0,0 @@
|
|||||||
bowr.js
|
|
||||||
7
js/bowr.js
Normal file
7
js/bowr.js
Normal file
File diff suppressed because one or more lines are too long
74
keybase.txt
74
keybase.txt
@@ -1,74 +0,0 @@
|
|||||||
==================================================================
|
|
||||||
https://keybase.io/terribledev
|
|
||||||
--------------------------------------------------------------------
|
|
||||||
|
|
||||||
I hereby claim:
|
|
||||||
|
|
||||||
* I am an admin of https://about.terribledev.io
|
|
||||||
* I am terribledev (https://keybase.io/terribledev) on keybase.
|
|
||||||
* I have a public key with fingerprint 0038 46D2 1D97 8194 BF5E D616 1ECB 05E5 739F 3C98
|
|
||||||
|
|
||||||
To do so, I am signing this object:
|
|
||||||
|
|
||||||
{
|
|
||||||
"body": {
|
|
||||||
"key": {
|
|
||||||
"eldest_kid": "010169b5f69aca723593668e275e67b2d6304110766f3cfa98c4ca8db7c4b9f4f6d10a",
|
|
||||||
"fingerprint": "003846d21d978194bf5ed6161ecb05e5739f3c98",
|
|
||||||
"host": "keybase.io",
|
|
||||||
"key_id": "1ecb05e5739f3c98",
|
|
||||||
"kid": "010169b5f69aca723593668e275e67b2d6304110766f3cfa98c4ca8db7c4b9f4f6d10a",
|
|
||||||
"uid": "ffcade3f3fbf6c5c54c09310e7b43719",
|
|
||||||
"username": "terribledev"
|
|
||||||
},
|
|
||||||
"service": {
|
|
||||||
"hostname": "about.terribledev.io",
|
|
||||||
"protocol": "https:"
|
|
||||||
},
|
|
||||||
"type": "web_service_binding",
|
|
||||||
"version": 1
|
|
||||||
},
|
|
||||||
"ctime": 1472730864,
|
|
||||||
"expire_in": 157680000,
|
|
||||||
"prev": "da28b2e12eb2e938fe098f4ff8ec59c0aa9f624b735cfddce0ae128abbb36623",
|
|
||||||
"seqno": 7,
|
|
||||||
"tag": "signature"
|
|
||||||
}
|
|
||||||
|
|
||||||
which yields the signature:
|
|
||||||
|
|
||||||
-----BEGIN PGP MESSAGE-----
|
|
||||||
Version: Keybase OpenPGP v2.0.56
|
|
||||||
Comment: https://keybase.io/crypto
|
|
||||||
|
|
||||||
yMNGAnicrZJtUFRVHMZ3EWjYRKA0GFhMb9pkIdz3l5XaCaGENqqZFZGo7b6ci1dw
|
|
||||||
77J7dwmZTSx8S0UksRYZkZfGyLXAGIQiFYYspKnISQeQpBR1WiiM0RQku5dspg99
|
|
||||||
7Hw4Z845v+c5z/8/pyd8js6gX9gXMuqqTX5P39dV79at+eqhiRKIk4ViyFQC5YPZ
|
|
||||||
BRQIwKXY8iUBMkEwAiMkwxEiybA8S6EYwWAkSQOUIgBJcahAYjCOIDBFkiLGiyxD
|
|
||||||
8zjP0gJH8TjHiLhICgjMQgmQKNnzgNPhlOyKZgtjNE4KKCIwFI0wOCcSQCAREgE8
|
|
||||||
BxOAoDBGtWNoVbhOdmkKNRzHukCiJKtn6sY2G+8/+P85t3vWThR5VgCYiImcSPIE
|
|
||||||
T+A8zGAIDCgOxyiE0UAXcNrZDUClFeB0SlwBEIAH8iZA6oVH4oHWW62YexDLyW4l
|
|
||||||
8V/o36U5nLIi83KBSqxTFIfLpDkoxQ5NUgQ42z0zGyfZBbWlqsIDnC5JtkMmRCV5
|
|
||||||
RdLcEZxCKQymSTwBAq87JCewSRpBUCQNq0N7Rw1nggQWpTkUIChQZwajRQAztFq+
|
|
||||||
SAOeYHiYZRmRRHGOwgheFAQewKwK0yzHcWo/UQzSyiu0y5CJUmOyeaqlS8qzs4rb
|
|
||||||
CSBvd1dusE5v0IWGBGlfTWcIi/znA357MOJu1rKic6No/RtNdLzVerXnVO9la9jk
|
|
||||||
1Vsl7PrIG37/9oadAZ95j7c4pmwZ+UBW3n12amZwMfkMee3S2kE26KPYsbDDH55f
|
|
||||||
Pvj8itNVWSc2MVPk+CZ//JlAufKDc3++Y+/Q5qL+E5ERk9mLVn+XNLJvZGrrC9lJ
|
|
||||||
q49c3GK4hR0nvjC+WTHvWDNhiE1pb70x7RruuBuTbXjft94sj7sXoFG1NRWx6eKP
|
|
||||||
5f7Kpp+Dfl2ZM3oqr26P0VyRMe/MXuUt44bkjMR3op69SXS+PNUdKLKY2yxT/aHv
|
|
||||||
XvCVNfqYNGzywcW7TT5zTi/THZ5Shfq50dRmwrc7eEFwzxIdlDl2BYr4ZMvX+BPf
|
|
||||||
Y3eiW6r3H8m80tlVejjaUpb6S7C3+cvhuojKXSML59x5LPmV6SfXtF94NdHiGUtd
|
|
||||||
crJs3O1xLy2qWj6zs280VX/UdE26nLn5tz+ZbVs/6NgnYivbdqR3tis7sMjjb5cM
|
|
||||||
yU3W/saIQ7mtyPxPLScbdcfOmifi4m8ab4vhektW6fmB2gPGg6VyTfzjY5mZLWm5
|
|
||||||
Jbe7ekMvpj7at/G6bttcr9SbttbaNv+bo6/VJXWeDvn4p4SCQOGhKNGj/D4QVx13
|
|
||||||
blF6wyNDS/WVVOL0xKoBX9LwZ82F1Q/PZDz30sYDHTbz0y0v7mo12gOrclICK2Lq
|
|
||||||
r4v3R3/eUO6Pyvhj7iWB9NacfeoveB3Dtg==
|
|
||||||
=N78Z
|
|
||||||
-----END PGP MESSAGE-----
|
|
||||||
|
|
||||||
And finally, I am proving ownership of this host by posting or
|
|
||||||
appending to this document.
|
|
||||||
|
|
||||||
View my publicly-auditable identity here: https://keybase.io/terribledev
|
|
||||||
|
|
||||||
==================================================================
|
|
||||||
32
nginx.conf
32
nginx.conf
@@ -1,32 +0,0 @@
|
|||||||
user nginx;
|
|
||||||
worker_processes 1;
|
|
||||||
|
|
||||||
error_log /var/log/nginx/error.log warn;
|
|
||||||
pid /var/run/nginx.pid;
|
|
||||||
|
|
||||||
|
|
||||||
events {
|
|
||||||
worker_connections 1024;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
http {
|
|
||||||
include /etc/nginx/mime.types;
|
|
||||||
default_type application/octet-stream;
|
|
||||||
|
|
||||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
|
||||||
'$status $body_bytes_sent "$http_referer" '
|
|
||||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
|
||||||
|
|
||||||
access_log /var/log/nginx/access.log main;
|
|
||||||
|
|
||||||
sendfile on;
|
|
||||||
#tcp_nopush on;
|
|
||||||
|
|
||||||
keepalive_timeout 65;
|
|
||||||
|
|
||||||
gzip on;
|
|
||||||
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;
|
|
||||||
|
|
||||||
include /etc/nginx/conf.d/*.conf;
|
|
||||||
}
|
|
||||||
6121
package-lock.json
generated
6121
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -3,12 +3,9 @@
|
|||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"gulp": "gulp",
|
"start": ""
|
||||||
"bower": "bower",
|
|
||||||
"pub": "gulp publish"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bower": "^1.8.4",
|
|
||||||
"html-minifier": "^0.7.2"
|
"html-minifier": "^0.7.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
Reference in New Issue
Block a user