x-www-form-urlencoded (form-encoded) or JSON Micropub request methods.
proposed as a Micropub extension.
There are a number of requirements that your site's Micropub endpoint must meet in order to work with Micropublish.
Below is what Micropublish expects from your server.
When you enter your site's URL and click "Sign in" Micropublish will attempt to
find three endpoints in either your site's HTTP response header or in its
Your site should expose these endpoints similar to the following examples.
HTTP response header links:
Link: <https://indieauth.com/auth>; rel="authorization_endpoint"
Link: <https://tokens.indieauth.com/token>; rel="token_endpoint"
Link: <https://barryfrost.com/micropub>; rel="micropub"
<link href="https://indieauth.com/auth" rel="authorization_endpoint">
<link href="https://tokens.indieauth.com/token" rel="token_endpoint">
<link href="https://barryfrost.com/micropub" rel="micropub">
Micropublish will attempt to authenticate you via web sign-in using your authorization endpoint. This ensures you are the owner of the site/domain that you entered. A recommended way of setting this up is by delegating to IndieAuth.com.
When you have succesfully signed in, Micropublish will attempt to authorize via OAuth 2.0 against your server's token endpoint to obtain an access token.
When signing in you must specify the scope Micropublish should request from
your endpoint depending on what features you support. With the
only the post creation action will be available.
For the editing/deleting/undeleting functionality,
your site's Micropub endpoint must support
undelete. These scopes will be requested from your token endpoint.
When authorized, Micropublish will attempt to fetch your Micropub configuration
from your Micropub endpoint using
It expects to find your
syndicate-to list with
name keys for each
syndication target. Any other properties are currently ignored.
"name": "barryf on Twitter"
Micropublish supports either
x-www-form-urlencoded (form-encoded) or
JSON-encoded requests when creating new posts or deleting/undeleting posts.
You can specify which method your server accepts/prefers on the dashboard.
Note: as required in the Micropub specification, new articles and all updates must be sent via the JSON method.
You can customize the dashboard shortcuts, properties and defaults you prefer
config/properties.json configuration file.
known is a list of the properties Micropublish currently understands.
These are referenced in the application.
default is a list of the properties which will be included in the form
for all new posts.
types is an ordered list of types (e.g. note, article and reply) which
correspond to the icon shortcuts on the dashboard. You can specify a
icon (from Font Awesome), appropriate
properties from the
list and which properties are
required to send the request.
Feel free to use the live version at https://micropublish.net. Alternatively, you can host Micropublish yourself.
I recommend running this on Heroku using the Deploy to Heroku button.
If you host on your own server you will need to define the
environment variable. You should use a long, secure, (ideally) random string
to help secure data stored in the user's cookie.
Drag these links to your bookmarks bar and you can quickly perform each action on a page you are viewing, with the relevant properties already filled:
The URLs are hard-coded to the https://micropublish.net install so you will need to update if you are hosting Micropublish yourself.
If you would like any help with setting up your Micropub endpoint, your best
option is to
#indieweb channel on Freenode IRC.
For Micropublish specific help, get in touch and I'll be happy to help.
To file any bugs or suggestions for Micropublish, please log an issue in the GitHub repo. If you wish to make any improvements please fork and send a pull request through GitHub.