View Source Readme

Libmention Logo

A Webmention implementation for Elixir

Read the documentation

goals

Goals

  • [x] Send WebMentions
  • [ ] Receive Webmentions (in progress)
  • [x] Configurable storage, defaulting to ets
  • [ ] Easy local development and management of WebMentions including:
    • [ ] Accept
    • [ ] Decline
    • [ ] Verify
    • [ ] Block
    • [x] See Sent

usage

Usage

All aspects of the library can be used piecemeal or as a supervised system.

sending

Sending

When using piecemeal, the functions worth exploring are in Libmention.Outgoing:

When using as a supervised system, add the Libmention.Supervisor to your supervision tree and configure it for sending.

config = [
  outgoing: [
    storage: Libmention.EtsStorage
  ]
]
children = [
  ...,
  {Libmention.Supervisor, config}
]

See Libmention.Supervisor for a full list of options

Then to send webmentions for a page or content,

Libmention.Supervisor.send(url, html)

When the process is done,

receiving

Receiving

installation

Installation

Add libmention to your list of dependencies in mix.exs:

def deps do
  [
    {:libmention, "~> 0.1.2"}
  ]
end