投げモナボタンの最新版。
ブツ
想定する利用方法
自分宛てに投げモナしてもらえるサイトを作る。
- 一式をダウンロードする
- 好きなようにカスタマイズする
- GitHub Pagesなどにアップロードする
- 投げモナしてもらえるのを待つ
変更点
- 属性名を変更した
- 画像ファイルを外部参照にした(Base64でなく)
- 内蔵画像の種類を14種から選べる
- 内蔵画像の合計ファイルサイズを算出する
- 内蔵画像の形式をPNG,SVG,SVG+PNGから選べる
- SVGのとき
<object>
タグにすることで内蔵CSSを使いlight/darkモード変更できる - SVG+PNGのとき
<object>
タグでPNGにフォールバックする - 送金後アニメを追加した
- ダウンロード時に並列処理するようにした(それでも4秒くらいかかる)
苦労した所
- ローディング
- 画像テーブル作成
- Markdownパース
- チェックボタン、ラジオボタンの値取得(選択した値のみ)
- ファイルサイズ合計値算出
- ZIPファイル作成&ダウンロード
- 入力フォーム同士の整合性をとる
- 入力フォームに合わせてコードやファイルを動的生成する
じつは変更点の他にも多くのことをしている。
課題
- 設定項目が多すぎる。ムダに複雑でわかりにくい
<select>
の画像版がほしいダウンロード
ボタンが小さすぎる- 表示されるまでの時間が長い(動的に作っているせい)
- ダウンロード時間が長い(4秒くらいかかる。でも並列処理してこの時間だったのでこれ以上速くできない)
- サイトを作成したりアップロードするのが大変
<select>
要素で画像が使えないのはひどい。標準UIがあまりに貧弱すぎる。