diff --git a/components/featured-content/guides.js b/components/featured-content/guides.js
index 8f3db097d..60d0bb236 100644
--- a/components/featured-content/guides.js
+++ b/components/featured-content/guides.js
@@ -1,7 +1,7 @@
import Link from 'next/link';
import { FeaturedContentWrap } from './style';
-import guides from 'data/guides';
import FeaturedGuide from 'components/featured-guide';
+import { getFeaturedGuides } from 'lib/guide';
const FeaturedGuides = () => (
@@ -13,8 +13,7 @@ const FeaturedGuides = () => (
- { guides
- .filter(({ featured }) => featured)
+ { getFeaturedGuides()
.map(guide => (
)) }
diff --git a/data/guides.json b/data/guides.json
index 43e42227f..16cfd1719 100644
--- a/data/guides.json
+++ b/data/guides.json
@@ -6,8 +6,8 @@
"fileName": "design-patterns-for-humans",
"featured": true,
"author": "kamranahmedse",
- "createdAt": "2018-11-29T17:00:00.860Z",
- "updatedAt": "2018-11-29T17:00:00.860Z"
+ "updatedAt": "2019-10-09T12:00:00.860Z",
+ "createdAt": "2019-01-23T17:00:00.860Z"
},
{
"title": "Journey to HTTP/2",
@@ -17,7 +17,8 @@
"featured": true,
"author": "kamranahmedse",
"createdAt": "2018-12-04T12:00:00.860Z",
- "updatedAt": "2018-12-04T12:00:00.860Z"
+ "updatedAt": "2018-12-04T12:00:00.860Z",
+ "draft": true
},
{
"title": "DNS in One Picture",
@@ -26,8 +27,8 @@
"fileName": "dns-in-one-picture",
"featured": true,
"author": "kamranahmedse",
- "updatedAt": "2019-10-09T12:00:00.860Z",
- "createdAt": "2019-01-23T17:00:00.860Z"
+ "updatedAt": "2018-12-04T12:00:00.860Z",
+ "createdAt": "2018-12-04T17:00:00.860Z"
},
{
"title": "HTTP Caching",
@@ -36,7 +37,7 @@
"fileName": "http-caching",
"featured": true,
"author": "kamranahmedse",
- "updatedAt": "2019-10-09T12:00:00.860Z",
- "createdAt": "2019-01-23T17:00:00.860Z"
+ "createdAt": "2018-11-29T17:00:00.860Z",
+ "updatedAt": "2018-11-29T17:00:00.860Z"
}
]
diff --git a/lib/guide.js b/lib/guide.js
index 1eaa3f830..148d1d712 100644
--- a/lib/guide.js
+++ b/lib/guide.js
@@ -3,7 +3,12 @@ import authors from "data/authors";
import siteConfig from "data/site";
export const getAllGuides = () => {
- return guides;
+ return guides.filter(guide => !guide.draft)
+ .sort((a, b) => new Date(b.updatedAt) - new Date(a.updatedAt));
+};
+
+export const getFeaturedGuides = () => {
+ return getAllGuides().filter(guide => guide.featured);
};
export const getRequestedGuide = req => {