1. Micropub server
This server will attempt to create content for a Jekyll site.
2. Jekyll site
To create a Jekyll site from a template:
_config.ymlwith your info.
micropub_endpoint: URL of the Heroku app you just deployed, likely
url: GitHub pages URL of the repository you just forked, likely
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:
GitHubas the authentication provider.
GitHuband 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 GitHubfor 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.
- User (you) visits
Micropub clientand log in with your website. In this example, it should be the
Micropub contentPages site. But it can be a different website as long as it has these lines.
Micropub clientsends a GET request to your website to retrieve your preferred auth endpoints.
Micropub clientredirects you to that endpoint, in this case
IndieAuth 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 clientpresents you with text areas for you to create your blog post with.
- When you submit the post content,
Micropub clientsends the payload to
Micropub endpointuses sends a request to GitHub with this payload, and create a file in the repository you set in
- GitHub receives the request and creates a file.
- GitHub Pages service rebuild your Jekyll site.
- Your new post is live.