BoxPistols / BoxPistols/BoostRecord
ノートを公開URLで共有する(任意でパスワード付き、将来課題)
- Dominant language
- JavaScript
- Stars
- 1
- Forks
- 0
- Avg merge
- 11m
- Merged PRs (30d)
- 19
Description
Boostnote時代にはWordPressなどのブログ連携とオンライン書き出しがあった。その系譜として、ノート1件を公開URLで共有し、PCやスマホのブラウザで読めるようにしたい。今すぐではなく将来の課題として積む。
やりたいこと
- ノートの右クリックか情報パネルから「公開URLを発行」を選ぶと、そのノートのHTMLをどこかへ置いてURLを返す
- 任意でパスワード(または合言葉)を付けられる。付けた場合はURLを知っているだけでは読めない
- 公開の取り下げと再発行ができる。取り下げたURLは404になる
- 画像などの添付も一緒に公開される。ノート内の相対パスがそのまま解決される
- 公開先は差し替え可能にする。候補はS3互換ストレージ、Vercel、Cloudflare Pages、GitHub Pagesあたり。最初は1つでよい
セキュアにするための前提
- URLは推測できないランダムなパス(十分に長いトークン)にする。連番やノートのタイトルは使わない
- パスワード付きは、静的ホスティングだけだと本文をクライアント側で復号する方式になる(本文を鍵で暗号化して置き、閲覧時に合言葉から鍵を導出)。サーバー側で認証する方式にするならVercelのFunctionsなどが要る。どちらにするかは設計時に決める
- 公開先の資格情報(S3のキーなど)はAIのAPIキーと同じくsafeStorageに預け、設定ファイルには平文で書かない
- 公開したノートの一覧と公開日時をアプリ側に持ち、何を公開中かをいつでも確認できるようにする
未決事項
- 公開先の第一候補をどれにするか(費用、独自ドメインの要否、パスワード方式との相性)
- 更新の反映を手動にするか、保存のたびに自動で反映するか
- 既存のエクスポート(.html / .pdf)とUIをどう並べるか。エクスポートタブの図解に「公開」の列を足す形が自然かもしれない
関連
- 既存のHTML書き出し(exportAsHtml)が本文と添付の解決を持っているので、公開時の本文生成はこれを流用できるはず
Contributor guide
Research direction
Start by reading the existing exportAsHtml implementation and the current export UI to understand how note HTML and attachments are generated. Before implementation, resolve the publishing target, password approach, update behavior, and export UI placement; done means a note can be published, listed, withdrawn, and accessed through the resulting URL with the stated security and attachment behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- cloud, desktop, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100