Webmention-ja

From IndieWeb

Webmention icon
W3C logo

Webmention(ウェブメンション)は、ウェブ上での会話や相互作用のためのオープンなウェブ標準(W3C 勧告)です。これは、ウェブ全体に広がるピア・ツー・ピアのコメントいいねリポスト、その他の反応からなる、成長を続ける分散型ネットワークのための強力な構成要素(ビルディングブロック)です。

W3C 勧告へのステップ: 1. 作業草案 (Working Draft)、2. 勧告候補 (Candidate Recommendation)、3. 勧告案 (Proposed Recommendation)、4. W3C 勧告 (W3C Recommendation)

なぜ必要なのか

サイトを跨いだ会話を可能にします。あるウェブサイトにリンクを張る際、通知のために Webmention を送信できます。相手のサイトが Webmention をサポートしていれば、あなたの投稿がコメントいいね、その他の反応として表示されます。これだけで、サイトからサイトへと跨がる会話が成立するのです!


「……ウェブサイト間で機能する『@メンション』のようなものです。これにより、Twitter や Facebook から離れられないといった感覚を持たずに済みます。」 Rony Ngala

実装・表示方法

他のサイトへのリンクを含む投稿を公開すると、あなたのサイトは、リンクされたことを知らせるために Webmention を受け付けるサイトへ通知を送信(send)できます。

Webmention の受信側(レシーバー)は、リンクを張った他者が発見できるように、自身の Webmention エンドポイントを公開(Discovery)します。受信側のエンドポイントが Webmention 通知を受信(receive)すると、送信側の投稿を確認し、それを反応として表示することがあります。

メンションには主にページ上の受信者へのリンクが必要ですが、送信側の投稿に マイクロフォーマット を追加することで、より意味のある反応コメントリポストいいねなど)へと拡張できます。

Webmention 追加ガイド(英語):

技術的な詳細についてさらに知りたい場合は、以下を参照してください:

IndieWeb での例

Webmention を実装し、美しく表示している IndieWeb サイトの例です。

Aaron Parecki (p3k 使用)

  • Aaron Parecki は 2013-05-26 以降、aaronparecki.comp3k を使用。詳細:
    • 投稿にコメント URL を貼り付けて手動で Webmention を送信できる入力フォームを設置(2013-10-12 時点)。

Ben Werdmuller (Known 使用)

Barnaby Walters (Taproot 使用)

Jeremy Keith (adactio.com)

Barry Frost (barryfrost.com)

  • Barry Frost は 2013-09-15 以降。フッターに「この記事にコメントする方法」へのリンクを設置し、h-entryh-card を使った Webmention 送信方法を解説。

Bear (bear.im)

  • Bear は 2013-12-01 以降。Python ライブラリ ronkyuu を使用して処理。

Kartik Prabhu (kartikprabhu.com)

  • Kartik Prabhu は 2013-12-03 以降。Webmention は反応の種類ごとに分類されて表示されます。

Jeena (jeena.net)

  • Jeena Paradies は 2013-12-06 以降、自作の Rails アプリを使用。ホームページで Webmention を受信するとメールで通知されます。

Pelle Wessman (webmention.herokuapp.com 使用)

  • Pelle Wessman は 2013-12-18 以降。静的ページでの Webmention 受信を実装。

Christian Kruse (wwwtech.de)

  • Christian Kruse は自作の Phoenix アプリを使用。HTTP ヘッダーと HTML の両方でエンドポイントを公開。

Andy Sylvester (WordPress プラグイン使用)

gRegor Morrill (ProcessWire プラグイン使用)

  • gRegor Morrill は 2014-02-04 以降。自作の ProcessWire 用カスタムプラグインを使用。受信したメンションはローカルのコメントと混ぜて表示されます。

David Shanske (WordPress プラグイン使用)

  • David Shanske は 2014-03-?? 以降、WordPress で送受信をサポート。

Ben Roberts (ben.thatmustbe.me)

  • Ben Roberts は 2014-04-24 以降。返信、メンション、いいねを解析。cron ジョブによる非同期処理を実装。

Chris Aldrich (WordPress プラグイン使用)

Khürt Williams (WordPress プラグイン使用)

Will Norris (webmention.herokuapp.com 使用)

  • Will Norris は 2014-07-31 以降。オンサイトのエンドポイントから外部サービスへプロキシして受信。

Joel Dueck (thelocalyarn.com)

  • Joel Dueck は 2014-09-23 以降。受信したメンションはテキストファイルに記録され、モデレーション後に手動でコメントとして追加。

Johnny Oskarsson (joskar.se)

  • Johnny Oskarsson は 2014-10-23 以降。エンドポイントを HTTP Link ヘッダーのみで公開。

Stuart Langridge (Pelican)

  • Stuart Langridge は 2014-11-29 以降、静的サイトジェネレーター Pelican に機能を追加して運用。

Alex Kearney (IndieAnndroid)

