最近行った小さな開発や変更まとめ
開発::util
序
最近、わざわざ記事にするまでもないような細々した内容が多いので、ここに簡単にまとめておく。
Chienomi
Pandocの自動折り返し機能によって属性値が折り返され、適切に動作しない要素があったため、
pandoc_additional_options:
wrap: preserve
を追加して折り返されないようにした。
ユーザーにとってわかりやすい部分でいうと、Share to Fediverseで変なところに改行が入っていたのが改善された。
また、併せてGeneric Web Appsも改修したが、こちらはユーザーには露出しない要素である。
新しいソフトウェア msgbridge
msgbridgeはホストに対してメッセージを送るためのソフトウェアである。
常にアクティブなサーバーがある前提で、主に通知を受け取るために使う。
サーバー上でmsgbridge-server-set.rb <HOST> <TYPE> <MESSAGE>
を実行することでメッセージがプールされ、msgbridge-server-get.rb <HOST>
を実行することで出力することができる。
メッセージはマルチパートのYAMLになる。
この出力をmsgbridge-client.rb
にパイプすることでダイアログ表示やサウンド再生などを行える。
基本的にsshでログインして実行&パイプをポーリングする形式が想定されている。
このソフトウェアについて、あったらいいなとずっと思っていたものの、言うて今すぐ使う予定がないという事情から、作りっぱなしの状態になっており、ユースケースの紹介をするに至らず、かつ有益な人がかなり限られることから、記事にはしていない。
DLsite Voice Utils / VoiceStatでの試行錯誤
それを含めたものをアップしたかどうか覚えていないが、「トレンド評価に音ゲーのテンションゲージ方式を採用したらどうか」というアイディアがあり、それを試した。
従来よりも複雑で、かつ効果的に見えたのだが、実際は良いものではなく、実用的ではないという判断になった。
最大の要因は、私はそれなりに集めているつもりだが、それでも全体数が500程度で、1項目に対してフィルタすると多くても15、平均は4くらいになるということだった。
15ノーツしかない音ゲーをイメージしてもらえば、その理由は簡単にわかると思う。
ソフトウェアの更新
MailDeliver
無効なUTF-8文字を含むメールが入力されるとMail.new
が例外を吐いて落ちてしまう問題を改善した。
実際のところ解釈できない理由がUTF-8の正当性だとは限らない上に、例外種別からその理由を判定できないため雑な対応なのだが、実際のところ運用していてそれ以外のケースに遭遇していないため暫定的にこれで良しとしている。
また、maildeliver-q.rb
を引数なしで実行した場合にエラーになっており、AltPostLocalでのtypoなどでこの問題が発生するケースがあるため、これを明示的な例外(RuntimeError
)に変更した。
My Browser Profile Chooser
Floorp(flp
)とMidori(mdr
)のサポートを追加した。
Midoriは以前サポートされており、サポートが削除されたものだが、現在はFloorpベースになっており、Firefoxのコマンドと互換性があるため、その形で改めてサポートされた。
LocalWebMediaPlayer
ファイル名に#
や?
を含む場合にうまく動作しない問題を修正した。
また、(OFLな)ウェブフォントを含めるようにした。