Added all theme files
authorRaivis Vitols <raivis@scandiweb.com>
Tue, 16 Feb 2016 16:18:51 +0000 (18:18 +0200)
committerRaivis Vitols <raivis@scandiweb.com>
Tue, 16 Feb 2016 16:18:51 +0000 (18:18 +0200)
24 files changed:
assets/css/print.css [new file with mode: 0644]
assets/css/styles.css [new file with mode: 0644]
assets/img/avatar.jpg [new file with mode: 0644]
assets/img/favicon.ico [new file with mode: 0644]
assets/js/script.js [new file with mode: 0644]
assets/scss/config.rb [new file with mode: 0644]
assets/scss/helpers/_classes.scss [new file with mode: 0644]
assets/scss/helpers/_mixins.scss [new file with mode: 0644]
assets/scss/print.scss [new file with mode: 0644]
assets/scss/styles.scss [new file with mode: 0644]
assets/scss/vendor/_normalize.scss [new file with mode: 0644]
default.hbs [new file with mode: 0644]
error.hbs [new file with mode: 0644]
index.hbs [new file with mode: 0644]
package.json [new file with mode: 0644]
partials/articles.hbs [new file with mode: 0644]
partials/head.hbs [new file with mode: 0644]
partials/mobile-header.hbs [new file with mode: 0644]
partials/navigation.hbs [new file with mode: 0644]
partials/pagination.hbs [new file with mode: 0644]
partials/post-single-meta.hbs [new file with mode: 0644]
partials/share-links.hbs [new file with mode: 0644]
partials/social-links.hbs [new file with mode: 0644]
post.hbs [new file with mode: 0644]

