Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gabri3l/gatsby-blog-post-scheduler
A simple CLI to generate and schedule a blog post with Gatsby.
https://github.com/gabri3l/gatsby-blog-post-scheduler
blogging gatsby nodejs scheduler
Last synced: 3 months ago
JSON representation
A simple CLI to generate and schedule a blog post with Gatsby.
- Host: GitHub
- URL: https://github.com/gabri3l/gatsby-blog-post-scheduler
- Owner: Gabri3l
- License: mit
- Created: 2020-02-12T16:42:46.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-07-11T13:31:55.000Z (over 1 year ago)
- Last Synced: 2024-10-11T05:03:11.256Z (3 months ago)
- Topics: blogging, gatsby, nodejs, scheduler
- Language: JavaScript
- Homepage:
- Size: 307 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Gatsby Blog Post Scheduler
[![npm version](https://img.shields.io/npm/v/gatsby-blog-post-scheduler.svg?style=flat-square)](https://www.npmjs.com/package/gatsby-blog-post-scheduler)
[![npm downloads](https://img.shields.io/npm/dm/gatsby-blog-post-scheduler.svg?style=flat-square)](https://www.npmjs.com/package/gatsby-blog-post-scheduler)
[![HitCount](http://hits.dwyl.com/Gabri3l/gatsby-blog-post-scheduler.svg)](http://hits.dwyl.com/Gabri3l/gatsby-blog-post-scheduler)
[![GitHub license](https://img.shields.io/github/license/Gabri3l/gatsby-blog-post-scheduler.svg)](https://github.com/Gabri3l/gatsby-blog-post-scheduler/blob/master/LICENSE)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
![GitHub contributors](https://img.shields.io/github/contributors/Gabri3l/gatsby-blog-post-scheduler.svg)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)A simple CLI to generate and schedule a blog post.
## Getting Started
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.
### Prerequisites
This CLI was developed to go along with the `gatsby-starter-blog` package. You can find it [here](https://www.gatsbyjs.org/starters/gatsbyjs/gatsby-starter-blog/). Or you can install it locally with the following command:
```shell
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](https://www.netlify.com/) which offers this out of the box.
I then added the [Merge Schedule](https://github.com/marketplace/actions/merge-schedule) Github action to automatically merge a PR at a given date.
To recap the requirements are:
- [Gatsby starter blog](https://www.gatsbyjs.org/starters/gatsbyjs/gatsby-starter-blog/)
- [Netlify](https://www.netlify.com/) (or any other service that allows auto release on commits to master)
- [Merge Schedule](https://github.com/marketplace/actions/merge-schedule) Github Action### Installing
You can either install this CLI globally:
```shell
npm i -g gatsby-blog-post-scheduler
```or run it directly as
```shell
npx gatsby-blog-post-scheduler
```## How to Use
If you installed the CLI globally you can go to the root folder of your blog and run the simple command:
```shell
schedule-blog-post
```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! :tada:
## Contributing
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.
## Coffee
If you really like this project or you just feel like it you can also buy me a coffee!
## Versioning
We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/Gabri3l/gatsby-blog-post-scheduler/tags).
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details