Current section

Files

Jump to
indieweb priv dist doc IndieWeb.Webmention.html
Raw

priv/dist/doc/IndieWeb.Webmention.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="ExDoc v0.19.3">
<title>IndieWeb.Webmention — IndieWeb v0.0.31</title>
<link rel="stylesheet" href="dist/html-399e30b9b028e3059575.css" />
<link rel="canonical" href="https://hexdocs.pm/indieweb/IndieWeb.Webmention.html" />
<script src="dist/sidebar_items-23b3c70799.js"></script>
<script async src="dist/html-399e30b9b028e3059575.js"></script>
</head>
<body data-type="modules">
<script>try { if(localStorage.getItem('night-mode')) document.body.className += ' night-mode'; } catch (e) { }</script>
<div class="main">
<button class="sidebar-button sidebar-toggle">
<span class="icon-menu" aria-hidden="true"></span>
<span class="sr-only">Toggle Sidebar</span>
</button>
<button class="sidebar-button night-mode-toggle">
<span class="icon-theme" aria-hidden="true"></span>
<span class="sr-only">Toggle Theme</span>
</button>
<section class="sidebar">
<a href="https://indieweb.org/" class="sidebar-projectLink">
<div class="sidebar-projectDetails">
<h1 class="sidebar-projectName">
IndieWeb </h1>
<h2 class="sidebar-projectVersion">
v0.0.31
</h2>
</div>
<img src="assets/logo.png" alt="IndieWeb" class="sidebar-projectImage">
</a>
<form class="sidebar-search" action="search.html">
<button type="submit" class="search-button">
<span class="icon-search" aria-hidden="true"></span>
</button>
<input name="q" type="text" id="search-list" class="search-input" placeholder="Search" aria-label="Search" autocomplete="off" />
</form>
<ul class="sidebar-listNav">
<li><a id="extras-list" href="#full-list">Pages</a></li>
<li><a id="modules-list" href="#full-list">Modules</a></li>
</ul>
<div class="gradient"></div>
<ul id="full-list" class="sidebar-fullList"></ul>
</section>
<section class="content">
<div class="content-outer">
<div id="content" class="content-inner">
<h1>
<small class="visible-xs">IndieWeb v0.0.31</small>
IndieWeb.Webmention
<a href="https://git.jacky.wtf/indieweb/elixir" title="View Source" class="view-source" rel="help">
<span class="icon-code" aria-hidden="true"></span>
<span class="sr-only">View Source</span>
</a>
</h1>
<section id="moduledoc">
<p>Handles Webmention interoperability for a site.</p>
</section>
<section id="summary" class="details-list">
<h1 class="section-heading">
<a class="hover-link" href="#summary">
<span class="icon-link" aria-hidden="true"></span>
<span class="sr-only">Link to this section</span>
</a>
Summary
</h1>
<div class="summary-functions summary">
<h2>
<a href="#functions">Functions</a>
</h2>
<div class="summary-row">
<div class="summary-signature">
<a href="#direct_send!/3">direct_send!(endpoint, target_url, source)</a>
</div>
<div class="summary-synopsis"><p>Sends out a Webmention to the provided <code class="inline">endpoint</code> for <code class="inline">target</code> from <code class="inline">source</code></p>
</div>
</div>
<div class="summary-row">
<div class="summary-signature">
<a href="#discover_endpoint/1">discover_endpoint(page_url)</a>
</div>
<div class="summary-synopsis"><p>Finds the Webmention endpoint of the provided URI</p>
</div>
</div>
<div class="summary-row">
<div class="summary-signature">
<a href="#receive/1">receive(args)</a>
</div>
<div class="summary-synopsis"><p>Parses properties of an incoming Webmention</p>
</div>
</div>
<div class="summary-row">
<div class="summary-signature">
<a href="#resolve_source_url/1">resolve_source_url(source)</a>
</div>
</div>
<div class="summary-row">
<div class="summary-signature">
<a href="#resolve_target_from_url/1">resolve_target_from_url(target_url)</a>
</div>
</div>
<div class="summary-row">
<div class="summary-signature">
<a href="#send/2">send(target_url, source)</a>
</div>
<div class="summary-synopsis"><p>Sends a Webmention to the provided URI</p>
</div>
</div>
<div class="summary-row">
<div class="summary-signature">
<a href="#url_adapter/0">url_adapter()</a>
</div>
<div class="summary-synopsis"><p>Defines the adpater to use to resolve URI and source content</p>
</div>
</div>
</div>
</section>
<section id="functions" class="details-list">
<h1 class="section-heading">
<a class="hover-link" href="#functions">
<span class="icon-link" aria-hidden="true"></span>
<span class="sr-only">Link to this section</span>
</a>
Functions </h1>
<div class="functions-list">
<section class="detail" id="direct_send!/3">
<div class="detail-header">
<a href="#direct_send!/3" class="detail-link" title="Link to this function">
<span class="icon-link" aria-hidden="true"></span>
<span class="sr-only">Link to this function</span>
</a>
<h1 class="signature">direct_send!(endpoint, target_url, source)</span>
<a href="https://git.jacky.wtf/indieweb/elixir" class="view-source" rel="help" title="View Source">
<span class="icon-code" aria-hidden="true"></span>
<span class="sr-only">View Source</span>
</a>
</div>
<section class="docstring">
<p>Sends out a Webmention to the provided <code class="inline">endpoint</code> for <code class="inline">target</code> from <code class="inline">source</code>.</p>
</section>
</section>
<section class="detail" id="discover_endpoint/1">
<div class="detail-header">
<a href="#discover_endpoint/1" class="detail-link" title="Link to this function">
<span class="icon-link" aria-hidden="true"></span>
<span class="sr-only">Link to this function</span>
</a>
<h1 class="signature">discover_endpoint(page_url)</span>
<a href="https://git.jacky.wtf/indieweb/elixir" class="view-source" rel="help" title="View Source">
<span class="icon-code" aria-hidden="true"></span>
<span class="sr-only">View Source</span>
</a>
<div class="specs">
<pre>discover_endpoint(<a href="https://hexdocs.pm/elixir/typespecs.html#built-in-types">binary</a>()) :: {:ok, <a href="https://hexdocs.pm/elixir/typespecs.html#built-in-types">binary</a>()} | {:error, <a href="https://hexdocs.pm/elixir/typespecs.html#basic-types">any</a>()}</pre>
</div>
</div>
<section class="docstring">
<p>Finds the Webmention endpoint of the provided URI.</p>
<p>This employs the <a href="https://www.w3.org/TR/webmention/#sender-discovers-receiver-webmention-endpoint" title="">Webmention endpoint discovery algorithm</a> to find
the proper endpoint to send Webmentions for the URI in question.</p>
<p>TODO: Add User-Agent information (by allowing to pass in header options)</p>
</section>
</section>
<section class="detail" id="receive/1">
<div class="detail-header">
<a href="#receive/1" class="detail-link" title="Link to this function">
<span class="icon-link" aria-hidden="true"></span>
<span class="sr-only">Link to this function</span>
</a>
<h1 class="signature">receive(args)</span>
<a href="https://git.jacky.wtf/indieweb/elixir" class="view-source" rel="help" title="View Source">
<span class="icon-code" aria-hidden="true"></span>
<span class="sr-only">View Source</span>
</a>
<div class="specs">
<pre>receive(<a href="https://hexdocs.pm/elixir/typespecs.html#basic-types">map</a>()) :: {:ok, [action: <a href="https://hexdocs.pm/elixir/typespecs.html#basic-types">atom</a>(), args: <a href="https://hexdocs.pm/elixir/typespecs.html#basic-types">map</a>()]} | {:error, <a href="https://hexdocs.pm/elixir/typespecs.html#basic-types">any</a>()}</pre>
</div>
</div>
<section class="docstring">
<p>Parses properties of an incoming Webmention.</p>
<p>This aims to resolve the target of an incoming Webmention and determine if there&#39;s
a valid action to take from it.</p>
</section>
</section>
<section class="detail" id="resolve_source_url/1">
<div class="detail-header">
<a href="#resolve_source_url/1" class="detail-link" title="Link to this function">
<span class="icon-link" aria-hidden="true"></span>
<span class="sr-only">Link to this function</span>
</a>
<h1 class="signature">resolve_source_url(source)</span>
<a href="https://git.jacky.wtf/indieweb/elixir" class="view-source" rel="help" title="View Source">
<span class="icon-code" aria-hidden="true"></span>
<span class="sr-only">View Source</span>
</a>
</div>
<section class="docstring">
</section>
</section>
<section class="detail" id="resolve_target_from_url/1">
<div class="detail-header">
<a href="#resolve_target_from_url/1" class="detail-link" title="Link to this function">
<span class="icon-link" aria-hidden="true"></span>
<span class="sr-only">Link to this function</span>
</a>
<h1 class="signature">resolve_target_from_url(target_url)</span>
<a href="https://git.jacky.wtf/indieweb/elixir" class="view-source" rel="help" title="View Source">
<span class="icon-code" aria-hidden="true"></span>
<span class="sr-only">View Source</span>
</a>
</div>
<section class="docstring">
</section>
</section>
<section class="detail" id="send/2">
<div class="detail-header">
<a href="#send/2" class="detail-link" title="Link to this function">
<span class="icon-link" aria-hidden="true"></span>
<span class="sr-only">Link to this function</span>
</a>
<h1 class="signature">send(target_url, source)</span>
<a href="https://git.jacky.wtf/indieweb/elixir" class="view-source" rel="help" title="View Source">
<span class="icon-code" aria-hidden="true"></span>
<span class="sr-only">View Source</span>
</a>
<div class="specs">
<pre>send(<a href="https://hexdocs.pm/elixir/typespecs.html#built-in-types">binary</a>(), <a href="https://hexdocs.pm/elixir/typespecs.html#basic-types">any</a>()) ::
{:ok, <a href="IndieWeb.Webmention.SendResponse.html#t:t/0">IndieWeb.Webmention.SendResponse.t</a>()} | {:error, <a href="https://hexdocs.pm/elixir/typespecs.html#basic-types">any</a>()}</pre>
<pre>send(<a href="https://hexdocs.pm/elixir/typespecs.html#built-in-types">binary</a>(), <a href="https://hexdocs.pm/elixir/typespecs.html#basic-types">any</a>()) ::
{:ok, <a href="IndieWeb.Webmention.SendResponse.html#t:t/0">IndieWeb.Webmention.SendResponse.t</a>()} | {:error, <a href="https://hexdocs.pm/elixir/typespecs.html#basic-types">any</a>()}</pre>
</div>
</div>
<section class="docstring">
<p>Sends a Webmention to the provided URI.</p>
<p>This determines the endpoint to send <a href="https://www.w3.org/TR/webmention" title="">Webmentions</a> to (using <a href="#discover_endpoint/1"><code class="inline">discover_endpoint/1</code></a>) and
sends the request using the HTTP client provided.</p>
</section>
</section>
<section class="detail" id="url_adapter/0">
<div class="detail-header">
<a href="#url_adapter/0" class="detail-link" title="Link to this function">
<span class="icon-link" aria-hidden="true"></span>
<span class="sr-only">Link to this function</span>
</a>
<h1 class="signature">url_adapter()</span>
<a href="https://git.jacky.wtf/indieweb/elixir" class="view-source" rel="help" title="View Source">
<span class="icon-code" aria-hidden="true"></span>
<span class="sr-only">View Source</span>
</a>
<div class="specs">
<pre>url_adapter() :: <a href="IndieWeb.Webmention.URIAdapter.html#t:t/0">IndieWeb.Webmention.URIAdapter.t</a>()</pre>
</div>
</div>
<section class="docstring">
<p>Defines the adpater to use to resolve URI and source content.</p>
</section>
</section>
</div>
</section>
<footer class="footer">
<p>
<span class="line">
Built using
<a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener">ExDoc</a> (v0.19.3),
</span>
<span class="line">
designed by
<a href="https://twitter.com/dignifiedquire" target="_blank" rel="noopener" title="@dignifiedquire">Friedel Ziegelmayer</a>.
</span>
</p>
</footer>
</div>
</div>
</section>
</div>
</body>
</html>