Tantek (Falcon)

  • Tantek Çelik は 2015-06-11 以降、Falcon を使用して RSVP、コメント、いいね等のリンクに対して自動送信。

Jason Garber (FrancisCMS)

Calum Ryan (calumryan.com)

  • Calum Ryan は 2016-08-28 以降。自作の PHP ベース CMS で送受信を実装。

Sebastiaan Andeweg (seblog.nl)

Daniel Goldsmith (Hugo)

  • Daniel Goldsmith は 2017-01-25 以降、静的サイトジェネレーター Hugo で受信をサポート。

Amit Gawande (amitgawande.com)

fluffy (beesbuzz.biz)

Jamie Tanna (Hugo)

  •   Jamie Tanna は 2019年より送受信を実装。デプロイ時に自動送信する仕組みを構築。

Wouter Groeneveld (Hugo)

  • 自作の送受信機 go-jamming を開発。RSS フィードをパースして自動処理。

Alberto Mardegan (Bussator)

Jan-Lukas Else (Hugo/GoBlog)

  • Jan-Lukas Else は 2019年より自作のソリューションで受信・表示を開始。

Danny Steenman (GatsbyJS)

  • Danny は 2020-03 より、webmention.io 等を使用して Twitter のメンションを表示。

Ferdinand Mütsch (Hexo)

  • Ferdinand は 2020-04 より、Telegram 経由で受信通知を受け取る仕組みを構築。

Rasul Kireev (Gridsome)

  • Rasul Kireev は 2020-08-17 以降。brid.gy により Twitter での「いいね」やリプライをサイトに反映。

Max Dietrich (Next.js)

  • Max Dietrich は 2021-02 より、種類別(リポスト、いいね等)にフィルタリングして表示。

Mrs. D (Hugo)

  • Mrs. D は GitHub Actions と curl を使用してビルド後に自動送信。

capjamesg (jamesg.blog)

  • capjamesg は自作のレシーバーを使用し、JavaScript でレンダリング。

4X_Pro (4xpro.ru)

  • 4X_Pro は 2022-04 より Intellect Board エンジンで Webmention を特別なユーザーのコメントとして表示。

Robijntje (geheimesite.nl)

ᜌᜓᜃᜒ (Yuki) (Hugo)

Owen Young (Zola)

  • Owen Young は 2022-06 より、Github Actions でデータをキャッシュして表示。

Mike Bifulco (Next.js)

  • Mike Bifulco はロード時に API を叩いて動的に表示。

EINDEX (Astro)

  • EINDEX は 2022-12 より CI ワークフローを活用して表示。

Luis Quintanilla (WebmentionFs)

carrvo (SVNmentions)

  • Subversion(SVN)との互換性を持たせる SVNmentions を利用。

公開用ソフトウェア

標準機能として Webmention をサポートしており、一般的なユーザーがすぐに利用できるオープンソースソフトウェア:

Known

  • Known は Webmention の送信、およびコメント(更新含む)や「いいね」の受信をサポートしています。

Perch

  • Perch は 2017-07-16 よりベータ版でサポートを開始し、facepile のソート機能などを追加。

以下の CMS 用にはプラグインが存在します:

WordPress

Drupal

Craft

Nucleus CMS

Kirby

  • Kirby 2 用および Kirby 3 用(Commentions 等)のプラグインが存在します。

ProcessWire

Elgg

  • Elgg 用プラグイン。

Django

Grav

  • Grav CMS 用のプラグインがありましたが、現在はメンテナンスが引き継ぎ待ちの状態です。

b2evolution

  • b2evolution バージョン 6.11.0-beta よりサポート。

その他

クローズドソースの公開用ソフトウェア

オープンソースではありませんが、Webmention を標準サポートしているプラットフォーム:

Micro.blog

  • Micro.blog は送受信をサポート。外部サイトへのリプライ時に Webmention を送信し、受信時は Micro.blog ユーザーへの紐付けを試みます。

i.haza.website

  • dobrado 上でサイトを運営できるホスティングサービスで、Webmention をサポート。

Typlog

  • Typlog は 2020-03-30 にサポートを発表。

アグリゲーター(集約ツール)

Prismo

  • Prismo はリンク集約ソフトウェア。投稿されたリンクに対して Webmention を送信します。

サービス

投稿内のリンクに対して自動的に Webmention を送受信するサービス。

Lobsters

Lobsters (lobste.rs) は集約されたリンクに対して Webmention を送信します。

Web We Want

Web We Want サイトでは、likebookmark の Webmention を受け取ることで「賛成票」を投じる仕組みがあります。

パブリッシャー向けサービス

受信・送信の処理や、POSSE(自分のサイトで書き、他所で公開する)などの追加機能を提供。

Bridgy

Main article: Bridgy

brid.gy は、Twitter、Flickr、GitHub、Mastodon、Instagram での反応(コメント、いいね等)に対して Webmention を送信するサービスです。 Bridgy Publish 機能により、Webmention をトリガーとして各 SNS へ投稿を拡散することも可能です。

