After I moved this blog from Ghost to Hugo I wanted to find a way to schedule posts in the future. This is pretty easy with Netlify.
The trick is to use the front-matter on your markdown files to specify a date in the future then use IFTTT to call the Netlify webhook to trigger a rebuild. Hugo will only generate the post if the current date is in the past.
For example, if using JSON:
I only do this weekly to avoid unnecessary rebuilds and power usage. If you don’t have a regular posting schedule then you could do something smarter by parsing the front-matter to generate a cron schedule for builds.
You can preview your posts by using the
-F flag when running Hugo. You can also use the
-D flag to preview drafts. The only problem is that if your post is both in the future and a draft then it won’t show in either the
future lists when using the
hugo list command.
You could also use a Pull Request (or Merge Request if you are using GitLab, which is a better name) workflow. Netlify will build a preview site in this case, which gives you a slightly better idea of how the post will look when live and online. There is a guide for that here.