diff --git a/packages/docusaurus-1.x/lib/core/BlogPageLayout.js b/packages/docusaurus-1.x/lib/core/BlogPageLayout.js index a63d4c3d40..884e312a38 100644 --- a/packages/docusaurus-1.x/lib/core/BlogPageLayout.js +++ b/packages/docusaurus-1.x/lib/core/BlogPageLayout.js @@ -10,6 +10,8 @@ const BlogPost = require('./BlogPost.js'); const BlogSidebar = require('./BlogSidebar.js'); const Container = require('./Container.js'); const MetadataBlog = require('./MetadataBlog.js'); + +const MetadataPublicBlog = MetadataBlog.filter(item => !item.draft); const Site = require('./Site.js'); const utils = require('./utils.js'); @@ -40,27 +42,28 @@ class BlogPageLayout extends React.Component { />
- {MetadataBlog.slice(page * perPage, (page + 1) * perPage).map( - post => ( - - ), - )} + {MetadataPublicBlog.slice( + page * perPage, + (page + 1) * perPage, + ).map(post => ( + + ))}
{page > 0 && ( ← Prev )} - {MetadataBlog.length > (page + 1) * perPage && ( + {MetadataPublicBlog.length > (page + 1) * perPage && ( Next → diff --git a/packages/docusaurus-1.x/lib/core/BlogSidebar.js b/packages/docusaurus-1.x/lib/core/BlogSidebar.js index 718ae7197b..3034e55267 100644 --- a/packages/docusaurus-1.x/lib/core/BlogSidebar.js +++ b/packages/docusaurus-1.x/lib/core/BlogSidebar.js @@ -10,6 +10,8 @@ const SideNav = require('./nav/SideNav.js'); const MetadataBlog = require('./MetadataBlog.js'); +const MetadataPublicBlog = MetadataBlog.filter(item => !item.draft); + class BlogSidebar extends React.Component { render() { let blogSidebarCount = 5; @@ -17,7 +19,7 @@ class BlogSidebar extends React.Component { let blogSidebarTitle = blogSidebarTitleConfig.default || 'Recent Posts'; if (this.props.config.blogSidebarCount) { if (this.props.config.blogSidebarCount === 'ALL') { - blogSidebarCount = MetadataBlog.length; + blogSidebarCount = MetadataPublicBlog.length; blogSidebarTitle = blogSidebarTitleConfig.all || 'All Blog Posts'; } else { blogSidebarCount = this.props.config.blogSidebarCount; @@ -28,7 +30,7 @@ class BlogSidebar extends React.Component { { type: 'CATEGORY', title: blogSidebarTitle, - children: MetadataBlog.slice(0, blogSidebarCount).map(item => ({ + children: MetadataPublicBlog.slice(0, blogSidebarCount).map(item => ({ type: 'LINK', item, })), diff --git a/packages/docusaurus-1.x/lib/core/__tests__/__fixtures__/blog-post-with-draft.md b/packages/docusaurus-1.x/lib/core/__tests__/__fixtures__/blog-post-with-draft.md new file mode 100644 index 0000000000..0a3129b917 --- /dev/null +++ b/packages/docusaurus-1.x/lib/core/__tests__/__fixtures__/blog-post-with-draft.md @@ -0,0 +1,5 @@ +--- +title: Draft Example +draft: true +--- +This blog post should not appear in the sidebar or the blog feed because it is a draft. diff --git a/packages/docusaurus-1.x/lib/server/feed.js b/packages/docusaurus-1.x/lib/server/feed.js index 6210011ca4..464fa4d012 100644 --- a/packages/docusaurus-1.x/lib/server/feed.js +++ b/packages/docusaurus-1.x/lib/server/feed.js @@ -28,6 +28,7 @@ module.exports = function(type) { readMetadata.generateMetadataBlog(siteConfig); const MetadataBlog = require('../core/MetadataBlog.js'); + const MetadataPublicBlog = MetadataBlog.filter(item => !item.draft); const feed = new Feed({ title: `${siteConfig.title} Blog`, @@ -38,10 +39,10 @@ module.exports = function(type) { link: blogRootURL, image: siteImageURL, copyright: siteConfig.copyright, - updated: new Date(MetadataBlog[0].date), + updated: new Date(MetadataPublicBlog[0].date), }); - MetadataBlog.forEach(post => { + MetadataPublicBlog.forEach(post => { const url = `${blogRootURL}/${post.path}`; const description = utils.blogPostHasTruncateMarker(post.content) ? renderMarkdown(utils.extractBlogPostBeforeTruncate(post.content))