We used to work on more than one post at a time and publish them in future. So you just want to test them while writing the blog, but you don't want publish them to your live blog immediately. There are 3 different ways to achieve this in jekyll.
1. With published settings
You can include a line in your post meta data to indicate whether a post is published or not:
published: true
(or)
published: false
Set published to false if you don’t want a post to show up when the site is generated.
To preview your site locally, you can --unpublished option
jekyll server --unpublished
When you want to make the post to live, just remove the published flag or set it to true.
2. With future dated posts
You can write your blogs with future dated. There is a setting which does something similar - show future dated posts.
To preview your site locally, you can --future option
jekyll server --future
Make sure that you have following setting in your _config.yml file.
This will hide future dated posts from your live blog.
future: false
3. With drafts folder
As you know, Drats are the posts you’re still working on and don’t want to publish yet.
To get up and running with drafts, create a _drafts folder in your site’s root.
You can place your posts inside the drafts folder.
- _drafts/
- my-draft-post.md
To preview your site locally, you can --drafts option
jekyll server --drafts
Make sure that you have following setting in your _config.yml file.
This will hide drafts posts from your live blog.
show_drafts: false
When you want to publish the post to live blog, move your post from _drafts to _posts folder.
I recommend drafts folder for upcoming posts. Because it is much cleaner and easy
to maintain when you work with team. If you have any other tips, share it on comments.