Bussator

Bussator は Webmention をコメントとして公開するレシーバー。現在は Isso 用プラグインが実装されています。

capjamesg Webmention Receiver

capjamesg が開発中のオープンソースのレシーバー。 GitHub で公開されています。

Go-Jamming

go-jamming は Go 言語製のマイクロサーバー。RSS フィードに基づいて自動的に送受信を行い、スパム対策機能も備えています。

Lazymention

Lazymention は、静的サイトから Webmention を送信するための Node.js サービス。

mention-tech

Main article: mention.tech

mention.tech は以下の機能を提供します:

  • ホームページのフォームから代理で Webmention を送信。
  • Internet Archive へ URL を送信。
  • ページ内のすべてのリンクに対してメンションを送信。

stapibas

stapibas は、ウェブサイトやブログで Webmention を送受信するためのセルフホスト型サービスです。静的サイト上の新しい投稿に対して、Webmention や Pingback を送信するために使用できます。

Telegraph

Telegraph は、WebmentionPingback を送信するためのオープンソースプロジェクトおよびホスト型サービスです。ページ上のすべてのリンクにメンションを送信したり、特定のソースとターゲットを指定して Webmention を送信したりできます。

webmention.herokuapp.com

webmention.herokuapp.com は、登録されたサイトの Webmention を受信し、JavaScript を通じてそれらを表示できるようにするオープンソースプロジェクトおよびホスト型サービスです。

webmention.io

Main article: webmention.io

webmention.io は、あなたの IndieWeb サイトに代わって WebmentionPingback を受信するためのオープンソースプロジェクトおよびホスト型サービスです。

webmention.app

webmention.app はプラットフォームに依存しないサービスで、指定された URL やフィードからコンテンツエントリを確認し、Webmention をサポートするリンクがあるかどうかを発見(Discovery)して、ターゲットに送信します。自動化されたワークフローを意図しており、既存のワークフロー(IFTTT、コマンドライン、Netlify など)への統合方法も提供されています。

ツール

Webmention を送信するために使用・インストールできるツールです。

Firefox アドオン

Pushl

Pushl は、任意のフィード(RSS, Atom, h-feed)から発見されたページに対して Webmention を送信するためのコマンドラインツールです。

手動での Webmention

自分のサイトから Webmention を送信する簡単な手段がないユーザーは、以下のツールインターフェースを使用して、代理で「手動」送信を行うことができます:

プログラミングの知識がある場合は、cURL を使用して Webmention を送信する方法もあります。

Webmention を手動で受信するには、サーバーの Webmention エンドポイント URL に送信された HTTP POST リクエストをファイルに記録するように設定します。その後、テキストエディタでログファイルを確認し、手動で応答したり、スクリプトを作成したりできます。nginx での実行例(「nginx を使用して Webmention(および Pingback)を *受信* するための静的かつ手動のシステム」)は以下にあります: http://superkuh.com/blog/2020-01-10-1.html

匿名 Webmention(コメント用)

commentpara.de を使用すると、匿名で Webmention を送信できます。これにより、読者は自身のウェブサイトを持っていなくても IndieWeb の投稿にコメントを残すことができます。

リソース

Webmention の Font Awesome アイコン

1ページ目に掲載されるには少なくとも50票、開発の検討が始まるには少なくとも100票が必要です。

ライブラリ

記事

Webmention に関するブログ投稿や記事(新しい順)

拡張機能

  • Vouch - スパム対策拡張
  • Salmention - 自分がメンションされたときに、自分が言及しているページに Webmention を送る
  • Private Webmention - 非公開投稿のための Webmention

Webmention 開発

FAQ

Webmention-faq を参照してください。

歴史

Webmention プロトコルの最初の草案 は、2012-10-22 に Sandeep Shetty によって書かれました。

過去の例

Sandeep Shetty

Sandeep ShettyConverspace を使用していました。ドメインは現在リダイレクトされていますが、履歴によると:

  • 2013-06-04: Webmention 送信機能を追加
  • 2013-06-09: Webmention 受信機能を追加
  • 2013-06-11: Aaron Parecki から Webmention を受信し、コメントとして表示。

Tom Morris

Christian Weiske (stapibas 使用)

  • Christian Weiske は 2013-10-22 より cweiske.de で Webmention を受信。
    • 全投稿で stapibas を使用して受信。
    • ピンバックへのフォールバックを含む送信アプローチを実装。

推薦の声

関連項目

Glenn Jones (node webmentions モジュール使用)

  • Glenn Jones は 2014-02-19 より自作の node.js モジュールを使用。

Dan Lyke (www.flutterby.com)

Jay Robinson (aruna)

  • j4y_funabashi は 2016-06-13 以降 j4y.co で使用。webmention.rocks の全 21 テストに合格。

Ru Singh (Eleventy 使用)