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)
特徴 #
- 直前にしか返せない。並べ替えも途中への挿入もない
- **書く欄は画面の同じ高さにあり、直前の投稿はいつもそのすぐ上にある。**二つ前と直前の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 に投稿するとき #
- Bluesky の「設定」→「プライバシーとセキュリティ」→「アプリパスワード」で、新しいアプリパスワードを作る
.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 から読み込む。同梱はしていない |
- HTML 58%
- Python 42%
- Shell <1%