スレッドを書くローカル執筆アプリ / A local writing app for Bluesky threads

Files
README.md

Re: #

SNS を使わずにスレッドを書くための、ローカルで動く執筆用アプリ。 300字までの投稿を直前の投稿に返す形で継ぎ足していき、書いたスレッドはそのまま Bluesky に投稿できる。

A local writing app for composing threads without a social network. You add posts of up to 300 characters, each replying to the one before, and publish the finished thread to Bluesky.

発案:Nighthaven(@moja.blue)

English


特徴 #

  • 直前にしか返せない。並べ替えも途中への挿入もない
  • **書く欄は画面の同じ高さにあり、直前の投稿はいつもそのすぐ上にある。**二つ前と直前の2件だけを濃い字で表示する
  • スレッドは Markdown ファイルとして手元に残る。他のエディタで開いて直せる
  • Bluesky にスレッドとして投稿できる。タグ・メンション・リンクカード・引用・画像・ALT に対応する
  • 数式(LaTeX)と表を書ける。Bluesky へは画像にして添える
  • 鍵をかけたスレッドは投稿されない
  • Bluesky 側で足した返信や消した投稿を、同期で取り込める
  • すべてのスレッドの本文と ALT を検索できる
  • 本文にスレッドの名前を書くとリンクになる
  • スレッドを A4 に印刷できる。番号は各投稿の頭に出る
  • 一覧は主張の一行で並ぶ。キーワードの索引で絞り込める

考え方と画面の決まりは SPEC.md に書いた(英語版は SPEC.en.md。内容が合わないときは日本語版を正とする)。

動かし方 #

Python 3.9 以上が要る。追加のパッケージは要らない。

git clone git@tangled.org:moja.blue/re
cd re
python3 app/server.py

ブラウザで http://localhost:8778/ を開く。macOS なら start.command をダブルクリックしてもよい。

スレッドは matters/、片づけたスレッドは piles/ に保存される。どちらも .gitignore 済みである。

Bluesky に投稿するとき #

  1. Bluesky の「設定」→「プライバシーとセキュリティ」→「アプリパスワード」で、新しいアプリパスワードを作る
  2. .env.example を .env に写し、ハンドルとアプリパスワードを書く
BSKY_HANDLE=example.bsky.social
BSKY_APP_PASS=xxxx-xxxx-xxxx-xxxx

投稿せずに流れだけを試すときは、RE_DRYRUN=1 python3 app/server.py で起動する。

形にしてくれる人へ #

Re: は、いまは作者の Mac の中で動く試作である。ブラウザだけで誰でも使える形(保存をブラウザの中に移し、atproto の OAuth で投稿する形)や、ほかのサービスへの対応を、形にしてくれる人を歓迎する。

そのときは、README か画面のどこかに、発案が Nighthaven(@moja.blue)であることと、このリポジトリへのリンクを書いてほしい。ライセンスが求めるのは下のとおりだが、これはそれとは別のお願いである。

ライセンス #

対象 ライセンス
SPEC.md・SPEC.en.md・README.md・README.en.md CC BY 4.0。使うときは発案者の名前と出典を示す
app/ のコード(app/vendor/ を除く) MIT
app/vendor/ それぞれのライセンス。THIRD_PARTY.md
書体 IBM Plex Sans JP(SIL Open Font License 1.1)。Google Fonts から読み込む。同梱はしていない