- );
- }
-}
-
-Template.propTypes = {
- children: React.PropTypes.any,
-};
-
-export default Template;
diff --git a/pages/articles/2015-05-06-my-second-post/index.md b/pages/articles/2015-05-06-my-second-post/index.md
deleted file mode 100644
index 68d20e8..0000000
--- a/pages/articles/2015-05-06-my-second-post/index.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: My Second Post!
-date: "2015-05-06T23:46:37.121Z"
-layout: post
-path: "/my-second-post/"
-readNext: "/hi-folks/"
-category: "FrontEnd"
-description: "Civil society; save lives pathway to a better life public-private partnerships solution, tackle, protect UNHCR social movement Jane Addams sustainable campaign respond equality."
----
-
-Wow! I love blogging so much already.
-
-Did you know that "despite its name, salted duck eggs can also be made from chicken eggs, though the taste and texture will be somewhat different, and the egg yolk will be less rich."? ([Wikipedia Link](http://en.wikipedia.org/wiki/Salted_duck_egg))
-
-Yeah, I didn't either.
diff --git a/pages/articles/2015-05-28-hi-folks/index.md b/pages/articles/2015-05-28-hi-folks/index.md
deleted file mode 100644
index 23f248a..0000000
--- a/pages/articles/2015-05-28-hi-folks/index.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: New Beginnings
-date: "2015-05-28T22:40:32.169Z"
-layout: post
-path: "/hi-folks/"
-category: "FrontEnd"
-description: "Employment, gender, breakthrough insights carbon emissions reductions peaceful, sharing economy Angelina Jolie accelerate, inclusive capitalism research inspire social change social good informal economies minority. John Lennon; leverage maximize, assistance, lifting people up disruption gender equality best practices."
----
-
-*This post is going to be a little hard to read for those that don't speak latin.*
-
-Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer vel neque dignissim mi maximus interdum. Cras dictum quam et ex molestie facilisis. Proin dapibus sed sapien nec gravida. Praesent at leo ut erat varius rhoncus at non mi. Quisque cursus non leo et varius. Maecenas porttitor scelerisque sapien at venenatis. Proin pellentesque gravida elementum. Nam eget porttitor ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean nec commodo lacus, eu mollis nisi. Nullam felis mi, tempus ac ipsum a, venenatis blandit magna. Sed mattis magna est, quis tincidunt massa aliquam vitae. Ut in ipsum blandit, ultrices lacus a, condimentum nibh. Sed commodo, lorem eget interdum molestie, lacus nisi lacinia velit, tempus commodo lacus erat porttitor dolor.
-
-Phasellus vitae ante justo. Fusce dui elit, finibus non posuere sed, ullamcorper at odio. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Pellentesque molestie lorem dolor, eget tincidunt ligula suscipit sit amet. Maecenas tempor nulla orci, sed scelerisque massa convallis id. Fusce iaculis nibh et lectus bibendum viverra. Nulla volutpat vehicula tortor non cursus. Maecenas vulputate mi nec accumsan ultricies. Praesent vitae tellus ligula. Praesent placerat fringilla purus, ac fermentum ipsum faucibus sed. Fusce semper, sapien hendrerit fringilla sagittis, lacus felis accumsan tellus, ac mollis ex arcu vitae lorem. Duis vitae semper felis. Duis consectetur, diam id laoreet suscipit, felis felis imperdiet sem, vel posuere leo ligula nec sapien. Maecenas at imperdiet nulla. Quisque quam nibh, feugiat vitae rhoncus ac, hendrerit eu quam. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
-
-Nullam vehicula lorem sed felis rutrum gravida. Nam mattis cursus lacinia. Cras sit amet interdum elit. Morbi viverra, est a tincidunt facilisis, est est maximus urna, id rhoncus mi metus et lacus. Pellentesque finibus ex vel nulla fermentum tempus. Nunc vel lorem enim. Sed varius scelerisque nulla, nec ultrices ligula gravida eu. Curabitur eu turpis sit amet nisl vehicula tempor ultrices eu lacus. Curabitur malesuada nulla neque. Aenean mattis lectus ex, molestie ultricies elit fringilla eget. Quisque iaculis volutpat nisl, vitae lobortis ipsum elementum sed. Nulla facilisi. Maecenas cursus turpis ac lacus efficitur, non bibendum ligula consequat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris accumsan placerat felis, at bibendum ante.
-
-Quisque varius dui vel commodo lobortis. Vestibulum eu metus vel dui lobortis volutpat. Cras vitae neque ornare, vehicula urna et, efficitur dolor. Nunc congue euismod leo non rhoncus. Nulla mollis libero a ullamcorper placerat. Morbi bibendum viverra orci in auctor. Donec in est varius, hendrerit risus vitae, commodo purus. Praesent eget rhoncus ligula. Suspendisse quis ultricies ligula. Nullam tincidunt rutrum nisl eget luctus. Phasellus eget nulla semper, varius ligula a, gravida urna. Etiam tempor feugiat elit eu cursus. Donec tristique ligula a aliquam tempor.
-
-Proin nec nunc tellus. Donec sapien leo, ornare quis condimentum a, euismod sit amet augue. Aliquam tincidunt mauris at arcu suscipit, quis scelerisque justo rhoncus. Vestibulum lobortis dui at odio lacinia mattis. Praesent nunc urna, bibendum ut dui eget, consequat suscipit leo. Curabitur auctor vel dui fermentum auctor. Sed ultrices ligula mauris, id blandit sapien ultrices id. Morbi volutpat tortor quis ex convallis aliquam. Nunc eleifend risus eget dui condimentum scelerisque.
diff --git a/pages/index.jsx b/pages/index.jsx
deleted file mode 100644
index c0d87b3..0000000
--- a/pages/index.jsx
+++ /dev/null
@@ -1,58 +0,0 @@
-import React from 'react';
-import { Link } from 'react-router';
-import sortBy from 'lodash/sortBy';
-import moment from 'moment';
-import Helmet from 'react-helmet';
-import { prefixLink } from 'gatsby-helpers';
-import access from 'safe-access';
-import { config } from 'config';
-import SiteSidebar from '../components/SiteSidebar';
-
-class SiteIndex extends React.Component {
- render() {
- const pageLinks = [];
- // Sort pages.
- const sortedPages = sortBy(this.props.route.pages, page => access(page, 'data.date')).reverse();
- sortedPages.forEach((page) => {
- if (access(page, 'file.ext') === 'md' && access(page, 'data.layout') === 'post') {
- const title = access(page, 'data.title') || page.path;
- const description = access(page, 'data.description');
- const datePublished = access(page, 'data.date');
- const category = access(page, 'data.category');
-
- pageLinks.push((
-
-
-
- {category}
-
{title}
-
- Read
-
- ));
- }
- });
-
- return (
-
-
-
-
-
-
- {pageLinks}
-
-
-
-
- );
- }
-}
-
-SiteIndex.propTypes = {
- route: React.PropTypes.object,
-};
-
-export default SiteIndex;
diff --git a/pages/pages/about/index.md b/pages/pages/about/index.md
deleted file mode 100644
index 827d1a6..0000000
--- a/pages/pages/about/index.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: "About me"
-layout: page
-path: "/about"
----
-
-Lorem ipsum dolor sit amet, in summo tamquam mea, gubergren laboramus torquatos usu ne, magna rationibus sit eu. Id constituam honestatis pri, iracundia adversarium vel te. Per ferri aliquam impedit ex. Ei nec elitr nonumy vidisse, et qui fierent maluisset sadipscing, tincidunt vituperata delicatissimi te quo.
-
-Te est iisque volutpat, tacimates dissentias no ius. Ea eam quodsi omnium deseruisse, affert evertitur sententiae sea ei. Dicit minimum at quo, nulla ludus vivendum cu mea, audire reformidans mei id. In his deserunt tincidunt, cu stet soleat libris sit, et modus illum sea. Id usu ubique volumus deterruisset, mea ut viderer reformidans complectitur. Ignota meliore eu eam.
-
-Vix mazim ornatus in, populo causae mandamus cu mei, ut malis novum postulant duo. Pro tantas consulatu in, ei nullam labore detraxit sed. Ne nam wisi percipitur. Ea sint nonumy pri. Id mel graeco latine tacimates, eum no habeo laudem iriure, sea putent tritani accommodare id. Pro no rebum decore eripuit.
-
-Alia albucius pro ut. Mea ut ipsum dolor. Qui ea volumus blandit iudicabit, ad sed timeam nominati posidonium, mel ei meis ocurreret mnesarchum. Mei elitr senserit voluptatibus ad, te quod vivendo vix. Vis no perfecto abhorreant, cu appellantur repudiandae mei, at vix mnesarchum honestatis disputationi.
-
-Omnium utamur detraxit te pro, affert nominati has ea. Delectus platonem ius et. Cibo aperiam denique an duo, illud laudem constituam quo id. Inani civibus pertinacia nam an. Luptatum instructior sed at, an elit accommodare sit, vix ne nulla soluta.
\ No newline at end of file
diff --git a/pages/pages/contact/index.md b/pages/pages/contact/index.md
deleted file mode 100644
index 41e13ea..0000000
--- a/pages/pages/contact/index.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: "Contact me"
-layout: page
-path: "/contact"
----
-
-Lorem ipsum dolor sit amet, in summo tamquam mea, gubergren laboramus torquatos usu ne, magna rationibus sit eu. Id constituam honestatis pri, iracundia adversarium vel te. Per ferri aliquam impedit ex. Ei nec elitr nonumy vidisse, et qui fierent maluisset sadipscing, tincidunt vituperata delicatissimi te quo.
-
-Te est iisque volutpat, tacimates dissentias no ius. Ea eam quodsi omnium deseruisse, affert evertitur sententiae sea ei. Dicit minimum at quo, nulla ludus vivendum cu mea, audire reformidans mei id. In his deserunt tincidunt, cu stet soleat libris sit, et modus illum sea. Id usu ubique volumus deterruisset, mea ut viderer reformidans complectitur. Ignota meliore eu eam.
-
-Vix mazim ornatus in, populo causae mandamus cu mei, ut malis novum postulant duo. Pro tantas consulatu in, ei nullam labore detraxit sed. Ne nam wisi percipitur. Ea sint nonumy pri. Id mel graeco latine tacimates, eum no habeo laudem iriure, sea putent tritani accommodare id. Pro no rebum decore eripuit.
-
-Alia albucius pro ut. Mea ut ipsum dolor. Qui ea volumus blandit iudicabit, ad sed timeam nominati posidonium, mel ei meis ocurreret mnesarchum. Mei elitr senserit voluptatibus ad, te quod vivendo vix. Vis no perfecto abhorreant, cu appellantur repudiandae mei, at vix mnesarchum honestatis disputationi.
-
-Omnium utamur detraxit te pro, affert nominati has ea. Delectus platonem ius et. Cibo aperiam denique an duo, illud laudem constituam quo id. Inani civibus pertinacia nam an. Luptatum instructior sed at, an elit accommodare sit, vix ne nulla soluta.
\ No newline at end of file
diff --git a/src/assets/fonts/fontello-771c82e0/LICENSE.txt b/src/assets/fonts/fontello-771c82e0/LICENSE.txt
new file mode 100644
index 0000000..8fa3da3
--- /dev/null
+++ b/src/assets/fonts/fontello-771c82e0/LICENSE.txt
@@ -0,0 +1,12 @@
+Font license info
+
+
+## Font Awesome
+
+ Copyright (C) 2016 by Dave Gandy
+
+ Author: Dave Gandy
+ License: SIL ()
+ Homepage: http://fortawesome.github.com/Font-Awesome/
+
+
diff --git a/src/assets/fonts/fontello-771c82e0/README.txt b/src/assets/fonts/fontello-771c82e0/README.txt
new file mode 100644
index 0000000..beaab33
--- /dev/null
+++ b/src/assets/fonts/fontello-771c82e0/README.txt
@@ -0,0 +1,75 @@
+This webfont is generated by http://fontello.com open source project.
+
+
+================================================================================
+Please, note, that you should obey original font licenses, used to make this
+webfont pack. Details available in LICENSE.txt file.
+
+- Usually, it's enough to publish content of LICENSE.txt file somewhere on your
+ site in "About" section.
+
+- If your project is open-source, usually, it will be ok to make LICENSE.txt
+ file publicly available in your repository.
+
+- Fonts, used in Fontello, don't require a clickable link on your site.
+ But any kind of additional authors crediting is welcome.
+================================================================================
+
+
+Comments on archive content
+---------------------------
+
+- /font/* - fonts in different formats
+
+- /css/* - different kinds of css, for all situations. Should be ok with
+ twitter bootstrap. Also, you can skip style and assign icon classes
+ directly to text elements, if you don't mind about IE7.
+
+- demo.html - demo file, to show your webfont content
+
+- LICENSE.txt - license info about source fonts, used to build your one.
+
+- config.json - keeps your settings. You can import it back into fontello
+ anytime, to continue your work
+
+
+Why so many CSS files ?
+-----------------------
+
+Because we like to fit all your needs :)
+
+- basic file, .css - is usually enough, it contains @font-face
+ and character code definitions
+
+- *-ie7.css - if you need IE7 support, but still don't wish to put char codes
+ directly into html
+
+- *-codes.css and *-ie7-codes.css - if you like to use your own @font-face
+ rules, but still wish to benefit from css generation. That can be very
+ convenient for automated asset build systems. When you need to update font -
+ no need to manually edit files, just override old version with archive
+ content. See fontello source code for examples.
+
+- *-embedded.css - basic css file, but with embedded WOFF font, to avoid
+ CORS issues in Firefox and IE9+, when fonts are hosted on the separate domain.
+ We strongly recommend to resolve this issue by `Access-Control-Allow-Origin`
+ server headers. But if you ok with dirty hack - this file is for you. Note,
+ that data url moved to separate @font-face to avoid problems with
+
+
+
+
+
+
+
+
+
+ fontello
+ font demo
+
+
+
+
+
+
icon-mail0xe800
+
icon-twitter0xf099
+
icon-facebook0xf09a
+
icon-rss0xf09e
+
+
+
icon-linkedin0xf0e1
+
icon-github0xf113
+
icon-stackoverflow0xf16c
+
icon-instagram0xf16d
+
+
+
icon-tumblr0xf173
+
icon-dribbble0xf17d
+
icon-skype0xf17e
+
icon-vkontakte0xf189
+
+
+
icon-slack0xf198
+
icon-paper-plane0xf1d8
+
icon-whatsapp0xf232
+
icon-odnoklassniki0xf263
+
+
+
+
+
\ No newline at end of file
diff --git a/src/assets/fonts/fontello-771c82e0/font/fontello.eot b/src/assets/fonts/fontello-771c82e0/font/fontello.eot
new file mode 100644
index 0000000..ce63906
Binary files /dev/null and b/src/assets/fonts/fontello-771c82e0/font/fontello.eot differ
diff --git a/src/assets/fonts/fontello-771c82e0/font/fontello.svg b/src/assets/fonts/fontello-771c82e0/font/fontello.svg
new file mode 100644
index 0000000..05e20b9
--- /dev/null
+++ b/src/assets/fonts/fontello-771c82e0/font/fontello.svg
@@ -0,0 +1,42 @@
+
+
+
\ No newline at end of file
diff --git a/src/assets/fonts/fontello-771c82e0/font/fontello.ttf b/src/assets/fonts/fontello-771c82e0/font/fontello.ttf
new file mode 100644
index 0000000..cdebc64
Binary files /dev/null and b/src/assets/fonts/fontello-771c82e0/font/fontello.ttf differ
diff --git a/src/assets/fonts/fontello-771c82e0/font/fontello.woff b/src/assets/fonts/fontello-771c82e0/font/fontello.woff
new file mode 100644
index 0000000..fabd68f
Binary files /dev/null and b/src/assets/fonts/fontello-771c82e0/font/fontello.woff differ
diff --git a/src/assets/fonts/fontello-771c82e0/font/fontello.woff2 b/src/assets/fonts/fontello-771c82e0/font/fontello.woff2
new file mode 100644
index 0000000..7e411fc
Binary files /dev/null and b/src/assets/fonts/fontello-771c82e0/font/fontello.woff2 differ
diff --git a/src/assets/scss/_base.scss b/src/assets/scss/_base.scss
new file mode 100644
index 0000000..578feca
--- /dev/null
+++ b/src/assets/scss/_base.scss
@@ -0,0 +1,5 @@
+@charset "UTF-8";
+
+@import "base/normalize";
+@import "base/generic";
+@import "base/highlight";
\ No newline at end of file
diff --git a/src/assets/scss/_mixins.scss b/src/assets/scss/_mixins.scss
new file mode 100644
index 0000000..783c4f1
--- /dev/null
+++ b/src/assets/scss/_mixins.scss
@@ -0,0 +1,6 @@
+@charset "UTF-8";
+
+@import "mixins/breakpoints";
+@import "mixins/margin";
+@import "mixins/padding";
+@import "mixins/line-height";
\ No newline at end of file
diff --git a/src/assets/scss/_pages.scss b/src/assets/scss/_pages.scss
new file mode 100644
index 0000000..a6ba449
--- /dev/null
+++ b/src/assets/scss/_pages.scss
@@ -0,0 +1,4 @@
+@charset "UTF-8";
+
+@import "pages/tags";
+@import "pages/categories";
\ No newline at end of file
diff --git a/src/assets/scss/_variables.scss b/src/assets/scss/_variables.scss
new file mode 100644
index 0000000..f87df2e
--- /dev/null
+++ b/src/assets/scss/_variables.scss
@@ -0,0 +1,37 @@
+/**
+ * Variables
+ */
+
+// Colors
+$color-base: #222;
+$color-primary: #5d93ff;
+$color-secondary: #f7a046;
+
+$color-white: lighten($color-base, 100%);
+$color-gray: lighten($color-base, 40%);
+$color-gray-border: lighten($color-base, 77%);
+$color-gray-bg: lighten($color-base, 79%);
+
+// Typographic
+$typographic-font-family: "Roboto", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
+
+$typographic-root-font-size: 100;
+$typographic-base-font-size: 16px;
+$typographic-small-font-size: 14px;
+
+$typographic-base-line-height: 1.625;
+
+$typographic-base-font-color: $color-base;
+$typographic-link-p-font-color: $color-primary;
+$typographic-link-s-font-color: $color-secondary;
+
+$typographic-leading: round(16 * ($typographic-root-font-size / 100) * $typographic-base-line-height);
+
+// Layout
+$layout-post-single-max-width: 945px;
+$layout-post-single-width: $layout-post-single-max-width - 305px;
+
+$layout-width: 1070px;
+$layout-breakpoint-sm: 685px;
+$layout-breakpoint-md: 960px;
+$layout-breakpoint-lg: 1100px;
diff --git a/src/assets/scss/base/_generic.scss b/src/assets/scss/base/_generic.scss
new file mode 100644
index 0000000..a00ad1c
--- /dev/null
+++ b/src/assets/scss/base/_generic.scss
@@ -0,0 +1,182 @@
+/**
+ * Generic
+ */
+
+html {
+ font-size: $typographic-root-font-size;
+}
+
+body {
+ font-family: $typographic-font-family;
+ color: $typographic-base-font-color;
+ line-height: $typographic-base-line-height;
+ font-size: $typographic-base-font-size;
+ -ms-text-size-adjust: 100%;
+ -webkit-text-size-adjust: 100%;
+ text-rendering: optimizeLegibility;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ font-family: $typographic-font-family;
+ font-weight: 500;
+}
+
+h1 {
+ font-size: $typographic-base-font-size * 2.5;
+ @include line-height(2);
+ @include margin-top(4);
+ @include margin-bottom(1);
+}
+
+h2 {
+ font-size: $typographic-base-font-size * 1.6875;
+ @include line-height(1.5);
+ @include margin-top(2);
+ @include margin-bottom(.5);
+}
+
+h3 {
+ font-size: $typographic-base-font-size * 1.375;
+ @include line-height(1);
+ @include margin-top(2);
+ @include margin-bottom(.5);
+}
+
+h4 {
+ font-size: $typographic-base-font-size * 1.2;
+ @include line-height(1);
+ @include margin-top(1.5);
+ @include margin-bottom(.5);
+}
+
+h5 {
+ font-size: $typographic-base-font-size;
+ @include line-height(1);
+ @include margin-top(2.5);
+ @include margin-bottom(.5);
+}
+
+h6 {
+ font-size: $typographic-base-font-size;
+ @include line-height(1);
+ @include margin-top(2.5);
+ @include margin-bottom(.5);
+}
+
+img {
+ border: 0;
+ max-width: 100%;
+ display: block;
+ margin: inherit auto;
+}
+
+hr {
+ margin-top: 52px;
+ margin-bottom: 52px;
+ border: 0;
+ color: $color-base;
+ display: block;
+ height: 26px;
+ margin-right: auto;
+ margin-left: auto;
+ background-size: 100% 26px;
+ background-image: linear-gradient(to bottom, transparent 1px, transparent 11px, $color-base 11px, $color-base 15px, transparent 15px, transparent 26px);
+ width: 100px;
+}
+
+a {
+ color: $typographic-link-p-font-color;
+ text-decoration: none;
+ &:hover,
+ &:focus,
+ &:active {
+ color: $typographic-link-s-font-color;
+ }
+}
+
+b,
+strong {
+ font-weight: 500;
+}
+
+ul {
+ list-style: square;
+ @include margin-bottom(1);
+ & li {
+ padding: 0 5px;
+ margin-bottom: 10px;
+ }
+}
+
+p {
+ @include line-height(1);
+ @include margin-bottom(1);
+}
+
+blockquote {
+ padding: 0;
+ font-style: italic;
+ text-align: center;
+}
+
+figure {
+ display: block;
+ width: 100%;
+ height: auto;
+}
+
+figcaption {
+ @include line-height(.75);
+ @include margin-top(.25);
+ color: $color-base;
+ font-size: $typographic-small-font-size;
+ font-style: italic;
+ margin-bottom: 0;
+ text-align: center;
+}
+
+.layout {
+ lost-center: $layout-width;
+}
+
+.content {
+ &__inner {
+ padding: 25px 20px;
+ }
+}
+
+@include breakpoint-sm {
+ figure.float-left,
+ figure.float-right {
+ max-width: 310px;
+ @include padding(0, 1, 0, 1);
+ }
+ .float-right {
+ float: right;
+ }
+ .float-left {
+ float: left;
+ }
+ .content {
+ lost-column: 7/12;
+ &__inner {
+ padding: 30px 20px;
+ }
+ }
+}
+
+@include breakpoint-md {
+ .content {
+ lost-column: 2/3;
+ &__inner {
+ padding: 40px 35px;
+ }
+ }
+}
diff --git a/src/assets/scss/base/_highlight.scss b/src/assets/scss/base/_highlight.scss
new file mode 100644
index 0000000..fe19882
--- /dev/null
+++ b/src/assets/scss/base/_highlight.scss
@@ -0,0 +1,137 @@
+/**
+ * prism.js default theme for JavaScript, CSS and HTML
+ * Based on dabblet (http://dabblet.com)
+ * @author Lea Verou
+ */
+
+code[class*="language-"],
+pre[class*="language-"] {
+ color: black;
+ background: none;
+ text-shadow: 0 1px white;
+ font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+ text-align: left;
+ white-space: pre;
+ word-spacing: normal;
+ word-break: normal;
+ word-wrap: normal;
+ line-height: 1.5;
+
+ -moz-tab-size: 4;
+ -o-tab-size: 4;
+ tab-size: 4;
+
+ -webkit-hyphens: none;
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
+}
+
+pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
+ text-shadow: none;
+ background: #b3d4fc;
+}
+
+pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
+code[class*="language-"]::selection, code[class*="language-"] ::selection {
+ text-shadow: none;
+ background: #b3d4fc;
+}
+
+@media print {
+ code[class*="language-"],
+ pre[class*="language-"] {
+ text-shadow: none;
+ }
+}
+
+/* Code blocks */
+pre[class*="language-"] {
+ padding: 1em;
+ margin: .5em 0;
+ overflow: auto;
+}
+
+:not(pre) > code[class*="language-"],
+pre[class*="language-"] {
+ background: #f5f2f0;
+}
+
+/* Inline code */
+:not(pre) > code[class*="language-"] {
+ padding: .1em;
+ border-radius: .3em;
+ white-space: normal;
+}
+
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+ color: slategray;
+}
+
+.token.punctuation {
+ color: #999;
+}
+
+.namespace {
+ opacity: .7;
+}
+
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.constant,
+.token.symbol,
+.token.deleted {
+ color: #905;
+}
+
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+ color: #690;
+}
+
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string {
+ color: #a67f59;
+ background: hsla(0, 0%, 100%, .5);
+}
+
+.token.atrule,
+.token.attr-value,
+.token.keyword {
+ color: #07a;
+}
+
+.token.function {
+ color: #DD4A68;
+}
+
+.token.regex,
+.token.important,
+.token.variable {
+ color: #e90;
+}
+
+.token.important,
+.token.bold {
+ font-weight: bold;
+}
+.token.italic {
+ font-style: italic;
+}
+
+.token.entity {
+ cursor: help;
+}
diff --git a/src/assets/scss/base/_normalize.scss b/src/assets/scss/base/_normalize.scss
new file mode 100644
index 0000000..21cd194
--- /dev/null
+++ b/src/assets/scss/base/_normalize.scss
@@ -0,0 +1,461 @@
+/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
+
+/**
+ * 1. Change the default font family in all browsers (opinionated).
+ * 2. Correct the line height in all browsers.
+ * 3. Prevent adjustments of font size after orientation changes in
+ * IE on Windows Phone and in iOS.
+ */
+
+/* Document
+ ========================================================================== */
+
+html {
+ font-family: sans-serif; /* 1 */
+ line-height: 1.15; /* 2 */
+ -ms-text-size-adjust: 100%; /* 3 */
+ -webkit-text-size-adjust: 100%; /* 3 */
+}
+
+/* Sections
+ ========================================================================== */
+
+/**
+ * Remove the margin in all browsers (opinionated).
+ */
+
+body {
+ margin: 0;
+}
+
+/**
+ * Add the correct display in IE 9-.
+ */
+
+article,
+aside,
+footer,
+header,
+nav,
+section {
+ display: block;
+}
+
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+/* Grouping content
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 9-.
+ * 1. Add the correct display in IE.
+ */
+
+figcaption,
+figure,
+main { /* 1 */
+ display: block;
+}
+
+/**
+ * Add the correct margin in IE 8.
+ */
+
+figure {
+ margin: 1em 40px;
+}
+
+/**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
+
+hr {
+ box-sizing: content-box; /* 1 */
+ height: 0; /* 1 */
+ overflow: visible; /* 2 */
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+pre {
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
+}
+
+/* Text-level semantics
+ ========================================================================== */
+
+/**
+ * 1. Remove the gray background on active links in IE 10.
+ * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
+ */
+
+a {
+ background-color: transparent; /* 1 */
+ -webkit-text-decoration-skip: objects; /* 2 */
+}
+
+/**
+ * Remove the outline on focused links when they are also active or hovered
+ * in all browsers (opinionated).
+ */
+
+a:active,
+a:hover {
+ outline-width: 0;
+}
+
+/**
+ * 1. Remove the bottom border in Firefox 39-.
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
+
+abbr[title] {
+ border-bottom: none; /* 1 */
+ text-decoration: underline; /* 2 */
+ text-decoration: underline dotted; /* 2 */
+}
+
+/**
+ * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
+ */
+
+b,
+strong {
+ font-weight: inherit;
+}
+
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+code,
+kbd,
+samp {
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
+}
+
+/**
+ * Add the correct font style in Android 4.3-.
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/**
+ * Add the correct background and color in IE 9-.
+ */
+
+mark {
+ background-color: #ff0;
+ color: #000;
+}
+
+/**
+ * Add the correct font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+sup {
+ top: -0.5em;
+}
+
+/* Embedded content
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 9-.
+ */
+
+audio,
+video {
+ display: inline-block;
+}
+
+/**
+ * Add the correct display in iOS 4-7.
+ */
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+/**
+ * Remove the border on images inside links in IE 10-.
+ */
+
+img {
+ border-style: none;
+}
+
+/**
+ * Hide the overflow in IE.
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+/* Forms
+ ========================================================================== */
+
+/**
+ * 1. Change the font styles in all browsers (opinionated).
+ * 2. Remove the margin in Firefox and Safari.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ font-family: sans-serif; /* 1 */
+ font-size: 100%; /* 1 */
+ line-height: 1.15; /* 1 */
+ margin: 0; /* 2 */
+}
+
+/**
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
+ */
+
+button,
+input { /* 1 */
+ overflow: visible;
+}
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+
+button,
+select { /* 1 */
+ text-transform: none;
+}
+
+/**
+ * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
+ * controls in Android 4.
+ * 2. Correct the inability to style clickable types in iOS and Safari.
+ */
+
+button,
+html [type="button"], /* 1 */
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button; /* 2 */
+}
+
+/**
+ * Remove the inner border and padding in Firefox.
+ */
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ border-style: none;
+ padding: 0;
+}
+
+/**
+ * Restore the focus styles unset by the previous rule.
+ */
+
+button:-moz-focusring,
+[type="button"]:-moz-focusring,
+[type="reset"]:-moz-focusring,
+[type="submit"]:-moz-focusring {
+ outline: 1px dotted ButtonText;
+}
+
+/**
+ * Change the border, margin, and padding in all browsers (opinionated).
+ */
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ * `fieldset` elements in all browsers.
+ */
+
+legend {
+ box-sizing: border-box; /* 1 */
+ color: inherit; /* 2 */
+ display: table; /* 1 */
+ max-width: 100%; /* 1 */
+ padding: 0; /* 3 */
+ white-space: normal; /* 1 */
+}
+
+/**
+ * 1. Add the correct display in IE 9-.
+ * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+
+progress {
+ display: inline-block; /* 1 */
+ vertical-align: baseline; /* 2 */
+}
+
+/**
+ * Remove the default vertical scrollbar in IE.
+ */
+
+textarea {
+ overflow: auto;
+}
+
+/**
+ * 1. Add the correct box sizing in IE 10-.
+ * 2. Remove the padding in IE 10-.
+ */
+
+[type="checkbox"],
+[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Correct the cursor style of increment and decrement buttons in Chrome.
+ */
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+
+[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ outline-offset: -2px; /* 2 */
+}
+
+/**
+ * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
+ */
+
+[type="search"]::-webkit-search-cancel-button,
+[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
+ */
+
+::-webkit-file-upload-button {
+ -webkit-appearance: button; /* 1 */
+ font: inherit; /* 2 */
+}
+
+/* Interactive
+ ========================================================================== */
+
+/*
+ * Add the correct display in IE 9-.
+ * 1. Add the correct display in Edge, IE, and Firefox.
+ */
+
+details, /* 1 */
+menu {
+ display: block;
+}
+
+/*
+ * Add the correct display in all browsers.
+ */
+
+summary {
+ display: list-item;
+}
+
+/* Scripting
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 9-.
+ */
+
+canvas {
+ display: inline-block;
+}
+
+/**
+ * Add the correct display in IE.
+ */
+
+template {
+ display: none;
+}
+
+/* Hidden
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 10-.
+ */
+
+[hidden] {
+ display: none;
+}
\ No newline at end of file
diff --git a/src/assets/scss/init.scss b/src/assets/scss/init.scss
new file mode 100644
index 0000000..23d512c
--- /dev/null
+++ b/src/assets/scss/init.scss
@@ -0,0 +1,6 @@
+@charset "UTF-8";
+
+@import "variables";
+@import "mixins";
+@import "base";
+@import "pages";
\ No newline at end of file
diff --git a/src/assets/scss/mixins/_breakpoints.scss b/src/assets/scss/mixins/_breakpoints.scss
new file mode 100644
index 0000000..f7909ed
--- /dev/null
+++ b/src/assets/scss/mixins/_breakpoints.scss
@@ -0,0 +1,25 @@
+/**
+ * Breakpoints
+ */
+
+@mixin breakpoint-xs {
+ @content;
+}
+
+@mixin breakpoint-sm {
+ @media screen and (min-width: $layout-breakpoint-sm) {
+ @content;
+ }
+}
+
+@mixin breakpoint-md {
+ @media screen and (min-width: $layout-breakpoint-md) {
+ @content;
+ }
+}
+
+@mixin breakpoint-lg {
+ @media screen and (min-width: $layout-breakpoint-lg) {
+ @content
+ }
+}
diff --git a/src/assets/scss/mixins/_line-height.scss b/src/assets/scss/mixins/_line-height.scss
new file mode 100644
index 0000000..24b3fe4
--- /dev/null
+++ b/src/assets/scss/mixins/_line-height.scss
@@ -0,0 +1,7 @@
+/**
+ * Line-Height
+ */
+
+@mixin line-height($number) {
+ line-height: #{ $number * $typographic-leading + "px"};
+}
diff --git a/src/assets/scss/mixins/_margin.scss b/src/assets/scss/mixins/_margin.scss
new file mode 100644
index 0000000..fdc93f8
--- /dev/null
+++ b/src/assets/scss/mixins/_margin.scss
@@ -0,0 +1,23 @@
+/**
+ * Margin
+ */
+
+@mixin margin-top($number) {
+ margin-top: #{ $number * $typographic-leading + "px"};
+}
+
+@mixin margin-bottom($number) {
+ margin-bottom: #{ $number * $typographic-leading + "px"};
+}
+
+@mixin margin($top, $right, $bottom:null, $left:null) {
+ @if $left==null and $bottom==null {
+ margin: #{ $top * $typographic-leading + "px"} #{ $right * $typographic-leading + "px"};
+ }
+ @else if $left==null or $left==$right {
+ margin: #{ $top * $typographic-leading + "px"} #{ $right * $typographic-leading + "px"} #{ $bottom * $typographic-leading + "px"};
+ }
+ @else {
+ margin: #{ $top * $typographic-leading + "px"} #{ $right * $typographic-leading + "px"} #{ $bottom * $typographic-leading + "px"} #{ $left * $typographic-leading + "px"};
+ }
+}
diff --git a/src/assets/scss/mixins/_padding.scss b/src/assets/scss/mixins/_padding.scss
new file mode 100644
index 0000000..77858e4
--- /dev/null
+++ b/src/assets/scss/mixins/_padding.scss
@@ -0,0 +1,19 @@
+/**
+ * Padding
+ */
+
+@mixin padding($top, $right, $bottom:null, $left:null) {
+ @if $left==null and $bottom==null {
+ padding: #{ $top * $typographic-leading + "px"} #{ $right * $typographic-leading + "px"};
+ }
+ @else if $left==null or $left==$right {
+ padding: #{ $top * $typographic-leading + "px"} #{ $right * $typographic-leading + "px"} #{ $bottom * $typographic-leading + "px"};
+ }
+ @else {
+ padding: #{ $top * $typographic-leading + "px"} #{ $right * $typographic-leading + "px"} #{ $bottom * $typographic-leading + "px"} #{ $left * $typographic-leading + "px"};
+ }
+}
+
+@mixin padding-equal($number) {
+ padding: #{ $number * $typographic-leading + "px"};
+}
diff --git a/src/assets/scss/pages/_categories.scss b/src/assets/scss/pages/_categories.scss
new file mode 100644
index 0000000..f919ae4
--- /dev/null
+++ b/src/assets/scss/pages/_categories.scss
@@ -0,0 +1,18 @@
+/**
+ * Categories
+ */
+
+.categories {
+ &__list {
+ &-item {
+ &-link {
+ color: $color-base;
+ &:hover,
+ &:focus {
+ color: $color-primary;
+ border-bottom: 1px solid $color-primary;
+ }
+ }
+ }
+ }
+}
diff --git a/src/assets/scss/pages/_tags.scss b/src/assets/scss/pages/_tags.scss
new file mode 100644
index 0000000..e1ceb21
--- /dev/null
+++ b/src/assets/scss/pages/_tags.scss
@@ -0,0 +1,18 @@
+/**
+ * Tags
+ */
+
+.tags {
+ &__list {
+ &-item {
+ &-link {
+ color: $color-base;
+ &:hover,
+ &:focus {
+ color: $color-primary;
+ border-bottom: 1px solid $color-primary;
+ }
+ }
+ }
+ }
+}
diff --git a/src/components/CategoryTemplateDetails/index.jsx b/src/components/CategoryTemplateDetails/index.jsx
new file mode 100644
index 0000000..8fc7d98
--- /dev/null
+++ b/src/components/CategoryTemplateDetails/index.jsx
@@ -0,0 +1,44 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import Post from '../Post';
+
+class CategoryTemplateDetails extends React.Component {
+ render() {
+ const items = [];
+ const category = this.props.pathContext.category;
+ const posts = this.props.data.allMarkdownRemark.edges;
+ posts.forEach((post) => {
+ items.push(
+
+ );
+ });
+
+ return (
+
You just hit a route that doesn't exist... the sadness.
+
+
+
+
+
+ );
+ }
+}
+
+export default NotFoundRoute;
+
+export const pageQuery = graphql`
+ query NotFoundQuery {
+ site {
+ siteMetadata {
+ title
+ subtitle
+ copyright
+ menu {
+ label
+ path
+ }
+ author {
+ name
+ email
+ telegram
+ twitter
+ github
+ rss
+ vk
+ }
+ }
+ }
+ }
+`;
diff --git a/src/pages/articles/2016-01-09---Perfecting-the-Art-of-Perfection/1.jpg b/src/pages/articles/2016-01-09---Perfecting-the-Art-of-Perfection/1.jpg
new file mode 100644
index 0000000..76604d7
Binary files /dev/null and b/src/pages/articles/2016-01-09---Perfecting-the-Art-of-Perfection/1.jpg differ
diff --git a/src/pages/articles/2016-01-09---Perfecting-the-Art-of-Perfection/index.md b/src/pages/articles/2016-01-09---Perfecting-the-Art-of-Perfection/index.md
new file mode 100644
index 0000000..e031cfb
--- /dev/null
+++ b/src/pages/articles/2016-01-09---Perfecting-the-Art-of-Perfection/index.md
@@ -0,0 +1,20 @@
+---
+title: Perfecting the Art of Perfection
+date: "2016-09-01T23:46:37.121Z"
+layout: post
+draft: false
+path: "/posts/perfecting-the-art-of-perfection/"
+category: "Design Inspiration"
+tags:
+ - "Handwriting"
+ - "Learning to write"
+description: "Quisque cursus, metus vitae pharetra auctor, sem massa mattis sem, at interdum magna augue eget diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi lacinia molestie dui. Praesent blandit dolor. Sed non quam. In vel mi sit amet augue congue elementum."
+---
+
+Quisque cursus, metus vitae pharetra auctor, sem massa mattis sem, at interdum magna augue eget diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi lacinia molestie dui. Praesent blandit dolor. Sed non quam. In vel mi sit amet augue congue elementum.
+
+
+
+Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis.
+
+Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.
\ No newline at end of file
diff --git a/src/pages/articles/2016-01-12---The-Origins-of-Social-Stationery-Lettering/1.jpg b/src/pages/articles/2016-01-12---The-Origins-of-Social-Stationery-Lettering/1.jpg
new file mode 100644
index 0000000..73e2915
Binary files /dev/null and b/src/pages/articles/2016-01-12---The-Origins-of-Social-Stationery-Lettering/1.jpg differ
diff --git a/src/pages/articles/2016-01-12---The-Origins-of-Social-Stationery-Lettering/index.md b/src/pages/articles/2016-01-12---The-Origins-of-Social-Stationery-Lettering/index.md
new file mode 100644
index 0000000..2077b98
--- /dev/null
+++ b/src/pages/articles/2016-01-12---The-Origins-of-Social-Stationery-Lettering/index.md
@@ -0,0 +1,52 @@
+---
+title: The Origins of Social Stationery Lettering
+date: "2016-12-01T22:40:32.169Z"
+layout: post
+draft: false
+path: "/posts/the-origins-of-social-stationery-lettering"
+category: "Design Culture"
+tags:
+ - "Typefaces"
+ - "Lettering"
+ - "History"
+description: "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante."
+---
+
+**Pellentesque habitant morbi tristique** senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. *Aenean ultricies mi vitae est.* Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra.
+
+Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. [Donec non enim](#) in turpis pulvinar facilisis.
+
+
+
+## Header Level 2
+
++ Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
++ Aliquam tincidunt mauris eu risus.
+
+Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat.
+
+
+
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.
+
+
+
+
+### Header Level 3
+
++ Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
++ Aliquam tincidunt mauris eu risus.
+
+Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra.
+
+```css
+#header h1 a {
+ display: block;
+ width: 300px;
+ height: 80px;
+}
+```
+
+Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.
\ No newline at end of file
diff --git a/src/pages/articles/2016-02-02---A-Brief-History-of-Typography/1.jpg b/src/pages/articles/2016-02-02---A-Brief-History-of-Typography/1.jpg
new file mode 100644
index 0000000..d84a763
Binary files /dev/null and b/src/pages/articles/2016-02-02---A-Brief-History-of-Typography/1.jpg differ
diff --git a/src/pages/articles/2016-02-02---A-Brief-History-of-Typography/index.md b/src/pages/articles/2016-02-02---A-Brief-History-of-Typography/index.md
new file mode 100644
index 0000000..a064e51
--- /dev/null
+++ b/src/pages/articles/2016-02-02---A-Brief-History-of-Typography/index.md
@@ -0,0 +1,53 @@
+---
+title: "A Brief History of Typography"
+date: "2016-02-02T22:40:32.169Z"
+layout: post
+draft: false
+path: "/posts/a-brief-history-of-typography/"
+category: "Design Inspiration"
+tags:
+ - "Linotype"
+ - "Monotype"
+ - "History of typography"
+ - "Helvetica"
+description: "Morbi in sem quis dui placerat ornare. Pellentesque odio nisi, euismod in, pharetra a, ultricies in, diam. Sed arcu. Cras consequat."
+---
+
+**Pellentesque habitant morbi tristique** senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. *Aenean ultricies mi vitae est.* Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra.
+
+Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. [Donec non enim](#) in turpis pulvinar facilisis.
+
+
+
+## Header Level 2
+
++ Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
++ Aliquam tincidunt mauris eu risus.
+
+Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat.
+
+
+
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.
+
+
+
+
+### Header Level 3
+
++ Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
++ Aliquam tincidunt mauris eu risus.
+
+Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra.
+
+```css
+#header h1 a {
+ display: block;
+ width: 300px;
+ height: 80px;
+}
+```
+
+Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.
\ No newline at end of file
diff --git a/pages/articles/2015-05-01-hello-world/Gutenberg.jpg b/src/pages/articles/2017-18-08---The-Birth-of-Movable-Type/Gutenberg.jpg
similarity index 100%
rename from pages/articles/2015-05-01-hello-world/Gutenberg.jpg
rename to src/pages/articles/2017-18-08---The-Birth-of-Movable-Type/Gutenberg.jpg
diff --git a/pages/articles/2015-05-01-hello-world/Printing-press.png b/src/pages/articles/2017-18-08---The-Birth-of-Movable-Type/Printing-press.png
similarity index 100%
rename from pages/articles/2015-05-01-hello-world/Printing-press.png
rename to src/pages/articles/2017-18-08---The-Birth-of-Movable-Type/Printing-press.png
diff --git a/pages/articles/2015-05-01-hello-world/index.md b/src/pages/articles/2017-18-08---The-Birth-of-Movable-Type/index.md
similarity index 82%
rename from pages/articles/2015-05-01-hello-world/index.md
rename to src/pages/articles/2017-18-08---The-Birth-of-Movable-Type/index.md
index a4e03d7..3bde860 100644
--- a/pages/articles/2015-05-01-hello-world/index.md
+++ b/src/pages/articles/2017-18-08---The-Birth-of-Movable-Type/index.md
@@ -1,16 +1,23 @@
---
-title: "The Birth of Movable Type"
-date: "2016-03-01T22:12:03.284Z"
+title: "Johannes Gutenberg: The Birth of Movable Type"
+date: "2017-08-18T22:12:03.284Z"
layout: post
-path: "/hello-world/"
-category: "Typography TESTS"
+draft: false
+path: "/posts/the-birth-of-movable-type/"
+category: "Typography"
+tags:
+ - "Open source"
+ - "Gatsby"
+ - "Typography"
description: "German inventor Johannes Gutenberg developed a method of movable type and used it to create one of the western world’s first major printed books, the “Forty–Two–Line” Bible."
---
-Johannes Gensfleisch zur Laden zum Gutenberg (c. 1398 – 1468) was a German blacksmith, goldsmith, printer, and publisher who introduced printing to Europe. His invention of mechanical movable type printing started the Printing Revolution and is widely regarded as the most important event of the modern period. It played a key role in the development of the Renaissance, Reformation, the Age of Enlightenment, and the Scientific revolution and laid the material basis for the modern knowledge-based economy and the spread of learning to the masses.
+German inventor Johannes Gutenberg developed a method of movable type and used it to create one of the western world’s first major printed books, the “Forty–Two–Line” Bible.
-
-
+**Johannes Gensfleisch zur Laden zum Gutenberg** (c. 1398 – 1468) was a German blacksmith, goldsmith, printer, and publisher who introduced printing to Europe. His invention of mechanical movable type printing started the Printing Revolution and is widely regarded as the most important event of the modern period. It played a key role in the development of the Renaissance, Reformation, the Age of Enlightenment, and the Scientific revolution and laid the material basis for the modern knowledge-based economy and the spread of learning to the masses.
+
+
+ Johannes Gutenberg
@@ -26,8 +33,8 @@ His major work, the Gutenberg Bible (also known as the 42-line Bible), has been
Around 1439, Gutenberg was involved in a financial misadventure making polished metal mirrors (which were believed to capture holy light from religious relics) for sale to pilgrims to Aachen: in 1439 the city was planning to exhibit its collection of relics from Emperor Charlemagne but the event was delayed by one year due to a severe flood and the capital already spent could not be repaid. When the question of satisfying the investors came up, Gutenberg is said to have promised to share a “secret”. It has been widely speculated that this secret may have been the idea of printing with movable type. Also around 1439–1440, the Dutch Laurens Janszoon Coster came up with the idea of printing. Legend has it that the idea came to him “like a ray of light”.
-
-
+
+ Early wooden printing press as depicted in 1568.
@@ -35,9 +42,14 @@ Until at least 1444 he lived in Strasbourg, most likely in the St. Arbogast pari
By 1450, the press was in operation, and a German poem had been printed, possibly the first item to be printed there. Gutenberg was able to convince the wealthy moneylender Johann Fust for a loan of 800 guilders. Peter Schöffer, who became Fust’s son-in-law, also joined the enterprise. Schöffer had worked as a scribe in Paris and is believed to have designed some of the first typefaces.
->All that has been written to me about that marvelous man seen at Frankfurt is true. I have not seen complete Bibles but only a number of quires of various books of the Bible. The script was very neat and legible, not at all difficult to follow—your grace would be able to read it without effort, and indeed without glasses.
-
-—Future pope Pius II in a letter to Cardinal Carvajal, March 1455
+
+
+
All that has been written to me about that marvelous man seen at Frankfurt is true. I have not seen complete Bibles but only a number of quires of various books of the Bible. The script was very neat and legible, not at all difficult to follow—your grace would be able to read it without effort, and indeed without glasses.
+
+
+
Gutenberg's workshop was set up at Hof Humbrecht, a property belonging to a distant relative. It is not clear when Gutenberg conceived the Bible project, but for this he borrowed another 800 guilders from Fust, and work commenced in 1452. At the same time, the press was also printing other, more lucrative texts (possibly Latin grammars). There is also some speculation that there may have been two presses, one for the pedestrian texts, and one for the Bible. One of the profit-making enterprises of the new press was the printing of thousands of indulgences for the church, documented from 1454–55.
@@ -94,16 +106,4 @@ A 1568 history by Hadrianus Junius of Holland claims that the basic idea of the
The 19th century printer and typefounder Fournier Le Jeune suggested that Gutenberg might not have been using type cast with a reusable matrix, but possibly wooden types that were carved individually. A similar suggestion was made by Nash in 2004. This remains possible, albeit entirely unproven.
-It has also been questioned whether Gutenberg used movable types at all. In 2004, Italian professor Bruno Fabbiani claimed that examination of the 42-line Bible revealed an overlapping of letters, suggesting that Gutenberg did not in fact use movable type (individual cast characters) but rather used whole plates made from a system somewhat like a modern typewriter, whereby the letters were stamped successively into the plate and then printed. However, most specialists regard the occasional overlapping of type as caused by paper movement over pieces of type of slightly unequal height.
-
-## Legacy
-
-Although Gutenberg was financially unsuccessful in his lifetime, the printing technologies spread quickly, and news and books began to travel across Europe much faster than before. It fed the growing Renaissance, and since it greatly facilitated scientific publishing, it was a major catalyst for the later scientific revolution.
-
-The capital of printing in Europe shifted to Venice, where visionary printers like Aldus Manutius ensured widespread availability of the major Greek and Latin texts. The claims of an Italian origin for movable type have also focused on this rapid rise of Italy in movable-type printing. This may perhaps be explained by the prior eminence of Italy in the paper and printing trade. Additionally, Italy's economy was growing rapidly at the time, facilitating the spread of literacy. Christopher Columbus had a geographical book (printed by movable types) bought by his father. That book is in a Spanish museum. Finally, the city of Mainz was sacked in 1462, driving many (including a number of printers and punch cutters) into exile.
-
-Printing was also a factor in the Reformation. Martin Luther's 95 Theses were printed and circulated widely; subsequently he issued broadsheets outlining his anti-indulgences position (certificates of indulgences were one of the first items Gutenberg had printed). The broadsheet contributed to development of the newspaper.
-
-In the decades after Gutenberg, many conservative patrons looked down on cheap printed books; books produced by hand were considered more desirable.
-
-Today there is a large antique market for the earliest printed objects. Books printed prior to 1500 are known as incunabula.
\ No newline at end of file
+It has also been questioned whether Gutenberg used movable types at all. In 2004, Italian professor Bruno Fabbiani claimed that examination of the 42-line Bible revealed an overlapping of letters, suggesting that Gutenberg did not in fact use movable type (individual cast characters) but rather used whole plates made from a system somewhat like a modern typewriter, whereby the letters were stamped successively into the plate and then printed. However, most specialists regard the occasional overlapping of type as caused by paper movement over pieces of type of slightly unequal height.
\ No newline at end of file
diff --git a/pages/articles/2015-05-01-hello-world/movable-type.jpg b/src/pages/articles/2017-18-08---The-Birth-of-Movable-Type/movable-type.jpg
similarity index 100%
rename from pages/articles/2015-05-01-hello-world/movable-type.jpg
rename to src/pages/articles/2017-18-08---The-Birth-of-Movable-Type/movable-type.jpg
diff --git a/src/pages/articles/2017-19-08---Humane-Typography-in-the-Digital-Age/42-line-bible.jpg b/src/pages/articles/2017-19-08---Humane-Typography-in-the-Digital-Age/42-line-bible.jpg
new file mode 100644
index 0000000..41c8d12
Binary files /dev/null and b/src/pages/articles/2017-19-08---Humane-Typography-in-the-Digital-Age/42-line-bible.jpg differ
diff --git a/src/pages/articles/2017-19-08---Humane-Typography-in-the-Digital-Age/index.md b/src/pages/articles/2017-19-08---Humane-Typography-in-the-Digital-Age/index.md
new file mode 100644
index 0000000..73adf5e
--- /dev/null
+++ b/src/pages/articles/2017-19-08---Humane-Typography-in-the-Digital-Age/index.md
@@ -0,0 +1,74 @@
+---
+title: Humane Typography in the Digital Age
+date: "2017-08-19T22:40:32.169Z"
+layout: post
+draft: false
+path: "/posts/humane-typography-in-the-digital-age/"
+category: "Typography"
+tags:
+ - "Design"
+ - "Typography"
+ - "Web Development"
+description: "An Essay on Typography by Eric Gill takes the reader back to the year 1930. The year when a conflict between two worlds came to its term. The machines of the industrial world finally took over the handicrafts."
+---
+
+An Essay on Typography by Eric Gill takes the reader back to the year 1930. The year when a conflict between two worlds came to its term. The machines of the industrial world finally took over the handicrafts.
+
+The typography of this industrial age was no longer handcrafted. Mass production and profit became more important. Quantity mattered more than the quality. The books and printed works in general lost a part of its humanity. The typefaces were not produced by craftsmen anymore. It was the machines printing and tying the books together now. The craftsmen had to let go of their craft and became a cog in the process. An extension of the industrial machine.
+
+But the victory of the industrialism didn’t mean that the craftsmen were completely extinct. The two worlds continued to coexist independently. Each recognising the good in the other — the power of industrialism and the humanity of craftsmanship. This was the second transition that would strip typography of a part of its humanity. We have to go 500 years back in time to meet the first one.
+
+## The first transition
+
+A similar conflict emerged after the invention of the first printing press in Europe. Johannes Gutenberg invented movable type and used it to produce different compositions. His workshop could print up to 240 impressions per hour. Until then, the books were being copied by hand. All the books were handwritten and decorated with hand drawn ornaments and figures. A process of copying a book was long but each book, even a copy, was a work of art.
+
+The first printed books were, at first, perceived as inferior to the handwritten ones. They were smaller and cheaper to produce. Movable type provided the printers with flexibility that allowed them to print books in languages other than Latin. Gill describes the transition to industrialism as something that people needed and wanted. Something similar happened after the first printed books emerged. People wanted books in a language they understood and they wanted books they could take with them. They were hungry for knowledge and printed books satisfied this hunger.
+
+
+
+*The 42–Line Bible, printed by Gutenberg.*
+
+But, through this transition, the book lost a large part of its humanity. The machine took over most of the process but craftsmanship was still a part of it. The typefaces were cut manually by the first punch cutters. The paper was made by hand. The illustrations and ornaments were still being hand drawn. These were the remains of the craftsmanship that went almost extinct in the times of Eric Gill.
+
+## The digital age
+
+The first transition took away a large part of humanity from written communication. Industrialisation, the second transition described by Eric Gill, took away most of what was left. But it’s the third transition that stripped it naked. Typefaces are faceless these days. They’re just fonts on our computers. Hardly anyone knows their stories. Hardly anyone cares. Flicking through thousands of typefaces and finding the “right one” is a matter of minutes.
+
+> In the new computer age the proliferation of typefaces and type manipulations represents a new level of visual pollution threatening our culture. Out of thousands of typefaces, all we need are a few basic ones, and trash the rest.
+>
+— Massimo Vignelli
+
+Typography is not about typefaces. It’s not about what looks best, it’s about what feels right. What communicates the message best. Typography, in its essence, is about the message. “Typographical design should perform optically what the speaker creates through voice and gesture of his thoughts.”, as El Lissitzky, a famous Russian typographer, put it.
+
+## Loss of humanity through transitions
+
+Each transition took away a part of humanity from written language. Handwritten books being the most humane form and the digital typefaces being the least. Overuse of Helvetica is a good example. Messages are being told in a typeface just because it’s a safe option. It’s always there. Everyone knows it but yet, nobody knows it. Stop someone on the street and ask him what Helvetica is? Ask a designer the same question. Ask him where it came from, when, why and who designed it. Most of them will fail to answer these questions. Most of them used it in their precious projects but they still don’t spot it in the street.
+
+
+
+
Knowledge of the quality of a typeface is of the greatest importance for the functional, aesthetic and psychological effect.
+
+
+
+
+Typefaces don’t look handmade these days. And that’s all right. They don’t have to. Industrialism took that away from them and we’re fine with it. We’ve traded that part of humanity for a process that produces more books that are easier to read. That can’t be bad. And it isn’t.
+
+> Humane typography will often be comparatively rough and even uncouth; but while a certain uncouthness does not seriously matter in humane works, uncouthness has no excuse whatever in the productions of the machine.
+>
+> — Eric Gill
+
+We’ve come close to “perfection” in the last five centuries. The letters are crisp and without rough edges. We print our compositions with high–precision printers on a high quality, machine made paper.
+
+
+
+*Type through 5 centuries.*
+
+We lost a part of ourselves because of this chase after perfection. We forgot about the craftsmanship along the way. And the worst part is that we don’t care. The transition to the digital age made that clear. We choose typefaces like clueless zombies. There’s no meaning in our work. Type sizes, leading, margins… It’s all just a few clicks or lines of code. The message isn’t important anymore. There’s no more “why” behind the “what”.
+
+## Chasing perfection
+
+Human beings aren’t perfect. Perfection is something that will always elude us. There will always be a small part of humanity in everything we do. No matter how small that part, we should make sure that it transcends the limits of the medium. We have to think about the message first. What typeface should we use and why? Does the typeface match the message and what we want to communicate with it? What will be the leading and why? Will there be more typefaces in our design? On what ground will they be combined? What makes our design unique and why? This is the part of humanity that is left in typography. It might be the last part. Are we really going to give it up?
+
+*Originally published by [Matej Latin](http://matejlatin.co.uk/) on [Medium](https://medium.com/design-notes/humane-typography-in-the-digital-age-9bd5c16199bd?ref=webdesignernews.com#.lygo82z0x).*
\ No newline at end of file
diff --git a/src/pages/articles/2017-19-08---Humane-Typography-in-the-Digital-Age/type-through-time.jpg b/src/pages/articles/2017-19-08---Humane-Typography-in-the-Digital-Age/type-through-time.jpg
new file mode 100644
index 0000000..3f08366
Binary files /dev/null and b/src/pages/articles/2017-19-08---Humane-Typography-in-the-Digital-Age/type-through-time.jpg differ
diff --git a/src/pages/categories.jsx b/src/pages/categories.jsx
new file mode 100644
index 0000000..76d92e8
--- /dev/null
+++ b/src/pages/categories.jsx
@@ -0,0 +1,89 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import Link from 'gatsby-link';
+import Helmet from 'react-helmet';
+import kebabCase from 'lodash/kebabCase';
+import Sidebar from '../components/Sidebar';
+
+class CategoriesRoute extends React.Component {
+ render() {
+ const { title } = this.props.data.site.siteMetadata;
+ const categories = this.props.data.allMarkdownRemark.group;
+
+ return (
+
+ );
+ }
+}
+
+IndexRoute.propTypes = {
+ data: PropTypes.shape({
+ site: PropTypes.shape({
+ siteMetadata: PropTypes.shape({
+ title: PropTypes.string.isRequired,
+ subtitle: PropTypes.string.isRequired
+ })
+ }),
+ allMarkdownRemark: PropTypes.shape({
+ edges: PropTypes.array.isRequired
+ })
+ })
+};
+
+export default IndexRoute;
+
+export const pageQuery = graphql`
+ query IndexQuery {
+ site {
+ siteMetadata {
+ title
+ subtitle
+ copyright
+ menu {
+ label
+ path
+ }
+ author {
+ name
+ email
+ telegram
+ twitter
+ github
+ rss
+ vk
+ }
+ }
+ }
+ allMarkdownRemark(
+ limit: 1000,
+ filter: { frontmatter: { layout: { eq: "post" }, draft: { ne: true } } },
+ sort: { order: DESC, fields: [frontmatter___date] }
+ ){
+ edges {
+ node {
+ fields {
+ slug
+ categorySlug
+ }
+ frontmatter {
+ title
+ date
+ category
+ description
+ }
+ }
+ }
+ }
+ }
+`;
diff --git a/src/pages/pages/2015-05-01---about/1.jpg b/src/pages/pages/2015-05-01---about/1.jpg
new file mode 100644
index 0000000..ad54b60
Binary files /dev/null and b/src/pages/pages/2015-05-01---about/1.jpg differ
diff --git a/src/pages/pages/2015-05-01---about/index.md b/src/pages/pages/2015-05-01---about/index.md
new file mode 100644
index 0000000..e65c035
--- /dev/null
+++ b/src/pages/pages/2015-05-01---about/index.md
@@ -0,0 +1,13 @@
+---
+title: "About me"
+layout: page
+path: "/about"
+---
+
+Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante.
+
+
+
+*Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi.*
+
+Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
\ No newline at end of file
diff --git a/src/pages/pages/2015-05-01---contact/1.jpg b/src/pages/pages/2015-05-01---contact/1.jpg
new file mode 100644
index 0000000..2942722
Binary files /dev/null and b/src/pages/pages/2015-05-01---contact/1.jpg differ
diff --git a/src/pages/pages/2015-05-01---contact/index.md b/src/pages/pages/2015-05-01---contact/index.md
new file mode 100644
index 0000000..3bc128e
--- /dev/null
+++ b/src/pages/pages/2015-05-01---contact/index.md
@@ -0,0 +1,31 @@
+---
+title: "Contact me"
+layout: page
+path: "/contact"
+---
+
+Morbi in sem quis dui placerat ornare. Pellentesque odio nisi, euismod in, pharetra a, ultricies in, diam. Sed arcu. Cras consequat.
+
+Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui.
+
+
+
+*Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi.*
+
+## Header Level 2
+
+Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.
+
++ **Lorem ipsum** dolor sit amet, consectetuer adipiscing elit.
++ Aliquam tincidunt mauris eu risus.
++ Vestibulum auctor dapibus neque.
+
+### Header Level 3
+
+Phasellus ultrices nulla quis nibh. Quisque a lectus. Donec **consectetuer** ligula vulputate sem tristique cursus. Nam nulla quam, gravida non, commodo a, sodales sit amet, nisi.
+
+Pellentesque fermentum dolor. Aliquam quam lectus, facilisis auctor, ultrices ut, elementum vulputate, nunc.
+
+#### Header Level 4
+
+Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est.
\ No newline at end of file
diff --git a/pages/photo.jpg b/src/pages/photo.jpg
similarity index 100%
rename from pages/photo.jpg
rename to src/pages/photo.jpg
diff --git a/src/pages/tags.jsx b/src/pages/tags.jsx
new file mode 100644
index 0000000..4dcbf76
--- /dev/null
+++ b/src/pages/tags.jsx
@@ -0,0 +1,89 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import Link from 'gatsby-link';
+import Helmet from 'react-helmet';
+import kebabCase from 'lodash/kebabCase';
+import Sidebar from '../components/Sidebar';
+
+class TagsRoute extends React.Component {
+ render() {
+ const { title } = this.props.data.site.siteMetadata;
+ const tags = this.props.data.allMarkdownRemark.group;
+
+ return (
+