Skip to content

Lokuyow/ehagaki

Repository files navigation

eHagaki OGP

eHagaki

https://lokuyow.github.io/ehagaki/

eHagaki(えはがき)は、画像・動画圧縮機能付きの投稿専用Nostrクライアントです。
デバイス上で画像や動画を自動圧縮し、効率的にNostrへ投稿できます。

主な特徴

  • Nostr投稿専用: 投稿機能に特化し、シンプルなUIで快適な利用体験を提供
  • 画像・動画圧縮: 画像・動画はアップロード前に自動で圧縮され、通信量を削減(圧縮レベル調整可能)
  • 見たまま編集できるリッチエディター: プレビュー画面と入力画面が分かれておらず、画像・動画・リンク・カスタム絵文字・ハッシュタグなどを実際の投稿に近い見た目で直接編集可能。ハッシュタグをピン留め(保持)して連続投稿することも可能
  • 多彩なログイン・アカウント管理: 秘密鍵(nsec)、ブラウザ拡張(NIP-07)、リモート署名(NIP-46)、親クライアント連携でのログインに対応。複数アカウントの切り替えも可能
  • PWA・共有インテント対応: モバイル・デスクトップ両対応。Androidは外部アプリの共有ボタンから直接メディアアップロード可能
  • ドラフト機能: 投稿内容を下書きとして保存し、後から編集・投稿が可能
  • リプライ・引用・チャンネル投稿: 各種URLクエリやnostr: URIを通じたリプライ・引用投稿(NIP-10, NIP-18)に対応。パブリックチャット(NIP-28)のチャンネルへの投稿もサポート
  • Content Warning (CW): センシティブなコンテンツ(NIP-36)に対する警告の設定が可能
  • iframe埋め込み: 他アプリの投稿フォームとして組み込んで利用するためのAPIを提供
  • 多言語対応: 日本語・英語に対応(ブラウザ設定から自動判定)

URLクエリ

アクセス時にエディターへテキストを事前入力できます:

https://lokuyow.github.io/ehagaki/?content={url-encoded-text-here}

リプライ・引用投稿

URLクエリパラメータでリプライや引用投稿を指定できます。nevent1... または note1... 形式(NIP-19)に対応しています。

# リプライ
https://lokuyow.github.io/ehagaki/?reply=nevent1...

# note1形式でも可
https://lokuyow.github.io/ehagaki/?reply=note1...

# 引用
https://lokuyow.github.io/ehagaki/?quote=nevent1...

# note1形式でも可
https://lokuyow.github.io/ehagaki/?quote=note1...
  • リプライ: NIP-10準拠のe/pタグを自動構築(スレッドroot引き継ぎ対応)
  • 引用: NIP-18準拠のqタグを自動構築し、投稿時に引用イベントとして処理されます
  • URLクエリ由来の参照イベントはプレビュー表示されます
  • エディタ本文に nostr:nevent1... または nostr:note1... を含めた場合も引用として処理されます
  • 本文中の複数の nostr: URI は出現順に処理されます
  • 本文中の nostr: URI からの引用ではプレビューは表示されません
  • ×ボタンでリプライ/引用をキャンセルし、通常投稿に戻れます

iframe埋め込み

eHagaki の iframe 埋め込み方法、親クライアント連携ログイン、postMessage 仕様は公開ガイドに分離しました。

IFRAME_EMBEDDING.md を参照してください。

親ページ連携の動作確認用サンプルは https://lokuyow.github.io/ehagaki/embed-parent-client-example.html からも直接アクセスできます。

このガイドには次の内容をまとめています。

  • 基本の iframe 埋め込み
  • リプライ / 複数引用状態での起動
  • 親クライアント連携ログイン
  • ehagaki.embed envelope と post.success / post.error の受信方法
  • auth.login / auth.request / auth.result / auth.error / rpc.request の流れ

技術スタック

フロントエンド

Nostr

  • rx-nostr - リレー管理とイベントストリーミング
  • nostr-tools - Nostrプロトコル実装

メディア処理

PWA

About

A lightweight, post-only Nostr client that compresses media on your device for fast, data-efficient uploads.

Topics

Resources

License

Stars

Watchers

Forks

Contributors