Skip to main content


Lightpub を作っています


Lightpub という ActivityPub 準拠の分散 SNS を開発しています。 特徴は以下の通りです。 UI がシンプル フロントエンドが軽い Plain text のほか、Markdown や LaTeX 記法で投稿できる サーバーが軽い […]

Lightpub という ActivityPub 準拠の分散 SNS を開発しています。

特徴は以下の通りです。

  • UI がシンプル
  • フロントエンドが軽い
  • Plain text のほか、Markdown や LaTeX 記法で投稿できる
  • サーバーが軽い (たぶん)

とにかくサーバー、クライアント側の要件を小さくすることを目的に開発しています。機能はシンプルでいいから、とにかくよわよわのサーバーやクライアントで動かしたいという私みたいな人がターゲットです。

Mastodon や Misskey, Pleroma と連合できることを確認しています。現在は実験的にインスタンスを立てて運用しています。→ exp3.lightpub.tinax.work/clien…

今年の2月か3月ぐらいに MIT ライセンスでOSSとして公開する予定です。Done is better than perfect ということで、まずは慣れている Node.js でサクサク開発を進めましたが、php とか perl しか使えない共用サーバーのwebホスティングでも動くようにしたいと思っているので、時間のある2月、3月で大幅に rewrite しようと思っています。仕事で perl 使うことになる可能性大なので、練習がてら Perl で rewrite することになりそうです。

フロントエンドは Bootstrap, htmx, alpine.js を使って書いています。HTMX は最近登場したライブラリで、html タグにアトリビュートを追加することで様々な ajax リクエストを飛ばせるようになるライブラリです。js をほとんど書かなくてよくなるので、UI が複雑ではない場合にはかなり便利なライブラリです。おすすめ。

これから ActivityPub の自作実装をするぞという人向けに、役に立つサイトをいくつかリストしておきます。

  • w3.org/TR/activitypub/
    まず最初に見ることになるであろう、ActivityPub の仕様書です。
  • w3.org/TR/activitystreams-core…
    これも仕様書です。連合する際に必要となる語彙について書かれています。
  • activitypub.academy
    Mastodon のテスト用インスタンスです。Mastodon を開発用に改変していて、送受信した json-ld の中身を見れる機能などが追加されています。Federation のテストに非常に役に立ちました。
  • w3.org/wiki/ActivityPub/Primer
    ActivityPub 実装のヒントがいろいろ書かれています。仕様書では定義されていない一般的な慣習 (例えば、投稿範囲を Activity Streams 内でどう表現するかなど) がわかります。
このエントリは編集されました (1週間前)

tinax reshared this.