webmention.io

From IndieWeb


webmention.io is an open-source project and hosted service for receiving webmentions and pingbacks on behalf of your indieweb site.

Using

Sites currently using webmention.io to receive pingbacks and/or Webmentions on their behalf:

Features

Accept webmention and pingbacks for any site by adding a simple html tag

<link rel="webmention" href="https://webmention.io/username/webmention" />
<link rel="pingback" href="https://webmention.io/username/xmlrpc" />

API to get a list of sites linking to your pages

Example: https://webmention.io/api/links.jf2?target=http%3A%2F%2Fwebmention.io

Converts Pingbacks to WebMentions

You can use webmention.io to handle Pingback requests and send them to you as a webmention.

To use, add an html tag like the following, replacing example.com/webmention with your own webmention endpoint.

<link rel="pingback" href="https://webmention.io/webmention?forward=http://example.com/webmention" />

Full Docs: https://github.com/aaronpk/webmention.io#webmention

Sends Notification of Valid Webmentions via Web Hook

You can have webmention.io send an HTTP notification for each received, valid webmention to a URL of your choice. You may specify a different endpoint for each domain.

Optionally, you can configure a "callback secret" so that your HTTP endpoint can verify that the notification was sent by webmention.io.

How to Use

If you want to use this right now, you can sign in on the home page https://webmention.io

You are more than welcome to use the pingback->webmention conversion service as described above. Or you can install this on your own server from the source code on Github.

Use with Jekyll

Aaron Gustafson has written a Jekyll plugin for displaying content from webmention.io.

Using with other static site generators

  • Marty McGuire's Morris (self-hosted) can be used to store webmention data in json format, and then parsed if the static site generator supports data files.

Notification Web Hooks

Display with javascript

Bret Comnes has written webmention.js. Note it indicates that it "needs some work" and may not be actively maintained currently (last commit 2015-03-17).

fluffy has written a library that is also imaginatively named webmention.js.

藍+85CD has written Seia, a Web Component.

What does Webmention.io do?

  • Webmention receiving verification
    • does the source page actually link to the target page?)
  • Microformats parsing
    • parse the Microformats at the source URL
  • Response interpretation
    • Convert the parsed Microformats to a normalized response object (like, reply, etc)
  • Storage of responses
  • Retrieval API for responses
    • a JSON API for retrieving responses by domain name or individual URL


Wish List

  • A tiny, no-dependencies js file which can fetch comment data from webmention.io and dump it into an element, enabling 2-step comment support:

Developing

The source is at github.com/aaronpk/webmention.io

To get set up, clone the repo, run bundle install in the repo dir, then run ./start.sh.


See Also