Used by muan/micropub-content
.
This server will attempt to create content for a Jekyll site.
To create a Jekyll site from a template:
-
Fork
muan/micropub-content
. -
Edit
_config.yml
with your info.
micropub_endpoint
: URL of the Heroku app you just deployed, likelyhttps://[app-name].herokuapp.com
.url
: GitHub pages URL of the repository you just forked, likelyhttps://[github-username].github.io/micropub-content
.
The Jekyll site might take a minute to build. Once it's built, you can head to https://micropub-client.herokuapp.com/ and log in with your site URL to create your first post. It comes with a feed.rss
that you can use for micro.blog.
To publish a post through this implementation of Micropub flow, it requires the following:
GitHub
as the authentication provider.GitHub
and its API for interacting with the repository for your blog content.Micropub endpoint
[template] that handles sending a request to GitHub.Micropub client
[template] [hosted] that handles authenticating and sending a request to the endpoint. There are many other Micropub clients that follow the same spec and can be used here. For example, Quill.IndieAuth for GitHub
for handling authentication requests between GitHub and Micropub client.Micropub content
[template] [demo], in this case, your GitHub Pages site.
Out of these 6 items, you would create just 2: the Mircopub endpoint
, so that you can customize where the post is created and how it is created, and Mircopub content
, so that you can customize how the GitHub Pages site looks.
Flow:
- User (you) visits
Micropub client
and log in with your website. In this example, it should be theMicropub content
Pages site. But it can be a different website as long as it has these lines. Micropub client
sends a GET request to your website to retrieve your preferred auth endpoints.Micropub client
redirects you to that endpoint, in this caseIndieAuth for GitHub
, which is a service hosted on Heroku whose sole purpose is to talk to GitHub API and create an access token.- Once an access token is obtained,
Micropub client
presents you with text areas for you to create your blog post with. - When you submit the post content,
Micropub client
sends the payload toMicropub endpoint
. Micropub endpoint
uses sends a request to GitHub with this payload, and create a file in the repository you set inapp.json
.- GitHub receives the request and creates a file.
- GitHub Pages service rebuild your Jekyll site.
- Your new post is live.