ローカルサーバで確認したらちゃんと動作した。

ブツ

インストール&実行

NAME='Electron.MyLog.20220831094901'
git clone https://github.com/ytyaru/$NAME
cd $NAME
npm install
npm start

準備

  1. インストール&実行してアプリ終了する
    1. db/setting.jsonファイルが自動作成される
  2. db/setting.jsonに以下をセットしファイル保存する
    1. address: 自分のモナコイン用アドレス
    2. repo: 任意リポジトリ名(mytestrepo等)
  3. dst/mytestrepo/.gitが存在しないことを確認する(あればdstごと削除する)

実行

ローカルサーバを起動してつぶやきを表示する。

  1. npm startで起動またはアプリでCtrl+Shift+Rキーを押す(リロードする)
    • dst/mytestrepo/server.shなどが出力される
  2. dst/mytestrepo/server.shを実行する
  3. ブラウザでhttps://localhost/を表示する
    1. この接続ではプライバシーが保護されません的な表示がされる
    2. 詳細設定ボタンを押す
    3. localhost にアクセスする(安全ではありません)リンクをクリックする
    4. ページが表示される

db/mylog.dbというSQLite3ファイルに入っているつぶやきデータをもとにHTML化して表示している。

server.shをみればわかるが、実行にはopensslpython3コマンドが必要。

eyecatch.png

目的・経緯

最終的にはHTTPSにアップロードすることで動作するようにしたい。今回はまず、そのためのコードを作成する処理を書いた。アップロード処理はまだ書いてない。詳細は以下ソースコード参照。

  • src/js/app/github/site-maker.js

ざっくりいうと以下の通り。

  • mpurse APIを使い投げモナボタンを実装する
  • sql.js(WASM版)でSQLファイルmylog.dbの内容を読み取る
  • 必要な各ファイルをコピーなり一部書き換えなりパス変更なりをする
  • つぶやきの日付表示バグを修正した

Node.jsでなく、ブラウザ上で動作するコードにする必要があった。基本的には以下をベースにしている。

将来の展望

あとはこのファイルをGitHubにpushしてPagesにデプロイできれば、自分用つぶやきサイトを作れるメドが立つ。アップロードが完了すればmpurse APIによる投げモナボタンも機能するはず。

今までの挑戦ですでにアップロードできるはずだけど、どんな罠があるかわからない。すんなりいってくれたらいいが。