投げモナボタンの最新版。

ブツ

eyecatch.png

想定する利用方法

自分宛てに投げモナしてもらえるサイトを作る。

  1. 一式をダウンロードする
  2. 好きなようにカスタマイズする
  3. GitHub Pagesなどにアップロードする
  4. 投げモナしてもらえるのを待つ

変更点

  • 属性名を変更した
  • 画像ファイルを外部参照にした(Base64でなく)
  • 内蔵画像の種類を14種から選べる
  • 内蔵画像の合計ファイルサイズを算出する
  • 内蔵画像の形式をPNG,SVG,SVG+PNGから選べる
  • SVGのとき<object>タグにすることで内蔵CSSを使いlight/darkモード変更できる
  • SVG+PNGのとき<object>タグでPNGにフォールバックする
  • 送金後アニメを追加した
  • ダウンロード時に並列処理するようにした(それでも4秒くらいかかる)

苦労した所

  • ローディング
  • 画像テーブル作成
  • Markdownパース
  • チェックボタン、ラジオボタンの値取得(選択した値のみ)
  • ファイルサイズ合計値算出
  • ZIPファイル作成&ダウンロード
  • 入力フォーム同士の整合性をとる
  • 入力フォームに合わせてコードやファイルを動的生成する

じつは変更点の他にも多くのことをしている。

課題

  • 設定項目が多すぎる。ムダに複雑でわかりにくい
  • <select>の画像版がほしい
  • ダウンロードボタンが小さすぎる
  • 表示されるまでの時間が長い(動的に作っているせい)
  • ダウンロード時間が長い(4秒くらいかかる。でも並列処理してこの時間だったのでこれ以上速くできない)
  • サイトを作成したりアップロードするのが大変

<select>要素で画像が使えないのはひどい。標準UIがあまりに貧弱すぎる。