sside.net

ユーザによる入力が可能なタグ入力フォーム用意するなら、Choices.jsよりtagifyだった

当Blog、現状だと

  • メタタグの入力UI
  • 画像のアップロード
  • codeタグのシンタックスハイライト

などが全然未実装なので、とりあえずメタタグの入力UIを何とかすることにした。

作ってる最中はカンマ区切りの文字列渡してたけれど、formのPOST時にダメ文字のバリデーションしてる(パスパラメータに使ってる)ので、入力時にバリデーション掛けられないと面倒よなということで、何か入力ライブラリないかと探したところ、真っ先に見つかったのがChoices-js

とりあえずフォームに追加して、スタイルとか弄ってたんですが、これ、ユーザの入力時にアイテムの追加ができないのな…。8割方書いた時点で動作確認して「出来ねえぞ?」と思ってissues見てみたら、こんなリンクが貼られており、無理じゃんとなった時のゲンナリ感よ。Choices-js使おうとしたときに、他のオルタナティブも調べて、GitHub Starの数も多いし大丈夫だろうと思ってたらこれ。真面目にドキュメント読んだり、ライブラリの目的にしてるアプリケーションを把握しないとやっぱ駄目だな…。

で、そこで挙げられてたyairEO/tagify、すげえ簡単に使えるので実によかったですという話。

  • 所謂メタタグの入力に特化している
  • ReactやVueのコンポーネントも付いてくる
  • inputタグ内の値もライブラリ側で自由に加工できる
    • submit時に加工する必要がない
  • スタイルのカスタマイズがCSS Variablesで楽に変更可能
    • Choices-jsは上書きが面倒だった

ということで、滅茶苦茶良かった。ありがてえ…。

Blog作り直した。

4年ぶりにBlog作り直しました。

前回のBlogは自分でも記憶が定かではないけれど、確か自宅サーバでホストしてて、WordPressだったように思う。WordPressのテンプレートを一から書いた記憶が。

そんな前のBlogも、何かの折に

  • 自宅サーバのnginxが止まった
  • DDNSがうまく動かなかった
  • PPPoE接続が遅すぎてIPoEに変更したときに到達不能になった
  • 自宅サーバのOS入れなおしたときにバックアップ取り忘れた

のどれか、原因は忘れたけれど、とにかく止まり、再開する気も起きないまま今に至っていた。それにしても、サーバ運用する気のある奴なら、上記全て、普通はまずやらないムーブだな…。

反省を踏まえ、いい加減自宅サーバはクソだるいしクラウドにぶち込もうと、今回はデプロイ先をOracle Cloudにしました。Oracle Cloudにした理由はAlways freeでCompute Instanceが使えるのと、日本リージョンでホストできることのみ。無料で国内にホスト立てられなかったら、素直にAWS LightsailかGCP App Engineあたりにしてたと思います。

Blogのエンジンも、WordPress使うのはやめにました。WordPressは

  • 脆弱性対応のための頻繁なアップデートが必要になる上、自動アップデートがうまく動かなかったりする
  • テンプレートのカスタマイズがだるい
    • PHPよく分からん
      • 更にWordPress特有の謎関数群
  • GFMのWYSIWYGエディタ使いたかった

などの問題があるので。

代わりに、今回はRemixを使って、一から作りました。ソースはGitHubに上げてあります。前回、あまりにもひどいカラースキームだったので、今回はSolarizedをそのまま使ってます。

まだ色々と機能が不足しているので、まあじわじわと追加していこうかと思ってます。