diff --git a/assets/css/print.css b/assets/css/print.css
new file mode 100644 (file)
index 0000000..0dc9d92
--- /dev/null
@@ -0,0 +1 @@
+.content{margin-left:0 !important}.sidebar,.mobile-header,.post-image{display:none !important}
diff --git a/assets/css/styles.css b/assets/css/styles.css
new file mode 100644 (file)
index 0000000..46714b4
--- /dev/null
@@ -0,0 +1 @@
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.clear:after,.content .pagination:after{content:"";clear:both;display:table}.markdown,.content .post-content{line-height:2em}.markdown h1,.content .post-content h1,.markdown h2,.content .post-content h2,.markdown h3,.content .post-content h3,.markdown p,.content .post-content p,.markdown ul,.content .post-content ul,.markdown blockquote,.content .post-content blockquote,.markdown pre,.content .post-content pre,.markdown .gist,.content .post-content .gist{margin-bottom:30px}.markdown h1:last-child,.content .post-content h1:last-child,.markdown h2:last-child,.content .post-content h2:last-child,.markdown h3:last-child,.content .post-content h3:last-child,.markdown p:last-child,.content .post-content p:last-child,.markdown ul:last-child,.content .post-content ul:last-child,.markdown blockquote:last-child,.content .post-content blockquote:last-child,.markdown pre:last-child,.content .post-content pre:last-child,.markdown .gist:last-child,.content .post-content .gist:last-child{margin-bottom:0}.markdown h1,.content .post-content h1{font-size:1.4em}.markdown h2,.content .post-content h2{font-size:1.2em}.markdown h3,.content .post-content h3{font-size:1em}.markdown ul,.content .post-content ul{padding-left:3em}.markdown a,.content .post-content a{text-decoration:underline}.markdown a:hover,.content .post-content a:hover{text-decoration:none}.markdown a:hover img,.content .post-content a:hover img{opacity:0.8}.markdown img,.content .post-content img{width:100%;-webkit-transition:all 150ms ease-in-out;-moz-transition:all 150ms ease-in-out;-ms-transition:all 150ms ease-in-out;-o-transition:all 150ms ease-in-out;transition:all 150ms ease-in-out}.markdown blockquote,.content .post-content blockquote{padding-left:30px;font-style:italic;border-left:4px solid #f7f7f7}.markdown hr,.content .post-content hr{border:0;height:1px;margin:30px 0;background:#f7f7f7}.markdown pre,.content .post-content pre{padding:1em;font-size:0.9em;line-height:1.5em;background:#f7f7f7}.markdown code,.content .post-content code{background:#f7f7f7}.markdown .gist .gist-file,.content .post-content .gist .gist-file{margin-bottom:0}*{box-sizing:border-box}h1,h2,h3,p,ul,blockquote,pre{margin:0;padding:0}html,body{height:100%}html,body{min-width:320px;background:#f7f7f7;font-size:16px;line-height:1.2em;color:#555;font-family:'Merriweather', serif}a{outline:none;color:#555;text-decoration:none;-webkit-transition:all 150ms ease-in-out;-moz-transition:all 150ms ease-in-out;-ms-transition:all 150ms ease-in-out;-o-transition:all 150ms ease-in-out;transition:all 150ms ease-in-out}a:hover{color:#888}.wrapper{width:100%;height:100%;overflow-x:hidden}.viewport{width:100%;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}@media (max-width: 640px){.viewport{-webkit-transition:300ms;-moz-transition:300ms;-ms-transition:300ms;-o-transition:300ms;transition:300ms}}@media (max-width: 640px){.wrapper[data-menu-visible="1"] .viewport{-webkit-transform:translateX(290px);-moz-transform:translateX(290px);-ms-transform:translateX(290px);-o-transform:translateX(290px);transform:translateX(290px)}}.sidebar{width:290px;position:absolute;height:100%;z-index:1;top:0}@media (min-width: 641px){.sidebar{left:0}}@media (max-width: 640px){.sidebar{left:-290px}}.content{min-height:100vh;max-width:1000px}@media (min-width: 641px){.content{margin-left:290px}}.sidebar{text-align:center}.sidebar .sidebar-header{background-position:50% 50%;background-size:cover;margin-bottom:70px;position:relative;height:100px}.sidebar .sidebar-header a,.sidebar .sidebar-header img{width:80px;height:80px}.sidebar .sidebar-header a{left:50%;bottom:-40px;position:absolute;margin-left:-40px}.sidebar .sidebar-header img{display:block;border:2px solid #fff;-webkit-border-radius:40px;-moz-border-radius:40px;-ms-border-radius:40px;-o-border-radius:40px;border-radius:40px}.sidebar h1,.sidebar h2,.sidebar .sidebar-menu,.sidebar .sidebar-links{margin:0 auto 20px;max-width:265px}.sidebar h1{font-size:1.2em}.sidebar h2{font-size:0.8em;color:#888;font-weight:normal}.sidebar .sidebar-links{font-size:0.8em;padding-bottom:20px;border-bottom:1px solid #eaeaea}.sidebar .sidebar-links a{padding:0 5px}.sidebar .sidebar-menu a{display:block;padding:5px 0;font-size:0.9em;font-weight:bold}.mobile-header{margin-bottom:20px}.mobile-header .mobile-menu,.mobile-header .mobile-logo{height:40px;cursor:pointer;display:inline-block}.mobile-header .mobile-menu{font-weight:bold;line-height:40px}.mobile-header .mobile-logo{width:40px;float:right}.mobile-header .mobile-logo img{max-width:100%}@media (min-width: 641px){.mobile-header{display:none}}.error-page{text-align:center;color:#888;line-height:2em}.content{background:#fff;border-left:1px solid #eaeaea}@media (max-width: 640px){.content{padding:20px}}@media (min-width: 641px){.content{padding:30px;border-right:1px solid #eaeaea}}.content .post-listed{margin-bottom:35px;padding-bottom:20px;border-bottom:1px solid #eaeaea}.content .post-listed h2{font-size:1.1em;line-height:1.4em;margin-bottom:10px}@media (min-width: 1200px){.content .post-listed{width:31.33333%;float:left;margin-right:3%}.content .post-listed:nth-child(3n){margin-right:0}.content .post-listed:nth-child(3n+1){clear:left}}@media (max-width: 640px) and (min-width: 600px){.content .post-listed{width:48%;float:left;margin-right:4%}.content .post-listed:nth-child(2n){margin-right:0}.content .post-listed:nth-child(2n+1){clear:left}}@media (max-width: 1199px) and (min-width: 880px){.content .post-listed{width:48%;float:left;margin-right:4%}.content .post-listed:nth-child(2n){margin-right:0}.content .post-listed:nth-child(2n+1){clear:left}}.content .post-single .post-header,.content .post-single .post-footer{margin:50px 0 40px;padding:40px 0;text-align:center;border-top:1px solid #f7f7f7;border-bottom:1px solid #f7f7f7}.content .post-single .post-header h1,.content .post-single .post-footer h1{font-size:1.4em;line-height:normal;margin-bottom:20px}.content .post-single .post-header{margin-top:0}.content .post-image{display:block;margin-bottom:15px}.content .post-image:not(div):hover{opacity:0.8}.content .post-image img{width:100%;display:block}.content .post-meta{font-size:0.8em;font-style:italic;color:#888}.content .post-meta .tags a{text-transform:lowercase}.content .post-meta .share a{font-weight:bold;padding:0 5px 0 0}.content .post-meta .share .share-twitter{color:#4099FF}.content .post-meta .share .share-facebook{color:#3B5998}.content .post-meta .share .share-google-plus{color:#d34836}.content .post-meta .share .share-twitter:hover,.content .post-meta .share .share-facebook:hover,.content .post-meta .share .share-google-plus:hover{color:#888}.content .pagination{clear:both}.content .pagination .older-posts{float:right}
diff --git a/assets/img/avatar.jpg b/assets/img/avatar.jpg
new file mode 100644 (file)
index 0000000..ec14492
Binary files /dev/null and b/assets/img/avatar.jpg differ
diff --git a/assets/img/favicon.ico b/assets/img/favicon.ico
new file mode 100644 (file)
index 0000000..6da2722
Binary files /dev/null and b/assets/img/favicon.ico differ
diff --git a/assets/js/script.js b/assets/js/script.js
new file mode 100644 (file)
index 0000000..95e8c9f
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ | -----------------------------------------------------------------------------
+ | Functionality for off-canvas menu / sidebar visibility
+ | -----------------------------------------------------------------------------
+*/
+
+/*jslint browser:true*/
+
+(function (document) {
+    'use strict';
+
+    document.addEventListener('DOMContentLoaded', function () {
+        var menu = document.getElementById('mobile-menu'),
+            wrapper = document.getElementById('wrapper'),
+            content = document.getElementById('content'),
+            menuVisibilityData = 'data-menu-visible';
+
+        /*
+         | ---------------------------------------------------------------------
+         | Click on content element results in menu getting closed
+         | ---------------------------------------------------------------------
+         */
+        content.addEventListener('click', function (event) {
+            if (wrapper.getAttribute(menuVisibilityData)) {
+                wrapper.removeAttribute(menuVisibilityData);
+
+                event.preventDefault();
+                event.stopPropagation();
+            }
+        });
+
+        /*
+         | ---------------------------------------------------------------------
+         | Click on menu element results in menu getting opened
+         | ---------------------------------------------------------------------
+         */
+        menu.addEventListener('click', function (event) {
+            if (!wrapper.getAttribute(menuVisibilityData)) {
+                wrapper.setAttribute(menuVisibilityData, '1');
+            } else {
+                wrapper.removeAttribute(menuVisibilityData);
+            }
+
+            event.preventDefault();
+            event.stopPropagation();
+        });
+    });
+}(document));
\ No newline at end of file
diff --git a/assets/scss/config.rb b/assets/scss/config.rb
new file mode 100644 (file)
index 0000000..20be464
--- /dev/null
@@ -0,0 +1,5 @@
+sass_dir     = "./"
+css_dir      = "../css"
+images_dir   = "../img"
+environment  = :production
+output_style = :compressed
\ No newline at end of file
diff --git a/assets/scss/helpers/_classes.scss b/assets/scss/helpers/_classes.scss
new file mode 100644 (file)
index 0000000..0e0090e
--- /dev/null
@@ -0,0 +1,89 @@
+/*
+ | -----------------------------------------------------------------------------
+ | Helper classes
+ | -----------------------------------------------------------------------------
+*/
+.clear:after  {
+  content: "";
+  clear: both;
+  display: table;
+}
+
+/*
+ | -----------------------------------------------------------------------------
+ | Markdown content style
+ | -----------------------------------------------------------------------------
+*/
+.markdown {
+  line-height: 2em;
+
+  h1, h2, h3, p, ul,
+  blockquote, pre, .gist {
+    margin-bottom: 30px;
+
+    &:last-child {
+      margin-bottom: 0;
+    }
+  }
+
+  h1 {
+    font-size: 1.4em;
+  }
+
+  h2 {
+    font-size: 1.2em;
+  }
+
+  h3 {
+    font-size: 1em;
+  }
+
+  ul {
+    padding-left: 3em;
+  }
+
+  a {
+    text-decoration: underline;
+
+    &:hover {
+      text-decoration: none;
+
+      img {
+        opacity: 0.8;
+      }
+    }
+  }
+
+  img {
+    width: 100%;
+    @include transition();
+  }
+
+  blockquote {
+    padding-left: 30px;
+    font-style: italic;
+    border-left: 4px solid $c-grayNormal;
+  }
+
+  hr {
+    border: 0;
+    height: 1px;
+    margin: 30px 0;
+    background: $c-grayNormal;
+  }
+
+  pre {
+    padding: 1em;
+    font-size: 0.9em;
+    line-height: 1.5em;
+    background: $c-grayNormal;
+  }
+
+  code {
+    background: $c-grayNormal;
+  }
+
+  .gist .gist-file {
+    margin-bottom: 0;
+  }
+}
\ No newline at end of file
diff --git a/assets/scss/helpers/_mixins.scss b/assets/scss/helpers/_mixins.scss
new file mode 100644 (file)
index 0000000..6730448
--- /dev/null
@@ -0,0 +1,80 @@
+/*
+ | -----------------------------------------------------------------------------
+ | Breakpoints
+ | -----------------------------------------------------------------------------
+*/
+@mixin breakpoint($breakpoint) {
+  @if $breakpoint == "mobile" {
+    @media (max-width: 640px) {
+      @content;
+    }
+  }
+
+  @else if $breakpoint == "desktop" {
+    @media (min-width: 641px) {
+      @content;
+    }
+  }
+}
+
+/*
+ | -----------------------------------------------------------------------------
+ | Useful mixins
+ | -----------------------------------------------------------------------------
+*/
+@mixin border-radius($value: 3px) {
+  -webkit-border-radius: $value;
+  -moz-border-radius   : $value;
+  -ms-border-radius    : $value;
+  -o-border-radius     : $value;
+  border-radius        : $value;
+}
+
+@mixin transition($transition : all 150ms ease-in-out) {
+  -webkit-transition: $transition;
+  -moz-transition   : $transition;
+  -ms-transition    : $transition;
+  -o-transition     : $transition;
+  transition        : $transition;
+}
+
+@mixin translateX($value) {
+  -webkit-transform: translateX($value);
+  -moz-transform:    translateX($value);
+  -ms-transform:     translateX($value);
+  -o-transform:      translateX($value);
+  transform:         translateX($value);
+}
+
+/*
+ | -----------------------------------------------------------------------------
+ | Columns for posts
+ | -----------------------------------------------------------------------------
+*/
+@mixin post2Col() {
+  width: 48%;
+  float: left;
+  margin-right: 4%;
+
+  &:nth-child(2n) {
+    margin-right: 0;
+  }
+
+  &:nth-child(2n + 1) {
+    clear: left;
+  }
+}
+
+@mixin post3Col() {
+  width: 31.33333%;
+  float: left;
+  margin-right: 3%;
+
+  &:nth-child(3n) {
+    margin-right: 0;
+  }
+
+  &:nth-child(3n + 1) {
+    clear: left;
+  }
+}
diff --git a/assets/scss/print.scss b/assets/scss/print.scss
new file mode 100644 (file)
index 0000000..bf89f05
--- /dev/null
@@ -0,0 +1,12 @@
+/*
+ | -----------------------------------------------------------------------------
+ | Print styles
+ | -----------------------------------------------------------------------------
+*/
+.content {
+  margin-left: 0 !important;
+}
+
+.sidebar, .mobile-header, .post-image {
+  display: none !important;
+}
\ No newline at end of file
diff --git a/assets/scss/styles.scss b/assets/scss/styles.scss
new file mode 100644 (file)
index 0000000..55b16e4
--- /dev/null
@@ -0,0 +1,390 @@
+/*
+ | -----------------------------------------------------------------------------
+ | Variables
+ | -----------------------------------------------------------------------------
+*/
+$sidebarWidth : 290px;
+$maxPageWidth : 1000px;
+
+$c-white      : #ffffff;
+$c-baseNormal : #555555;
+$c-grayNormal : #f7f7f7;
+
+$c-grayDark   : darken($c-grayNormal, 5);
+$c-baseLight  : lighten($c-baseNormal, 20);
+
+/*
+ | -----------------------------------------------------------------------------
+ | Imports
+ | -----------------------------------------------------------------------------
+*/
+@import "vendor/normalize";
+@import "helpers/mixins";
+@import "helpers/classes";
+
+/*
+ | -----------------------------------------------------------------------------
+ | Resets and html + body styles
+ | -----------------------------------------------------------------------------
+*/
+* {
+  box-sizing: border-box;
+}
+
+h1, h2, h3, p, ul, blockquote, pre {
+  margin: 0;
+  padding: 0;
+}
+
+html, body {
+  height: 100%;
+}
+
+html, body {
+  min-width: 320px;
+  background: $c-grayNormal;
+  font-size: 16px;
+  line-height: 1.2em;
+  color: $c-baseNormal;
+  font-family: 'Merriweather', serif;
+}
+
+/*
+ | -----------------------------------------------------------------------------
+ | Anchors
+ | -----------------------------------------------------------------------------
+*/
+a {
+  outline: none;
+  color: $c-baseNormal;
+  text-decoration: none;
+  @include transition();
+
+  &:hover {
+    color: $c-baseLight;
+  }
+}
+
+/*
+ | -----------------------------------------------------------------------------
+ | Layout
+ | -----------------------------------------------------------------------------
+*/
+.wrapper {
+  width: 100%;
+  height: 100%;
+  overflow-x: hidden;
+}
+
+.viewport {
+  width: 100%;
+  @include translateX(0);
+
+  @include breakpoint(mobile) {
+    @include transition(300ms);
+  }
+}
+
+@include breakpoint(mobile) {
+  .wrapper[data-menu-visible="1"] .viewport {
+    @include translateX($sidebarWidth);
+  }
+}
+
+.sidebar {
+  width: $sidebarWidth;
+  position: absolute;
+  height: 100%;
+  z-index: 1;
+  top : 0;
+
+  @include breakpoint(desktop) {
+    left: 0;
+  }
+
+  @include breakpoint(mobile) {
+    left: -$sidebarWidth;
+  }
+}
+
+.content {
+  min-height: 100vh;
+  max-width: $maxPageWidth;
+
+  @include breakpoint(desktop) {
+    margin-left: $sidebarWidth;
+  }
+}
+
+/*
+ | -----------------------------------------------------------------------------
+ | Sidebar
+ | -----------------------------------------------------------------------------
+*/
+.sidebar {
+  text-align: center;
+
+  .sidebar-header {
+    background-position: 50% 50%;
+    background-size: cover;
+    margin-bottom: 70px;
+    position: relative;
+    height: 100px;
+
+    a, img {
+      width: 80px;
+      height: 80px;
+    }
+
+    a {
+      left: 50%;
+      bottom: -40px;
+      position: absolute;
+      margin-left: -40px;
+    }
+
+    img {
+      display: block;
+      border: 2px solid $c-white;
+      @include border-radius(40px);
+    }
+  }
+
+  h1, h2, .sidebar-menu, .sidebar-links {
+    margin: 0 auto 20px;
+    max-width: 265px;
+  }
+
+  h1 {
+    font-size: 1.2em;
+  }
+
+  h2 {
+    font-size: 0.8em;
+    color: $c-baseLight;
+    font-weight: normal;
+  }
+
+  .sidebar-links {
+    font-size: 0.8em;
+    padding-bottom: 20px;
+    border-bottom: 1px solid $c-grayDark;
+
+    a {
+      padding: 0 5px;
+    }
+  }
+
+  .sidebar-menu {
+    a {
+      display: block;
+      padding: 5px 0;
+      font-size: 0.9em;
+      font-weight: bold;
+    }
+  }
+}
+
+/*
+ | -----------------------------------------------------------------------------
+ | Mobile header
+ | -----------------------------------------------------------------------------
+*/
+.mobile-header {
+  margin-bottom: 20px;
+
+  .mobile-menu,
+  .mobile-logo {
+    height: 40px;
+    cursor: pointer;
+    display: inline-block;
+  }
+
+  .mobile-menu {
+    font-weight: bold;
+    line-height: 40px;
+  }
+
+  .mobile-logo {
+    width: 40px;
+    float: right;
+
+    img {
+      max-width: 100%;
+    }
+  }
+
+  @include breakpoint(desktop) {
+    display: none;
+  }
+}
+
+/*
+ | -----------------------------------------------------------------------------
+ | 404 page
+ | -----------------------------------------------------------------------------
+*/
+.error-page {
+  text-align: center;
+  color: $c-baseLight;
+  line-height: 2em;
+}
+
+/*
+ | -----------------------------------------------------------------------------
+ | Content
+ | -----------------------------------------------------------------------------
+*/
+.content {
+  background: $c-white;
+  border-left: 1px solid $c-grayDark;
+
+  @include breakpoint(mobile) {
+    padding: 20px;
+  }
+
+  @include breakpoint(desktop) {
+    padding: 30px;
+    border-right: 1px solid $c-grayDark;
+  }
+
+  /*
+   | ---------------------------------------------------------------------------
+   | Posts list
+   | ---------------------------------------------------------------------------
+  */
+  .post-listed {
+    margin-bottom: 35px;
+    padding-bottom: 20px;
+    border-bottom: 1px solid $c-grayDark;
+
+    h2 {
+      font-size: 1.1em;
+      line-height: 1.4em;
+      margin-bottom: 10px;
+    }
+
+    @media (min-width: 1200px) {
+      @include post3Col();
+    }
+
+    @media (max-width: 640px) and (min-width: 600px) {
+      @include post2Col();
+    }
+
+    @media (max-width: 1199px) and (min-width: 880px) {
+      @include post2Col();
+    }
+  }
+
+  /*
+   | ---------------------------------------------------------------------------
+   | Single post
+   | ---------------------------------------------------------------------------
+  */
+  .post-single {
+    .post-header, .post-footer {
+      margin: 50px 0 40px;
+      padding: 40px 0;
+      text-align: center;
+      border-top: 1px solid $c-grayNormal;
+      border-bottom: 1px solid $c-grayNormal;
+
+      h1 {
+        font-size: 1.4em;
+        line-height: normal;
+        margin-bottom: 20px;
+      }
+    }
+
+    .post-header {
+      margin-top: 0;
+    }
+  }
+
+  /*
+   | ---------------------------------------------------------------------------
+   | Main post image
+   | ---------------------------------------------------------------------------
+  */
+  .post-image {
+    display: block;
+    margin-bottom: 15px;
+
+    &:not(div):hover {
+      opacity: 0.8;
+    }
+
+    img {
+      width: 100%;
+      display: block;
+    }
+  }
+
+  /*
+   | ---------------------------------------------------------------------------
+   | Post content - markdown
+   | ---------------------------------------------------------------------------
+  */
+  .post-content {
+    @extend .markdown;
+  }
+
+  /*
+   | ---------------------------------------------------------------------------
+   | Post meta block - tags, share links, etc.
+   | ---------------------------------------------------------------------------
+  */
+  .post-meta {
+    font-size: 0.8em;
+    font-style: italic;
+    color: $c-baseLight;
+
+    .tags {
+      a {
+        text-transform: lowercase;
+      }
+    }
+
+    .share {
+      a {
+        font-weight: bold;
+        padding: 0 5px 0 0;
+      }
+
+      .share-twitter {
+        color: #4099FF;
+      }
+
+      .share-facebook {
+        color: #3B5998;
+      }
+
+      .share-google-plus {
+        color: #d34836;
+      }
+
+      .share-twitter,
+      .share-facebook,
+      .share-google-plus {
+        &:hover {
+          color: $c-baseLight;
+        }
+      }
+    }
+  }
+
+  /*
+   | ---------------------------------------------------------------------------
+   | Posts pagination
+   | ---------------------------------------------------------------------------
+  */
+  .pagination {
+    clear: both;
+    @extend .clear;
+
+    .older-posts {
+      float: right;
+    }
+  }
+}
\ No newline at end of file
diff --git a/assets/scss/vendor/_normalize.scss b/assets/scss/vendor/_normalize.scss
new file mode 100644 (file)
index 0000000..96f8dd0
--- /dev/null
@@ -0,0 +1 @@
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],/* 1 */input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}
\ No newline at end of file
diff --git a/default.hbs b/default.hbs
new file mode 100644 (file)
index 0000000..4d3e660
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+<head>
+    {{> "head"}}
+    {{ghost_head}}
+</head>
+<body class="{{body_class}}">
+    <div id="wrapper" class="wrapper">
+        <div id="viewport" class="viewport">
+            <div id="sidebar" class="sidebar">
+                <div class="sidebar-header" style="background-image: url({{@blog.cover}})">
+                    <a href="{{@blog.url}}" title="John Doe">
+                        <img src="{{asset "img/avatar.jpg"}}" alt="John Doe">
+                    </a>
+                </div>
+
+                <h1>
+                    <a href="{{@blog.url}}" title="John Doe">
+                        John Doe
+                    </a>
+                </h1>
+
+                <h2>
+                    Sed ut perspiciatis unde omnis iste natus error sit
+                    voluptatem accusantium doloremque laudantium, totam.
+                </h2>
+
+                {{> "social-links"}}
+                {{navigation}}
+            </div>
+
+            <div class="content" id="content">
+                {{> "mobile-header"}}
+
+                <div class="main-section">
+                    {{{body}}}
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <script type="text/javascript" src="{{asset "js/script.js"}}"></script>
+    {{ghost_foot}}
+</body>
+</html>
\ No newline at end of file
diff --git a/error.hbs b/error.hbs
new file mode 100644 (file)
index 0000000..f0f7280
--- /dev/null
+++ b/error.hbs
@@ -0,0 +1,5 @@
+{{!< default}}
+<div class="error-page">
+    This page does not exist..
+    <br/><a href="{{@blog.url}}" title="Go Home">Click Here To Go Home!</a>
+</div>
\ No newline at end of file
diff --git a/index.hbs b/index.hbs
new file mode 100644 (file)
index 0000000..2cb6529
--- /dev/null
+++ b/index.hbs
@@ -0,0 +1,4 @@
+{{!< default}}
+<div class="content-page">
+    {{> "articles"}}
+</div>
\ No newline at end of file
diff --git a/package.json b/package.json
new file mode 100644 (file)
index 0000000..630a5c2
--- /dev/null
@@ -0,0 +1,8 @@
+{
+    "name": "Willow",
+    "version": "0.1.0",
+    "author": {
+        "name": "Raivis Vitols",
+        "url": "http://raivis.vom"
+    }
+}
\ No newline at end of file
diff --git a/partials/articles.hbs b/partials/articles.hbs
new file mode 100644 (file)
index 0000000..01cc256
--- /dev/null
@@ -0,0 +1,27 @@
+{{#foreach posts}}
+    <article class="post-listed {{post_class}}">
+        <a class="post-image" href="{{url}}" title="{{title}}">
+            <img src="{{image}}" alt="{{title}}"/>
+        </a>
+
+        <h2>
+            <a href="{{url}}" title="{{title}}">{{title}}</a>
+        </h2>
+
+        <div class="post-meta">
+            <span class="time">
+                {{date format="DD MMMM, YYYY"}}
+            </span>
+
+            {{#if tags}}
+                in
+                <span class="tags">
+                    {{#foreach tags}}
+                        <a href="{{url}}" title="{{name}}">#{{name}}</a>
+                    {{/foreach}}
+                </span>
+            {{/if}}
+        </div>
+    </article>
+{{/foreach}}
+{{pagination}}
\ No newline at end of file
diff --git a/partials/head.hbs b/partials/head.hbs
new file mode 100644 (file)
index 0000000..e2ab67d
--- /dev/null
@@ -0,0 +1,16 @@
+<meta charset="utf-8" />
+<meta http-equiv="X-UA-Compatible" content="IE=edge" />
+
+<title>{{meta_title}}</title>
+<meta name="description" content="{{meta_description}}" />
+
+<meta name="HandheldFriendly" content="True" />
+<meta name="viewport" content="width=device-width,initial-scale=1.0" />
+
+<link rel="apple-touch-icon" href="{{asset "img/favicon.ico"}}" />
+<link rel="icon" href="{{asset "img/favicon.ico"}}" type="image/x-icon" />
+<link rel="shortcut icon" href="{{asset "img/favicon.ico"}}" type="image/x-icon" />
+
+<link rel="stylesheet" type="text/css" href="{{asset "css/styles.css"}}" />
+<link rel="stylesheet" type="text/css" href="{{asset "css/print.css"}}" media="print" />
+<link href='https://fonts.googleapis.com/css?family=Merriweather:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
\ No newline at end of file
diff --git a/partials/mobile-header.hbs b/partials/mobile-header.hbs
new file mode 100644 (file)
index 0000000..9375375
--- /dev/null
@@ -0,0 +1,9 @@
+<div class="mobile-header">
+    <a href="#" id="mobile-menu" class="mobile-menu">
+        Menu
+    </a>
+
+    <a class="mobile-logo" href="{{@blog.url}}" title="John Doe">
+        <img src="{{@blog.logo}}" alt="John Doe">
+    </a>
+</div>
\ No newline at end of file
diff --git a/partials/navigation.hbs b/partials/navigation.hbs
new file mode 100644 (file)
index 0000000..bb3fe6b
--- /dev/null
@@ -0,0 +1,5 @@
+<div class="sidebar-menu">
+    {{#foreach navigation}}
+        <a href="{{url absolute="true"}}" title="{{label}}">{{label}}</a>
+    {{/foreach}}
+</div>
\ No newline at end of file
diff --git a/partials/pagination.hbs b/partials/pagination.hbs
new file mode 100644 (file)
index 0000000..eca1e95
--- /dev/null
@@ -0,0 +1,9 @@
+<div class="pagination">
+    {{#if prev}}
+        <a class="newer-posts" href="{{page_url prev}}">&larr; Newer</a>
+    {{/if}}
+
+    {{#if next}}
+        <a class="older-posts" href="{{page_url next}}">Older &rarr;</a>
+    {{/if}}
+</div>
\ No newline at end of file
diff --git a/partials/post-single-meta.hbs b/partials/post-single-meta.hbs
new file mode 100644 (file)
index 0000000..1f624a1
--- /dev/null
@@ -0,0 +1,18 @@
+<div class="post-meta">
+    <span class="time">
+        {{date format="DD MMMM, YYYY"}}
+    </span>
+
+    {{#if tags}}
+        in
+        <span class="tags">
+            {{#foreach tags}}
+                <a href="{{url}}" title="{{name}}">#{{name}}</a>
+            {{/foreach}}
+        </span>
+    {{/if}}|
+
+    <span class="share">
+        {{> "share-links"}}
+    </span>
+</div>
\ No newline at end of file
diff --git a/partials/share-links.hbs b/partials/share-links.hbs
new file mode 100644 (file)
index 0000000..1d0522c
--- /dev/null
@@ -0,0 +1,14 @@
+<a class="share-twitter" href="https://twitter.com/intent/tweet?text={{encode title}}&amp;url={{url absolute="true"}}"
+   onclick="window.open(this.href, 'twitter-share', 'width=550,height=235');return false;">
+    Share on Twitter |
+</a>
+
+<a class="share-facebook" href="https://www.facebook.com/sharer/sharer.php?u={{url absolute="true"}}"
+   onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;">
+    Share on Facebook |
+</a>
+
+<a class="share-google-plus" href="https://plus.google.com/share?url={{url absolute="true"}}"
+   onclick="window.open(this.href, 'google-plus-share', 'width=490,height=530');return false;">
+    Share on Google+
+</a>
\ No newline at end of file
diff --git a/partials/social-links.hbs b/partials/social-links.hbs
new file mode 100644 (file)
index 0000000..ed04d53
--- /dev/null
@@ -0,0 +1,13 @@
+<div class="sidebar-links">
+    <a href="#" target="_blank">
+        github
+    </a>
+
+    <a href="#" target="_blank">
+        twitter
+    </a>
+
+    <a href="#" target="_blank">
+        linkedin
+    </a>
+</div>
\ No newline at end of file
diff --git a/post.hbs b/post.hbs
new file mode 100644 (file)
index 0000000..64c343a
--- /dev/null
+++ b/post.hbs
@@ -0,0 +1,22 @@
+{{!< default}}
+{{#post}}
+    <div class="post-single {{post_class}}">
+        <div class="post-header">
+            <h1>{{title}}</h1>
+            {{> "post-single-meta"}}
+        </div>
+
+        <div class="post-content">
+            {{content}}
+        </div>
+
+        <div class="post-footer">
+            {{> "post-single-meta"}}
+        </div>
+    </div>
+
+    <div id="disqus_thread"></div>
+    <script async="async">
+        /* Paste Your Disqus Embed Code Here */
+    </script>
+{{/post}}
\ No newline at end of file