micropub-endpoint
micropub-endpoint copied to clipboard
Receives requests.
Micropub endpoint
Used by muan/micropub-content
.
Use
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:
-
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.
Details
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.