Browse Source

filter drafts from blog list

restructure
Garrit Franke 4 years ago
parent
commit
031f17ab6c
  1. 1
      components/BlogList.js
  2. 16
      lib/rss.js

1
components/BlogList.js

@ -16,6 +16,7 @@ const BlogList = ({ posts }) => {
<ul className="list"> <ul className="list">
{posts.length > 1 && {posts.length > 1 &&
posts posts
.filter((post) => !post.frontmatter.draft)
// Ternary operator is used to fix chromium sorting // Ternary operator is used to fix chromium sorting
// See: https://stackoverflow.com/a/36507611 // See: https://stackoverflow.com/a/36507611
.sort((a, b) => (a.frontmatter.date < b.frontmatter.date ? 1 : -1)) .sort((a, b) => (a.frontmatter.date < b.frontmatter.date ? 1 : -1))

16
lib/rss.js

@ -53,12 +53,14 @@ const getRssXml = (blogPosts) => {
const blogPostsRssXml = (blogPosts) => { const blogPostsRssXml = (blogPosts) => {
let latestPostDate = ""; let latestPostDate = "";
let rssItemsXml = ""; let rssItemsXml = "";
blogPosts.forEach((post) => { blogPosts
const postDate = Date.parse(post.frontmatter.date); .filter((post) => !post.frontmatter.draft)
if (!latestPostDate || postDate > Date.parse(latestPostDate)) { .forEach((post) => {
latestPostDate = post.frontmatter.date; const postDate = Date.parse(post.frontmatter.date);
} if (!latestPostDate || postDate > Date.parse(latestPostDate)) {
rssItemsXml += ` latestPostDate = post.frontmatter.date;
}
rssItemsXml += `
<item> <item>
<title>${post.frontmatter.title}</title> <title>${post.frontmatter.title}</title>
<link> <link>
@ -70,7 +72,7 @@ const blogPostsRssXml = (blogPosts) => {
<![CDATA[${post.frontmatter.title}]]> <![CDATA[${post.frontmatter.title}]]>
</description> </description>
</item>`; </item>`;
}); });
return { return {
rssItemsXml, rssItemsXml,
latestPostDate, latestPostDate,

Loading…
Cancel
Save