diff --git a/src/pages/blog/2017/03/26/index.md b/src/pages/blog/2017/03/26/index.md index fe7c7d7..3a51b32 100644 --- a/src/pages/blog/2017/03/26/index.md +++ b/src/pages/blog/2017/03/26/index.md @@ -1,6 +1,6 @@ --- template: 'post' -title: 'Minecraft In The Cloud' +title: 'Minecraft In The Cloud 📝' date: '03.26.2017' description: 'Using AWS to setup a shared Minecraft server.' image: '/assets/blog-post-images/minecraft-cloud.png' diff --git a/src/pages/blog/2017/03/30/index.md b/src/pages/blog/2017/03/30/index.md index 2d04aaf..22f5f97 100644 --- a/src/pages/blog/2017/03/30/index.md +++ b/src/pages/blog/2017/03/30/index.md @@ -1,6 +1,6 @@ --- template: 'post' -title: 'Teaching An Old Dog New Tricks!' +title: 'Teaching An Old Dog New Tricks! 📝' date: '03.30.2017' description: 'Using ES2015 with AngularJS.' image: '/assets/blog-post-images/angular-shield.jpg' diff --git a/src/pages/blog/2017/04/22/index.md b/src/pages/blog/2017/04/22/index.md index 63aa169..1cc4b13 100644 --- a/src/pages/blog/2017/04/22/index.md +++ b/src/pages/blog/2017/04/22/index.md @@ -1,6 +1,6 @@ --- template: 'post' -title: 'GitHub Dashboard 1.1.0 Released' +title: 'GitHub Dashboard 1.1.0 Released 🎉' date: '04.22.2017' description: 'Open Source project release.' image: '/assets/blog-post-images/github.png' diff --git a/src/pages/blog/2017/05/05/index.md b/src/pages/blog/2017/05/05/index.md index 024f095..5ac37ac 100644 --- a/src/pages/blog/2017/05/05/index.md +++ b/src/pages/blog/2017/05/05/index.md @@ -1,6 +1,6 @@ --- template: 'post' -title: 'GitHub Dashboard 1.2.0 Released' +title: 'GitHub Dashboard 1.2.0 Released 🎉' date: '05.05.2017' description: 'Open Source project release.' image: '/assets/blog-post-images/github.png' diff --git a/src/pages/blog/2017/06/07/index.md b/src/pages/blog/2017/06/07/index.md index ae55874..95e1869 100644 --- a/src/pages/blog/2017/06/07/index.md +++ b/src/pages/blog/2017/06/07/index.md @@ -1,6 +1,6 @@ --- template: 'post' -title: 'PHP API Seed' +title: 'PHP API Seed 💡' date: '06.07.2017' description: 'Starter kit for PHP based APIs using Slim.' image: '/assets/blog-post-images/php.png' diff --git a/src/pages/blog/2017/09/10/index.md b/src/pages/blog/2017/09/10/index.md index 9a04e68..191defa 100644 --- a/src/pages/blog/2017/09/10/index.md +++ b/src/pages/blog/2017/09/10/index.md @@ -1,6 +1,6 @@ --- template: 'post' -title: 'Vue Webapp Seed' +title: 'Vue Webapp Seed 💡' date: '06.07.2017' description: 'Expirementing with the frontend framework Vue.' image: '/assets/blog-post-images/vue.png' diff --git a/src/pages/blog/2017/10/15/index.md b/src/pages/blog/2017/10/15/index.md index 633d64a..03439d4 100644 --- a/src/pages/blog/2017/10/15/index.md +++ b/src/pages/blog/2017/10/15/index.md @@ -1,6 +1,6 @@ --- template: 'post' -title: 'Publishing My First Docker Image' +title: 'Publishing My First Docker Image 📝' date: '10.15.2017' description: 'Expirementing with Docker and Docker Hub publishing.' image: '/assets/blog-post-images/docker.png' diff --git a/src/pages/blog/2018/01/24/index.md b/src/pages/blog/2018/01/24/index.md index 3e004b6..5fc4d7a 100644 --- a/src/pages/blog/2018/01/24/index.md +++ b/src/pages/blog/2018/01/24/index.md @@ -1,6 +1,6 @@ --- template: 'post' -title: 'A Case Study in Performance' +title: 'A Case Study in Performance 📝' date: '01.24.2018' description: 'Introducing Create Evergreen App!' image: '/assets/blog-post-images/pwa-lighthouse.png' diff --git a/src/pages/blog/2018/05/16/index.md b/src/pages/blog/2018/05/16/index.md index 6d9259d..eb6cf74 100644 --- a/src/pages/blog/2018/05/16/index.md +++ b/src/pages/blog/2018/05/16/index.md @@ -1,6 +1,6 @@ --- template: 'post' -title: 'A Case Study in Performance (cont)' +title: 'A Case Study in Performance (cont) 📝' date: '05.16.2018' description: 'Ongoing article series on web application performance.' image: '/assets/blog-post-images/pwa-lighthouse.png' diff --git a/src/pages/blog/2018/06/06/index.md b/src/pages/blog/2018/06/06/index.md index a74899b..cac510e 100644 --- a/src/pages/blog/2018/06/06/index.md +++ b/src/pages/blog/2018/06/06/index.md @@ -1,6 +1,6 @@ --- template: 'post' -title: 'Project Evergreen' +title: 'Project Evergreen 💡' date: '06.06.2018' description: 'Project Evergreen: In Pursuit of Evergreen Web Applications' image: 'https://s3.amazonaws.com/uploads.thegreenhouse.io/project-evergreen/logo-small.png' diff --git a/src/pages/blog/2018/09/26/index.md b/src/pages/blog/2018/09/26/index.md index b4537d1..9d4ea9e 100644 --- a/src/pages/blog/2018/09/26/index.md +++ b/src/pages/blog/2018/09/26/index.md @@ -1,6 +1,6 @@ --- template: 'post' -title: 'Introducing Create Evergreen App!' +title: 'Create Evergreen App! ♻️' date: '09.26.2018' description: 'Introducing Create Evergreen App!' image: 'https://s3.amazonaws.com/uploads.thegreenhouse.io/project-evergreen/logo-small.png' diff --git a/src/pages/blog/2018/10/28/index.md b/src/pages/blog/2018/10/28/index.md index 5099338..6ada5a9 100644 --- a/src/pages/blog/2018/10/28/index.md +++ b/src/pages/blog/2018/10/28/index.md @@ -1,6 +1,6 @@ --- template: 'post' -title: 'Building A Better Mouse Trap' +title: 'Building A Better Mouse Trap 🧀' date: '10.28.2018' description: 'My presentation at Node+JS Interactive 2018 on Docker and Server-Side Rendering.' image: 'https://events.linuxfoundation.jp/wp-content/uploads/2017/12/logo_node_js_int18.png' diff --git a/src/pages/blog/2018/11/19/index.md b/src/pages/blog/2018/11/19/index.md index a519530..70be3d6 100644 --- a/src/pages/blog/2018/11/19/index.md +++ b/src/pages/blog/2018/11/19/index.md @@ -1,6 +1,6 @@ --- template: 'post' -title: 'Contributary' +title: 'Contributary 💡' date: '11.19.2018' description: 'A project for helping connect open source with the open source community.' image: 'https://s3.amazonaws.com/hosted.contributary.community/media/contributary-logo-invert.png' diff --git a/src/pages/blog/2020/04/07/index.md b/src/pages/blog/2020/04/07/index.md index bb4ddce..738601e 100644 --- a/src/pages/blog/2020/04/07/index.md +++ b/src/pages/blog/2020/04/07/index.md @@ -1,6 +1,6 @@ --- template: 'post' -title: 'Git Explorer' +title: 'Git Explorer 🔍' date: '04.07.2020' description: 'Local git repository viewer' image: '/assets/blog-post-images/git.png' diff --git a/src/pages/blog/index.md b/src/pages/blog/index.md index 6e50c7e..23971be 100644 --- a/src/pages/blog/index.md +++ b/src/pages/blog/index.md @@ -1,24 +1,3 @@ --- template: 'blog' --- - -## 2020 -- [Git Explorer 🔍](/blog/2020/04/07) - -## 2018 -- [Contributary 💡](/blog/2018/11/19) -- [Building A Better Mouse Trap 🧀](/blog/2018/10/28) -- [Create Evergreen App ♻️](/blog/2018/09/26) -- [Project Evergreen 💡](/blog/2018/06/06) -- [A Case Study in Performance (cont.) 📝](/blog/2018/05/16) -- [A Case Study in Performance 📝](/blog/2018/01/24) - -## 2017 -- [Publishing My First Docker Image 📝](/blog/2017/10/15) -- [New OSS Project - Vue Webapp Seed 💡](/blog/2017/09/10) -- [New OSS Project - PHP API Seed 💡](/blog/2017/06/07) -- [GitHub Dashboard 1.2 Released 🎉](/blog/2017/05/05) -- [GitHub Dashboard 1.1 Released 🎉](/blog/2017/04/22) -- [GitHub Dashboard 1.0 Released 🎉](/blog/2017/04/10) -- [Teaching An Old Dog New Tricks! 📝](/blog/2017/03/30) -- [Minecraft In The Cloud 📝](/blog/2017/03/26) diff --git a/src/templates/blog-template.js b/src/templates/blog-template.js index 31a71b3..26bad47 100644 --- a/src/templates/blog-template.js +++ b/src/templates/blog-template.js @@ -1,4 +1,6 @@ import { css, html, LitElement, unsafeCSS } from 'lit-element'; +import client from '@greenwood/cli/data/client'; +import ChildrenQuery from '@greenwood/cli/data/queries/children'; import '../components/footer/footer'; import '../components/header/header'; import '../components/navigation/navigation'; @@ -11,6 +13,15 @@ class BlogTemplate extends LitElement { constructor() { super(); + this.posts = []; + } + + static get properties() { + return { + posts: { + type: Array + } + }; } static get styles() { @@ -42,7 +53,46 @@ class BlogTemplate extends LitElement { `; } + async connectedCallback() { + super.connectedCallback(); + const response = await client.query({ + query: ChildrenQuery, + variables: { + parent: 'blog' + } + }); + + this.posts = response.data.children; + } + + /* eslint-disable indent */ + getPostsByYear(year) { + return html` +

${year}

+ + `; + } + render() { + const { posts } = this; + let years = []; + + posts.forEach(post => { + const year = post.link.split('/')[2]; + + if (year && !years[year]) { + years[year] = year; + } + }); + return html`
@@ -55,7 +105,11 @@ class BlogTemplate extends LitElement {
- + ${ + Object.keys(years).reverse().map(year => { + return this.getPostsByYear(year); + }) + }
@@ -65,5 +119,6 @@ class BlogTemplate extends LitElement { `; } } +/* eslint-enable indent */ customElements.define('page-template', BlogTemplate); \ No newline at end of file