Gatsby Blog Post Scheduler
A simple CLI to generate and schedule a blog post.
This project was born to automate the creation and publication of blog posts for Gatsby blog starter. I've been trying to commit myself to publish a new article every monday. Sometimes I have more to write, sometimes I just don't have the time. In order to make the best out of more productive weeks, I automated the process of generating a blog post template and schedule its publication at a specified date.
This CLI was developed to go along with the
gatsby-starter-blog package. You can find it here. Or you can install it locally with the following command:
gatsby new gatsby-starter-blog https://github.com/gatsbyjs/gatsby-starter-blog
In order for the scheduling to work there are a few other requirements. First of all make sure you auto release your blog for every new commit to your master branch. I personally use Netlify which offers this out of the box.
I then added the Merge Schedule Github action to automatically merge a PR at a given date.
To recap the requirements are:
- Gatsby starter blog
- Netlify (or any other service that allows auto release on commits to master)
- Merge Schedule Github Action
You can either install this CLI globally:
npm i -g gatsby-blog-post-scheduler
or run it directly as
How to Use
If you installed the CLI globally you can go to the root folder of your blog and run the simple command:
On your first use you will be required to enter your Github credentials. This process will save a token on your local machine so you can submit PR automatically via the CLI.
After a successful login, you will be prompted with a few questions to draft your blog post. Once you're done a new branch is created that will be merged to master at the specified date (which you'll provide in one of the questions).
After that...go ahead and write your post! 🎉
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
If you really like this project or you just feel like it you can also buy me a coffee!
We use SemVer for versioning. For the versions available, see the tags on this repository.
This project is licensed under the MIT License - see the LICENSE file for details