").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cc=a.document.documentElement;function dc(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cc;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cc})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=La(k.pixelPosition,function(a,c){return c?(c=Ja(a,b),Ha.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ec=a.jQuery,fc=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fc),b&&a.jQuery===m&&(a.jQuery=ec),m},typeof b===K&&(a.jQuery=a.$=m),m});
diff --git a/public/js/jquery.fitvids.js b/public/js/jquery.fitvids.js
new file mode 100644
index 0000000..05e24cc
--- /dev/null
+++ b/public/js/jquery.fitvids.js
@@ -0,0 +1,83 @@
+/*global jQuery */
+/*jshint browser:true */
+/*!
+* FitVids 1.1
+*
+* Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com
+* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/
+* Released under the WTFPL license - http://sam.zoy.org/wtfpl/
+*
+*/
+
+(function( $ ){
+
+ "use strict";
+
+ $.fn.fitVids = function( options ) {
+ var settings = {
+ customSelector: null,
+ ignore: null
+ };
+
+ if(!document.getElementById('fit-vids-style')) {
+ // appendStyles: https://github.com/toddmotto/fluidvids/blob/master/dist/fluidvids.js
+ var head = document.head || document.getElementsByTagName('head')[0];
+ var css = '.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}';
+ var div = document.createElement('div');
+ div.innerHTML = '
x
';
+ head.appendChild(div.childNodes[1]);
+ }
+
+ if ( options ) {
+ $.extend( settings, options );
+ }
+
+ return this.each(function(){
+ var selectors = [
+ "iframe[src*='player.vimeo.com']",
+ "iframe[src*='youtube.com']",
+ "iframe[src*='youtube-nocookie.com']",
+ "iframe[src*='kickstarter.com'][src*='video.html']",
+ "object",
+ "embed"
+ ];
+
+ if (settings.customSelector) {
+ selectors.push(settings.customSelector);
+ }
+
+ var ignoreList = '.fitvidsignore';
+
+ if(settings.ignore) {
+ ignoreList = ignoreList + ', ' + settings.ignore;
+ }
+
+ var $allVideos = $(this).find(selectors.join(','));
+ $allVideos = $allVideos.not("object object"); // SwfObj conflict patch
+ $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video.
+
+ $allVideos.each(function(){
+ var $this = $(this);
+ if($this.parents(ignoreList).length > 0) {
+ return; // Disable FitVids on this video.
+ }
+ if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }
+ if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width'))))
+ {
+ $this.attr('height', 9);
+ $this.attr('width', 16);
+ }
+ var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(),
+ width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),
+ aspectRatio = height / width;
+ if(!$this.attr('id')){
+ var videoID = 'fitvid' + Math.floor(Math.random()*999999);
+ $this.attr('id', videoID);
+ }
+ $this.wrap('
').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+"%");
+ $this.removeAttr('height').removeAttr('width');
+ });
+ });
+ };
+// Works with either jQuery or Zepto
+})( window.jQuery || window.Zepto );
diff --git a/public/js/scripts.js b/public/js/scripts.js
new file mode 100644
index 0000000..2210824
--- /dev/null
+++ b/public/js/scripts.js
@@ -0,0 +1,20 @@
+jQuery(function($) {
+
+ /* ============================================================ */
+ /* Responsive Videos */
+ /* ============================================================ */
+
+ $(".post-content").fitVids();
+
+ /* ============================================================ */
+ /* Scroll To Top */
+ /* ============================================================ */
+
+ $('.js-jump-top').on('click', function(e) {
+ e.preventDefault();
+
+ $('html, body').animate({'scrollTop': 0});
+ });
+});
+
+hljs.initHighlightingOnLoad();
diff --git a/public/page/1/index.html b/public/page/1/index.html
new file mode 100644
index 0000000..f6e98da
--- /dev/null
+++ b/public/page/1/index.html
@@ -0,0 +1 @@
+
https://securing-devops.com/
\ No newline at end of file
diff --git a/public/post/index.html b/public/post/index.html
new file mode 100644
index 0000000..69d80a7
--- /dev/null
+++ b/public/post/index.html
@@ -0,0 +1,99 @@
+
+
+
+
+
+
Posts ·
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/post/index.xml b/public/post/index.xml
new file mode 100644
index 0000000..a36a4cd
--- /dev/null
+++ b/public/post/index.xml
@@ -0,0 +1,23 @@
+
+
+
+ Posts on Securing DevOps
+ https://securing-devops.com/post/
+ Recent content in Posts on Securing DevOps
+ Hugo -- gohugo.io
+ en-us
+ Tue, 19 Jul 2016 20:36:14 -0400
+
+
+ -
+ Welcome
+ https://securing-devops.com/post/welcome/
+ Tue, 19 Jul 2016 20:36:14 -0400
+
+ https://securing-devops.com/post/welcome/
+ <p>Welcome to Securing DevOps, the book.</p>
+
+
+
+
+
\ No newline at end of file
diff --git a/public/post/page/1/index.html b/public/post/page/1/index.html
new file mode 100644
index 0000000..07fe90c
--- /dev/null
+++ b/public/post/page/1/index.html
@@ -0,0 +1 @@
+
https://securing-devops.com/post/
\ No newline at end of file
diff --git a/public/post/welcome/index.html b/public/post/welcome/index.html
new file mode 100644
index 0000000..068e002
--- /dev/null
+++ b/public/post/welcome/index.html
@@ -0,0 +1,129 @@
+
+
+
+
+
+
Welcome ·
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Welcome to Securing DevOps, the book.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/sass/style.scss b/public/sass/style.scss
new file mode 100644
index 0000000..1eb1bf5
--- /dev/null
+++ b/public/sass/style.scss
@@ -0,0 +1,721 @@
+// ============================================================ //
+// Colours //
+// ============================================================ //
+
+$primary: #F03838;
+$secondary: #303030;
+$background: #FEFEFE;
+
+/* ============================================================ */
+/* Base */
+/* ============================================================ */
+
+html, body { height: 100%; }
+
+body {
+ background: $background;
+ color: #424242;
+ font-family: "Open Sans", arial, sans-serif;
+ font-size: 18px;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ margin-bottom: 20px;
+ text-transform: none;
+}
+
+h1 { font-size: 26px; }
+h2 { font-size: 24px; }
+h3 { font-size: 20px; margin-bottom: 20px; }
+h4 { font-size: 18px; margin-bottom: 18px; }
+h5 { font-size: 16px; margin-bottom: 15px; }
+h6 { font-size: 14px; margin-bottom: 12px; }
+
+p {
+ line-height: 1.8;
+ margin: 0 0 30px;
+}
+
+a {
+ color: $primary;
+ text-decoration: none;
+}
+
+ul, ol {
+ list-style-position: inside;
+ line-height: 1.4;
+ margin: 0 0 20px;
+ padding: 0;
+
+ ul, ol { margin: 10px 0 0 20px; }
+
+ li {
+ margin: 0 0 2px;
+
+ &:last-of-type { margin-bottom: 0; }
+ }
+}
+
+blockquote {
+ border-left: 1px dotted $primary;
+ margin: 40px 0;
+ padding: 5px 30px;
+
+ p {
+ color: #AEADAD;
+ display: block;
+ font-style: italic;
+ margin: 0;
+ width: 100%;
+ }
+}
+
+img {
+ display: block;
+ margin: 40px 0;
+ width: auto;
+ max-width: 100%;
+}
+
+pre {
+ background: #F1F0EA;
+ border: 1px solid #DDDBCC;
+ border-radius: 3px;
+ margin: 0 0 20px;
+ padding: 10px;
+ font-size: 16px;
+}
+
+code {
+ padding: 2px 4px;
+ font-size: 90%;
+ color: $primary;
+ background-color: #F1F0EA;
+ border-radius: 4px
+}
+
+hr {
+ border: none;
+ border-bottom: 1px dotted #303030;
+ margin: 45px 0;
+}
+
+table {
+ margin-bottom:40px;
+ width: 100%;
+
+ tbody > tr:nth-child(odd) > td,
+ tbody > tr:nth-child(odd) > th {
+ background-color: #f7f7f3;
+ }
+
+ th {
+ padding: 0 10px 10px;
+ text-align: left;
+ }
+
+ td { padding: 10px; }
+
+ tr { border-bottom: 1px dotted #AEADAD; }
+}
+
+::selection {
+ background: #FFF5B8;
+ color: #000;
+ display: block;
+}
+
+::-moz-selection {
+ background: #FFF5B8;
+ color: #000;
+ display: block;
+}
+
+.fluid-width-video-wrapper { margin-bottom: 40px; }
+
+.hidden {
+ text-indent: -9999px;
+ visibility: hidden;
+ display: none;
+}
+
+.clearfix {
+ &:after{
+ content: "";
+ display: table;
+ clear: both;
+ }
+}
+
+/* ============================================================ */
+/* General Appearance */
+/* ============================================================ */
+
+.container {
+ margin: 0 auto;
+ position: relative;
+ width: 100%;
+ max-width: 889px;
+}
+
+#wrapper {
+ height: auto;
+ min-height: 100%;
+ /* This must be the same as the height of the footer */
+ margin-bottom: -265px;
+
+ &:after {
+ content: "";
+ display: block;
+ /* This must be the same as the height of the footer */
+ height: 265px;
+ }
+}
+
+.button {
+ background: $secondary;
+ border: none;
+ border-radius: 3px;
+ color: #FEFEFE;
+ font-size: 14px;
+ font-weight: 700;
+ padding: 10px 12px;
+ text-transform: uppercase;
+
+ &:hover { background: $primary; }
+}
+
+.button-square {
+ background: $primary;
+ color: #FFF;
+ float: left;
+ font-size: 17px;
+ margin: 0 0 0 10px;
+ padding: 3px 8px 4px;
+
+ &:hover { background: $secondary; }
+}
+
+.error {
+ text-align: center;
+}
+
+.comments {
+ margin-top: 10px;
+}
+
+/* ============================================================ */
+/* Site Header */
+/* ============================================================ */
+
+.site-header {
+ padding: 40px 0 0;
+ overflow: auto;
+ text-align: center;
+ text-transform: uppercase;
+}
+
+.site-title-wrapper {
+ display: table;
+ margin: 0 auto;
+}
+
+.site-title {
+ float: left;
+ font-size: 14px;
+ font-weight: 600;
+ margin: 0;
+ text-transform: uppercase;
+
+ a {
+ float: left;
+ background: $primary;
+ color: #FEFEFE;
+ padding: 5px 10px 6px;
+
+ &:hover { background: $secondary; }
+ }
+}
+.site-logo {
+ display: block;
+
+ img { margin: 0; }
+}
+
+.site-nav {
+ list-style: none;
+ margin: 28px 0 10px;
+}
+
+.site-nav-item {
+ display: inline-block;
+ font-size: 14px;
+ font-weight: 700;
+ margin: 0 10px;
+
+ a:hover { color: #424242; }
+}
+
+/* ============================================================ */
+/* Post */
+/* ============================================================ */
+
+#latest-post { display: none; }
+
+.post-container { margin: 0 40px; }
+
+.post-header {
+ border-bottom: 6px solid $secondary;
+ margin: 0 0 20px;
+ padding: 0 0 20px;
+ text-align: center;
+ text-transform: uppercase;
+}
+
+.post-title,
+.page-title {
+ font-size: 52px;
+ font-weight: 700;
+ margin: 15px 0;
+ text-align: center;
+ text-transform: uppercase;
+}
+
+.page-title { margin: 15px 40px; }
+
+.post-date,
+.blog-description {
+ color: #AEADAD;
+ font-size: 14px;
+ font-weight: 600;
+ line-height: 1;
+ margin: 25px 0 0;
+
+ a { color: #AEADAD; }
+ a:hover { color: $primary; }
+
+ &:after {
+ border-bottom: 1px dotted $secondary;
+ content: "";
+ display: block;
+ margin: 40px auto 0;
+ width: 100px;
+ }
+}
+
+.post-content {
+ a:hover {
+ border-bottom: 1px dotted $primary;
+ padding: 0 0 2px;
+ }
+
+ &:last-child { margin-bottom: 0; }
+}
+
+.post-footer { margin-top: 5px; }
+
+.post-tags,
+.share {
+ color: #AEADAD;
+ font-size: 14px;
+
+ span { font-weight: 600; }
+}
+
+.post-tags {
+ float: left;
+ margin: 3px 0 0;
+ a:hover { color: $secondary; }
+}
+
+.share {
+ float: right;
+
+ a {
+ background: $primary;
+ color: #FFF;
+ display: inline-block;
+ font-size: 16px;
+ margin-left: 5px;
+ padding: 5px 0 4px;
+ width: 30px;
+ text-align: center;
+ }
+
+ a:hover { background: $secondary; }
+}
+
+.post-navigation {
+ display: table;
+ margin: 70px auto 100px;
+}
+
+.newer-posts,
+.older-posts {
+ float: left;
+ background: $primary;
+ color: #FEFEFE;
+ font-size: 14px;
+ font-weight: 600;
+ margin: 0 5px;
+ padding: 5px 10px 6px;
+ text-transform: uppercase;
+
+ &:hover {
+ background: $secondary;
+ }
+}
+
+.page-number { display: none; }
+
+/* ============================================================ */
+/* Post Index */
+/* ============================================================ */
+
+.post-list {
+ list-style: none;
+}
+
+.post-stub {
+ border-bottom: 1px dotted $secondary;
+ margin: 0;
+ position: relative;
+
+ &:first-child { padding-top: 0; }
+
+ a {
+ -webkit-transition: all 0.2s ease-in-out;
+ -moz-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out;
+ display: block;
+ color: #424242;
+ padding: 20px 5px;
+
+ &:hover {
+ background: #FCF5F5;
+ color: $primary;
+ padding: 20px 12px;
+
+ .post-stub-tag { background: $primary; }
+ }
+ }
+}
+
+.post-stub-tag {
+ background: $secondary;
+ border-radius: 3px;
+ color: #FFF;
+ float: right;
+ font-size: 10px;
+ margin: 7px 0 0;
+ padding: 0 5px;
+ text-transform: uppercase;
+}
+
+.post-stub-title {
+ display: inline-block;
+ margin: 0;
+ text-transform: none;
+}
+
+.post-stub-description {
+ display: inline-block;
+ margin: 0;
+ text-transform: none;
+}
+
+.post-stub-date {
+ display: inline-block;
+
+ &:before { content: "/ "; }
+}
+
+.next-posts-link a,
+.previous-posts-link a {
+ display: block;
+ padding: 8px 11px;
+}
+
+/* ============================================================ */
+/* Author */
+/* ============================================================ */
+
+.author-profile {
+ margin: 0 40px;
+
+ &:after {
+ border-bottom: 1px dotted $secondary;
+ content: "";
+ display: block;
+ margin: 40px auto 0;
+ width: 100px;
+ }
+}
+
+.author-heading {
+ margin: 15px auto;
+ text-align: center;
+ width: 100%;
+}
+
+.author-avatar {
+ border-radius: 50px;
+ display: inline;
+ height: 50px;
+ margin: 5px 10px 0 0;
+ width: 50px;
+ vertical-align: middle;
+}
+
+.author-name {
+ display: inline;
+ font-size: 52px;
+ font-weight: 700;
+ text-align: center;
+ text-transform: uppercase;
+ vertical-align: middle;
+}
+
+.author-meta {
+ color: #AEADAD;
+ font-size: 14px;
+ font-weight: 600;
+ line-height: 1;
+ margin: 25px 0 0;
+ text-align: center;
+ text-transform: uppercase;
+
+ span {
+ display: inline-block;
+ margin: 0 10px 8px;
+ }
+
+ i { margin-right: 8px; }
+
+ a { color: #AEADAD; }
+ a:hover { color: $primary; }
+}
+
+.author-bio {
+ margin: 20px auto 0;
+ text-align: center;
+ max-width: 700px;
+}
+
+/* ============================================================ */
+/* Footer */
+/* ============================================================ */
+
+.footer {
+ background: $secondary;
+ color: #D3D3D3;
+ height: 265px;
+ margin-top: 95px;
+ overflow: auto;
+
+ .site-title-wrapper { margin: 80px auto 35px; }
+
+ .site-title a:hover,
+ .button-square:hover {
+ background: #121212;
+ }
+
+ .button-jump-top {
+ font-size: 23px;
+ line-height: 1.1;
+ padding-top: 1px;
+ }
+}
+
+.footer-copyright {
+ color: #656565;
+ font-size: 14px;
+ margin: 0;
+ text-align: center;
+ text-transform: uppercase;
+
+ a {
+ color: #656565;
+ font-weight: 700;
+
+ &:hover { color: #FEFEFE; }
+ }
+}
+
+/* ============================================================ */
+/* NProgress */
+/* ============================================================ */
+
+#nprogress .bar { background: $primary; }
+
+#nprogress .peg { box-shadow: 0 0 10px $primary, 0 0 5px $primary; }
+
+#nprogress .spinner-icon {
+ border-top-color: $primary;
+ border-left-color: $primary;
+}
+
+/* ============================================================ */
+/* Media Queries */
+/* ============================================================ */
+
+@media only screen and (max-width: 800px) {
+ .post-stub-tag { display: none; }
+}
+
+@media only screen and (max-width: 600px) {
+ h1, h2 { margin-bottom: 20px; }
+
+ p { margin-bottom: 20px; }
+
+ ul, ol { margin-bottom: 20px; }
+
+ img { margin: 30px 0; }
+
+ blockquote { margin: 30px 0;}
+
+ pre { margin: 20px 0; }
+
+ hr { margin: 35px 0; }
+
+ .site-header {
+ padding-top: 40px;
+ }
+
+ .site-title {
+ float: none;
+ margin-bottom: 15px;
+
+ a {
+ float: none;
+ }
+ }
+
+ .site-nav-item {
+ display: block;
+ margin: 15px 0;
+ }
+
+ .post-header {
+ margin-bottom: 20px;
+ padding-bottom: 20px;
+ }
+
+ .post-title,
+ .page-title,
+ .author-name,
+ .author-heading {
+ font-size: 42px;
+ margin-top: 5px;
+ }
+
+ .post-date,
+ .blog-description,
+ .author-meta {
+ margin-top: 20px;
+
+ &:after, &:before {
+ margin-top: 30px;
+ }
+ }
+
+ .author-profile {
+ &:after, &:before {
+ margin-top: 20px;
+ }
+ }
+
+ .post-stub-title { display: block; }
+
+ .post-stub-date:before {
+ content: "";
+ display: block;
+ }
+
+ .post-list {
+ margin-top: 20px;
+ }
+
+ .post-container,
+ .post-list,
+ .author-profile {
+ margin-right: 25px;
+ margin-left: 25px;
+ }
+
+ .post-tags { width: 100%; }
+
+ .post-stub a,
+ .post-stub a:hover {
+ padding-top: 12px;
+ padding-bottom: 12px;
+ }
+
+ .share {
+ float: left;
+ margin-top: 20px;
+
+ a {
+ margin: 0 5px 0 0;
+ }
+ }
+
+ .footer {
+ margin-top: 50px;
+ }
+}
+
+@media only screen and (max-width: 400px) {
+ .site-header {
+ padding-top: 40px;
+ }
+
+ .post-title,
+ .page-title,
+ .author-name,
+ .author-heading {
+ font-size: 30px;
+ line-height: 1.2;
+ }
+
+ .post-date,
+ .blog-description,
+ .author-meta {
+ line-height: 1.6;
+ }
+
+ .post-date,
+ .blog-description,
+ .author-meta {
+ margin-top: 10px;
+
+ &:after, &:before {
+ margin-top: 20px;
+ }
+ }
+
+ .author-profile {
+ &:after, &:before {
+ margin-top: 10px;
+ }
+ }
+
+ .post-container,
+ .post-list,
+ .author-profile {
+ margin-right: 15px;
+ margin-left: 15px;
+ }
+
+ .author-avatar {
+ display: block;
+ margin: 0 auto 18px;
+ }
+
+ .author-meta span {
+ display: block;
+ margin: 18px 0;
+ }
+
+ .footer-copyright { padding: 0 10px; }
+}
diff --git a/public/sitemap.xml b/public/sitemap.xml
new file mode 100644
index 0000000..b6c3084
--- /dev/null
+++ b/public/sitemap.xml
@@ -0,0 +1,8 @@
+
+
+
+
+ https://securing-devops.com/
+
+
+
\ No newline at end of file
diff --git a/static/cover.jpg b/static/cover.jpg
new file mode 100644
index 0000000..27c5cd6
Binary files /dev/null and b/static/cover.jpg differ
diff --git a/themes/ghostwriter b/themes/ghostwriter
new file mode 160000
index 0000000..f3662c3
--- /dev/null
+++ b/themes/ghostwriter
@@ -0,0 +1 @@
+Subproject commit f3662c30747ad192f8dceee43e094f70ad1e9963