Really ugly progress commit

This commit is contained in:
Timothy Warren 2016-06-14 10:51:48 -04:00
parent 0eb0d18755
commit 719776e862
16 changed files with 434 additions and 554 deletions

View File

@ -1,3 +1,6 @@
# ProgBlog
A simple node blog with built-in code snippet highlighting
[![Build Status](https://jenkins.timshomepage.net/buildStatus/icon?job=ProgBlog)](https://jenkins.timshomepage.net/job/ProgBlog/)
## Setup

View File

@ -83,7 +83,6 @@ class Container {
return this._require(name);
}
/**
* Get a base library instance
*

View File

@ -2,9 +2,14 @@
const container = require('../Container');
const Model = container.getBase('Model');
const Config = container.getBase('Config');
class DBModel extends Model {
constructor() {
super();
this.db = Config.get('database');
}
}
module.exports = DBModel;

View File

@ -4,7 +4,6 @@
* Base Class for wrapping HTTP/HTTPS servers
*/
class Server {
constructor() {}
/**
* Event listener for HTTP(s) server "error" event.
*

4
app/bootstrap.js vendored
View File

@ -7,7 +7,7 @@ const path = container.get('path');
const Controller = container.get('base/Controller');
const Config = container.get('base/Config');
module.exports = (function () {
module.exports = (() => {
const baseRoutePath = path.join(__dirname, 'controllers');
// Set up templating
@ -28,4 +28,4 @@ module.exports = (function () {
return app;
}());
})();

View File

@ -6,7 +6,7 @@ const knexConn = knexConfig.connection;
const params = {
driver: knexConfig.client,
connection: (knexConfig.client == "sqlite3") ? knexConn.filename : knexConn,
connection: (knexConfig.client == 'sqlite3') ? knexConn.filename : knexConn,
};
const nodeQuery = require('ci-node-query')(params);

View File

@ -25,4 +25,30 @@ module.exports = {
},
},
'/user/list': {
get: (req, res) => {
},
},
'/user/edit': {
get: (req, res) => {
},
post: (req, res) => {
},
},
'/user/add': {
get: (req, res) => {
},
post: (req, res) => {
},
},
};

13
app/models/Blog.js Normal file
View File

@ -0,0 +1,13 @@
'use strict';
const Container = require('../../Container');
const Config = container.get('Config');
const DBModel = container.getBase('DBModel');
class BlogModel extends DBModel {
constructor() {
super();
}
}
module.exports = new BlogModel();

View File

@ -1,4 +1,23 @@
'use strict';
const container = require('../Container');
const Config = container.get('Config');
const DBModel = container.getBase('DBModel');
class UserModel extends DBModel {
constructor() {
super();
}
getAll() {
return this.db.get('users');
}
getUserById(userId) {
return this.db.from('users')
.where('id', userId)
.get();
}
}
module.exports = new UserModel();

View File

@ -65,6 +65,7 @@ Javascript has several ways of making a self-executing function.
<div class="cell cell-1of2 edit-right" id="preview">
</div>
</section>
<button type="submit">Save</button>
</section>
<footer>
<p>&copy; Timothy J. Warren</p>

View File

@ -0,0 +1,2 @@
<form action="/admin/user/add" method="post">
</form>

View File

@ -1,10 +1,10 @@
{
"author": "Timothy J. Warren",
"dependencies": {
"axios": "^0.9.1",
"body-parser": "~1.13.2",
"axios": "^0.12.0",
"body-parser": "~1.15.1",
"ci-node-query": "^4.0.0",
"cookie-parser": "~1.3.5",
"cookie-parser": "~1.4.3",
"debug": "~2.2.0",
"dotenv": "^2.0.0",
"errors": "^0.3.0",
@ -14,16 +14,16 @@
"express-negotiate": "0.0.5",
"express-session": "^1.13.0",
"getargs": "0.0.8",
"glob": "^6.0.4",
"helmet": "^1.1.0",
"glob": "^7.0.3",
"helmet": "^2.1.1",
"highlight.js": "^9.1.0",
"jscs": "^2.11.0",
"knex": "^0.10.0",
"knex": "^0.11.5",
"lodash": "^4.5.0",
"markdown-it": "^6.0.0",
"moment": "^2.11.2",
"morgan": "~1.6.1",
"morgan": "~1.7.0",
"nodemon": "^1.9.0",
"npm-run-all": "^2.1.2",
"nsp": "^2.4.0",
"scrypt": "^6.0.1",
"sqlite3": "^3.1.1",
@ -31,7 +31,7 @@
},
"description": "A simple blog with built-in code snippet functionality",
"devDependencies": {
"apidoc": "^0.15.1",
"apidoc": "^0.16.1",
"chai": "^3.5.0",
"chai-as-promised": "^5.3.0",
"documentation": "^4.0.0-beta1",
@ -40,7 +40,6 @@
"istanbul": "0.4.*",
"jscs": "^3.0.0",
"mocha": "^2.4.5",
"npm-run-all": "^1.6.0",
"nsp": "^2.2.1",
"parallelshell": "^2.0.0",
"pre-commit": "^1.1.2",
@ -72,6 +71,7 @@
"audit": "nsp check",
"build": "npm-run-all --parallel lint:src lint:tests docs:src docs:api coverage",
"coverage": "istanbul cover ./node_modules/mocha/bin/_mocha",
"css": "postcss -c postcss.config.json -w",
"default": "npm-run-all --parallel audit lint:src lint:tests test",
"docs": "npm-run-all --parallel docs:src docs:api",
"docs:api": "apidoc -i ./app/ -o ./public/api-docs/",

5
postcss.config.json Normal file
View File

@ -0,0 +1,5 @@
{
"use": "postcss-cssnext",
"input": "public/assets/css/blog.myth.css",
"output": "public/assets/css/blog.css"
}

View File

@ -1,6 +1,6 @@
:root {
background: whitesmoke;
font-family: 'PT Serif', serif;
background:whitesmoke;
font-family:'PT Serif', serif;
box-sizing: border-box;
cursor: default;
line-height: 1.4;
@ -10,20 +10,19 @@
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
text-size-adjust: 100%;
scroll-behavior: smooth;
}
* {
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-moz-tab-size:4;
-o-tab-size:4;
tab-size:4;
}
/*! Basic element styles*/
html {
font-size: 62.5%;
font-size: 62.5%
}
body {
font-size: 1.6em;
padding: 0;
@ -31,428 +30,273 @@ body {
font-style: normal;
font-weight: 400;
}
a {
color: #1271db;
-webkit-transition: .25s ease;
transition: .25s ease;
-webkit-transition:.25s ease;
transition: .25s ease
}
a,
a:focus,
a:hover {
text-decoration: none;
a, a:focus, a:hover {
text-decoration: none
}
blockquote,
pre {
margin: 1.6rem 0;
blockquote, pre {
margin:16px 0;
margin: 1.6rem 0
}
blockquote,
figcaption {
font-family: serif;
blockquote, figcaption {
font-family: serif
}
article,
aside,
dl,
hr,
section {
margin-bottom: 1.6rem;
article, aside, dl, hr, section {
margin-bottom:16px;
margin-bottom: 1.6rem
}
footer, hr {
border-top:1px solid rgba(0, 0, 0, .2);
border-top: .1rem solid rgba(0, 0, 0, .2)
}
footer, img, section {
max-width: 100%
}
img, select[multiple] {
height: auto
}
footer,
hr {
border-top: .1rem solid rgba(0, 0, 0, .2);
width: 100%
}
footer,
img,
section {
max-width: 100%;
pre, textarea {
overflow: auto
}
img,
select[multiple] {
height: auto;
legend, ol, textarea, ul {
margin-bottom:8px;
margin-bottom: .8rem
}
hr {
width: 100%;
::after, ::before, td, th {
vertical-align: inherit
}
pre,
textarea {
overflow: auto;
footer, nav ul, td, th {
text-align: center
}
legend,
ol,
textarea,
ul {
margin-bottom: .8rem;
[hidden], audio:not([controls]), template {
display: none
}
::after,
::before,
td,
th {
vertical-align: inherit;
}
footer,
nav ul,
td,
th {
text-align: center;
}
[hidden],
audio:not([controls]),
template {
display: none;
}
small {
font-size: 75%;
color: #777;
color: #777
}
big {
font-size: 125%;
font-size: 125%
}
[unselectable] {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
user-select: none
}
[unselectable],
button,
input[type=submit] {
[unselectable], button, input[type=submit] {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-ms-user-select: none
}
::after, ::before {
text-decoration: inherit
}
::after,
::before {
text-decoration: inherit;
code, kbd, pre, samp {
font-family:'Anonymous Pro', Menlo, Monaco, Consolas, 'Courier New', monospace;
}
code,
kbd,
pre,
samp {
font-family: 'Anonymous Pro', Menlo, Monaco, Consolas, 'Courier New', monospace;
}
pre {
/*box-shadow:rgba(0,0,0,0.1) 0 0 5px;*/
padding: 0.25em;
padding:0.25em;
}
code,
pre {
font-family: 'Anonymous Pro', Menlo, Monaco, Consolas, 'Courier New', monospace;
code, pre {
font-family:'Anonymous Pro', Menlo, Monaco, Consolas, 'Courier New', monospace;
word-break: break-all;
word-wrap: break-word;
overflow-x: auto;
}
::-moz-selection {
background-color: #b3d4fc;
text-shadow: none;
text-shadow: none
}
::selection {
background-color: #b3d4fc;
text-shadow: none;
text-shadow: none
}
button::-moz-focus-inner {
border: 0;
border: 0
}
p {
margin: 0 0 1.6rem;
margin:0 0 16px;
margin: 0 0 1.6rem
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: 'PT Serif', serif;
margin: 0.5em 0;
h1, h2, h3, h4, h5, h6 {
font-family:'PT Serif', serif;
margin:0.5em 0;
}
h1 {
font-size: 1.75em;
margin-top: 0;
font-style: normal;
margin-top:0;
font-style: normal
}
dd {
margin-left: 4rem;
margin-left:40px;
margin-left: 4rem
}
ol,
ul {
padding-left: 2rem;
ol, ul {
padding-left:20px;
padding-left: 2rem
}
blockquote {
border-left:2px solid #1271db;
border-left: .2rem solid #1271db;
font-style: italic;
padding-left: 1.6rem;
padding-left:16px;
padding-left: 1.6rem
}
article,
aside,
details,
footer,
header,
main,
section,
summary {
article, aside, details, footer, header, main, section, summary {
display: block;
height: auto;
margin: 0 auto;
width: 100%;
width: 100%
}
main {
margin: 0 auto;
max-width: 76.8em;
padding: 0 1.6rem 1.6rem;
padding:0 16px 16px;
padding: 0 1.6rem 1.6rem
}
footer {
padding: 1rem 0;
padding:10px 0;
padding: 1rem 0
}
nav ul {
list-style: none;
margin: 0.5em auto;
}
nav a,
td,
th {
padding: .8rem 1.6rem;
nav a, td, th {
padding:8px 16px;
padding: .8rem 1.6rem
}
nav ul li {
display: inline;
display: inline
}
nav a {
border-bottom:2px solid transparent;
border-bottom: .2rem solid transparent;
color: #444;
-webkit-transition: .25s ease;
transition: .25s ease;
-webkit-transition:.25s ease;
transition: .25s ease
}
nav a:hover {
border-color: rgba(0, 0, 0, .2);
border-color: rgba(0, 0, 0, .2)
}
nav a:active {
border-color: rgba(0, 0, 0, .56);
border-color: rgba(0, 0, 0, .56)
}
table {
border-collapse: collapse;
border-spacing: 0;
margin-bottom: 1.6rem;
margin-bottom:16px;
margin-bottom: 1.6rem
}
caption {
padding: .8rem 0;
padding:8px 0;
padding: .8rem 0
}
thead th {
background: #efefef;
color: #444;
color: #444
}
tr {
background: #fff;
margin-bottom: .8rem;
margin-bottom:8px;
margin-bottom: .8rem
}
td,
th {
border: .1rem solid #ccc;
td, th {
border:1px solid #ccc;
border: .1rem solid #ccc
}
tfoot tr {
background: 0 0;
background: 0 0
}
tfoot td {
color: #efefef;
font-size: .8em;
font-style: italic;
padding: 1.6rem .4rem;
padding:16px 4px;
padding: 1.6rem .4rem
}
/*! Flexbox grid */
section {
-webkit-box-flex: 0;
-webkit-flex: 0;
-ms-flex: 0;
flex: 0;
}
.w930 {
max-width: 930px;
max-width:930px;
}
.grid {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin: 0 auto;
padding: 0;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
margin:0 auto;
padding:0;
}
.grid-no-wrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.grid-top {
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
}
.grid-top {-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}
.grid-bottom {-webkit-box-align:end;-ms-flex-align:end;-ms-grid-row-align:flex-end;align-items:flex-end}
.grid-center {-webkit-box-align:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center}
.grid-justify-center {-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}
.grid-bottom {
-webkit-box-align: end;
-webkit-align-items: flex-end;
-ms-flex-align: end;
align-items: flex-end;
}
.cell {-webkit-box-flex:1;-ms-flex:1;flex:1};
.cell-top {-ms-flex-item-align: start;align-self: flex-start}
.cell-bottom {-ms-flex-item-align: end;align-self: flex-end}
.cell-center {-ms-flex-item-align: center;align-self: center}
.cell-autoSize {-webkit-box-flex: 0;-ms-flex: none;flex: none}
.grid-center {
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.grid-justify-center {
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
.cell {
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
;
.cell-top {
-webkit-align-self: flex-start;
-ms-flex-item-align: start;
align-self: flex-start;
}
.cell-bottom {
-webkit-align-self: flex-end;
-ms-flex-item-align: end;
align-self: flex-end;
}
.cell-center {
-webkit-align-self: center;
-ms-flex-item-align: center;
align-self: center;
}
.cell-autoSize {
-webkit-box-flex: 0;
-webkit-flex: none;
-ms-flex: none;
flex: none;
}
.cell-1of2 {
-webkit-box-flex: 0 !important;
-webkit-flex: 0 0 50% !important;
-ms-flex: 0 0 50% !important;
flex: 0 0 50% !important;
}
.cell-1of3 {
-webkit-box-flex: 0 !important;
-webkit-flex: 0 0 33.3333% !important;
-ms-flex: 0 0 33.3333% !important;
flex: 0 0 33.3333% !important;
}
.cell-2of3 {
-webkit-box-flex: 0 !important;
-webkit-flex: 0 0 66.6666% !important;
-ms-flex: 0 0 66.6666% !important;
flex: 0 0 66.6666% !important;
}
.cell-1of4 {
-webkit-box-flex: 0 !important;
-webkit-flex: 0 0 25% !important;
-ms-flex: 0 0 25% !important;
flex: 0 0 25% !important;
}
.cell-1of2 {-webkit-box-flex: 0 !important;-ms-flex: 0 0 50% !important;flex: 0 0 50% !important}
.cell-1of3 {-webkit-box-flex: 0 !important;-ms-flex: 0 0 33.3333% !important;flex: 0 0 33.3333% !important}
.cell-2of3 {-webkit-box-flex: 0 !important;-ms-flex: 0 0 66.6666% !important;flex: 0 0 66.6666% !important}
.cell-1of4 {-webkit-box-flex: 0 !important;-ms-flex: 0 0 25% !important;flex: 0 0 25% !important}
.grid-fit > .cell {
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
.grid-full > .cell {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
}
.grid-1of2 > .cell {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
}
.grid-1of3 > .cell {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.3333%;
-ms-flex: 0 0 33.3333%;
flex: 0 0 33.3333%;
}
.grid-1of4 > .cell {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
}
@ -460,7 +304,6 @@ section {
.grid-gutters {
margin: 0 0 1em 0;
}
.grid-gutters > .cell {
padding: 1em 0 0 1em;
}
@ -468,7 +311,6 @@ section {
.grid-guttersLg {
margin: -1.5em 0 1.5em -1.5em;
}
.grid-guttersLg > .cell {
padding: 1.5em 0 0 1.5em;
}
@ -476,130 +318,114 @@ section {
.grid-guttersXl {
margin: -2em 0 2em -2em;
}
.grid-guttersXl > .cell {
padding: 2em 0 0 2em;
}
/*! Misc layout styles*/
.no-top-margin {
margin-top: 0 !important;
}
.no-top-padding {
padding-top: 0 !important;
}
.margin5 {
margin: 0.5em;
}
.padding5 {
padding: 0.5em;
}
.no-top-margin{margin-top:0 !important}
.no-top-padding{padding-top:0 !important}
.margin5 {margin:0.5em}
.padding5 {padding:0.5em}
.pagebody {
background: #fff;
min-height: 100%;
border-top: 2px solid silver;
box-shadow: rgba(0,0,0,0.1) 0 0 5px;
background:#fff;
min-height:100%;
border-top:2px solid silver;
box-shadow:rgba(0,0,0,0.1) 0 0 5px;
}
.heading {
margin-top: 16px;
margin-bottom: 14px;
line-height: 24px;
font-size: 22px;
margin-top:16px;
margin-bottom:14px;
line-height:24px;
font-size:22px;
}
.heading .title {
font-family: 'PT Serif', serif;
.heading .title {
font-family:'PT Serif', serif;
color: #000;
font-weight: bold;
}
font-weight:bold;
}
.heading .tagline {
padding-left: 15px;
font-weight: 300;
font-size: 80%;
color: #000;
}
.heading .tagline {
padding-left:15px;
font-weight:300;
font-size:80%;
color:#000;
}
.bio {
background: #f9f9f9;
margin: 12px;
padding: 15px;
text-align: center;
background:#f9f9f9;
margin:12px;
padding:15px;
text-align:center;
}
.bio .logo {
height: 100px;
width: 100px;
}
.bio .logo {
height:100px;
width:100px;
}
.bio .title {
margin-top: 14px;
font-weight: 600;
}
.bio .title {
margin-top:14px;
font-weight:600;
}
.bio .tagline {
margin: 8px auto 0 auto;
font-weight: 300;
text-align: justify;
max-width: 80%;
font-size: 94%;
}
.bio .tagline {
margin:8px auto 0 auto;
font-weight:300;
text-align:justify;
max-width:80%;
font-size:94%;
}
.recent-posts {
padding: 15px;
padding:15px;
}
.recent-posts .title {
font-family:'PT Serif', serif;
margin-top:-12px;
border-top:6px solid #fff;
padding-top:14px;
font-weight:600;
font-size:90%;
margin-bottom:14px;
}
.recent-posts .title {
font-family: 'PT Serif', serif;
margin-top: -12px;
border-top: 6px solid #fff;
padding-top: 14px;
font-weight: 600;
font-size: 90%;
margin-bottom: 14px;
}
.recent-posts .title .showall {
float:right;
text-decoration:underline;
padding-right:10px;
font-size:0.80em;
}
.recent-posts .title .showall {
float: right;
text-decoration: underline;
padding-right: 10px;
font-size: 0.80em;
}
.recent-posts .post {
border-top: 2px solid #fff;
text-decoration: underline;
font-size: 94%;
font-weight: 400;
display: block;
padding-top: 8px;
padding-bottom: 6px;
}
.recent-posts .post {
border-top:2px solid #fff;
text-decoration:underline;
font-size:94%;
font-weight:400;
display:block;
padding-top:8px;
padding-bottom:6px;
}
/*! Admin Styles*/
.admin textarea {
font-family: 'Anonymous Pro', Menlo, Monaco, Consolas, 'Courier New', monospace;
font-size: 1em;
box-sizing: border-box;
width: 100%;
min-height: 15em;
border: none;
padding: 0;
overflow: hidden;
resize: none;
font-family:'Anonymous Pro', Menlo, Monaco, Consolas, 'Courier New', monospace;
font-size:1em;
box-sizing:border-box;
width:100%;
min-height:15em;
border:none;
padding:0;
overflow:hidden;
resize:none;
}
.admin .edit-left,
.admin .edit-right {
background: #fff;
padding: 0.5em;
.admin .edit-left, .admin .edit-right {
background:#fff;
padding:0.5em;
box-shadow: rgba(0,0,0,0.1) 0 0 5px;
}
@ -607,23 +433,18 @@ section {
.small-Grid--gutters {
margin: -1em 0 1em -1em;
}
.small-Grid--gutters > .cell {
padding: 1em 0 0 1em;
}
.small-Grid--guttersLg {
margin: -1.5em 0 1.5em -1.5em;
}
.small-Grid--guttersLg > .cell {
padding: 1.5em 0 0 1.5em;
}
.small-Grid--guttersXl {
margin: -2em 0 2em -2em;
}
.small-Grid--guttersXl > .cell {
padding: 2em 0 0 2em;
}
@ -633,23 +454,18 @@ section {
.med-Grid--gutters {
margin: -1em 0 1em -1em;
}
.med-Grid--gutters > .cell {
padding: 1em 0 0 1em;
}
.med-Grid--guttersLg {
margin: -1.5em 0 1.5em -1.5em;
}
.med-Grid--guttersLg > .cell {
padding: 1.5em 0 0 1.5em;
}
.med-Grid--guttersXl {
margin: -2em 0 2em -2em;
}
.med-Grid--guttersXl > .cell {
padding: 2em 0 0 2em;
}
@ -659,23 +475,18 @@ section {
.large-Grid--gutters {
margin: -1em 0 1em -1em;
}
.large-Grid--gutters > .cell {
padding: 1em 0 0 1em;
}
.large-Grid--guttersLg {
margin: -1.5em 0 1.5em -1.5em;
}
.large-Grid--guttersLg > .cell {
padding: 1.5em 0 0 1.5em;
}
.large-Grid--guttersXl {
margin: -2em 0 2em -2em;
}
.large-Grid--guttersXl > .cell {
padding: 2em 0 0 2em;
}
@ -683,25 +494,21 @@ section {
@media screen {
[hidden~=screen] {
display: inherit;
display: inherit
}
[hidden~=screen]:not(:active):not(:focus):not(:target) {
clip: rect(0 0 0 0)!important;
position: absolute!important;
position: absolute!important
}
}
@media screen and (max-width:40rem) {
article,
aside,
section {
article, aside, section {
clear: both;
display: block;
max-width: 100%;
max-width: 100%
}
img {
margin-right: 1.6rem;
margin-right: 1.6rem
}
}

View File

@ -10,7 +10,8 @@
-ms-overflow-style: -ms-autohiding-scrollbar;
overflow-y: scroll;
text-rendering: optimizeLegibility;
text-size-adjust: 100%
text-size-adjust: 100%;
scroll-behavior: smooth;
}
* {

View File

@ -31,14 +31,14 @@ function normalizePort(val) {
}
// Create HTTP Server
if (true === config.get('http')) {
if (config.get('http') === true) {
let port = normalizePort(config.get('http-port'));
app.set('port', port);
container.set('http-server', new HttpServer(app, port));
}
// Create HTTPs Server
if (true === config.get('https')) {
if (config.get('https') === true) {
const httpsPort = normalizePort(config.get('https-port'));
const httpsConfig = {
key: fs.readFileSync(config.get('https-config-key')),