英語に弱すぎたのでgoodbye-rfc-2822-date-timeという英語の日時を日本語に変換するブラウザ拡張を作って1年強使っています
ソースコードやダウンロードのリンクはこちら.
- GitHub: ncaq/goodbye-rfc-2822-date-time: I hate the date and time notation method like RFC 2822. This extension converts time notation to native language as much as possible.
- Firefox: goodbye-rfc-2822-date-time – 🦊 Firefox (ja) 向け拡張機能を入手
- Chrome: goodbye-rfc-2822-date-time - Chrome ウェブストア
誰が作ったの?
私.
いつ作ったの?
2018年12月22日には動くものが出来ていたようですね. 1年強放置していたわけです. 紹介記事を書こうと思っていたのですが先延ばし癖でずっと放置してしまいました.
これは何?
Dec 22, 2018
のような
RFC 2822 - Internet Message Format
基準の日時表記を2018年12月22日 土曜日
のような母国語の表記に変換することを目的とした拡張機能です.
今は主にGitHubとStack Overflow系列のサイトに対応しています. やる気が出たら拡張していく方針です.
何故作ったの?
私はプログラマなので, ライブラリなどのよく分からない挙動に遭遇したときはGoogle検索からGitHubやStack Overflowを閲覧します.
そこで問題になるのは情報の鮮度で, 古すぎる情報は特にバージョン違いなどに注意する必要があります.
同じ2019年でも2月なのか11月なのかでは情報の鮮度に雲泥の差があります.
またGitHubのissueのコメントで何月返信に期間がかかったのかも重要な情報です.
しかし私は英語の月名を覚えられませんでした.
Octoberと見ても
タコ? という感情しか浮かばなく覚えられる気が全くしません.
覚えられないので諦めて機械に変換してもらうことにしました.
何を使って作ったの?
機構は簡単なスクリプトで問題になるのはDOM操作ハックであることが予想されたので, TypeScript + Parcelの簡単な技術スタックで作成しました.
やっていることはサイトにJavaScriptを埋め込んでいるだけでUser Scriptでも出来ることです.
実際の日時変換はMoment.jsに任せています.
mozilla/web-ext: A command line tool to help build, run, and test web extensions を使うとマニフェストファイルなどのlintや簡単な警告(eval使ってるけど良いのかの確認)が得られて, そのままFirefoxとChrome両方に公開出来るバンドルzipファイルが作成できるから楽になります.
web-ext run --firefox-profile goodbye-rfc-2822-date-time
のようにプロファイルを指定して起動すれば,
その拡張機能専用のホットリロード開発モードで起動できて,
一々データがリセットされないので言語設定などをそのままに出来て便利です.
まあ私がFirefox向けを前提として作ってるだけでもっと便利な方法があるのかもしれませんが…
Googleへの不満
せっかく作ったChromeにそのまま移植可能なFirefox拡張機能なので, Chrome(Chromium)向けにも公開しているのですが, 公開するのに500円取られましたね.
自分では全く使わないのに公開する必要があるのか後で考え直すことになりました.
また審査期間がそれなりにあるのでマルウェアが動かないか動作確認しているのかと思ったのですが, そんなことはないようです.
何故わかるかと言うと, 移植当初はFirefoxの拡張機能で使えたSVGアイコンがそのまま使えると思ってそれを指定していたのですが, Chromeでは使えないのでインストール直後にエラーになるからです. 直後にエラーになるものを放置するのはまともに審査していると言えないと思えます.
Safari向けには公開しません
Safari Extensionsが廃止されてAPIが大きく異なるようになるとかは割とどうでも良い問題で, こういう問題で公開しません.
Apple社の方針変更によりSafari機能拡張の開発が有料となり、コスト面などから開発を継続することが困難になったため、Safari機能拡張版SmaSurf for Webブラウザ拡張機能の開発は中止いたしました。
— SmaSurf (@smasurf) July 14, 2015
年間99ドルも払って特に収益可能でもない自分では使わない拡張機能を作るほどマゾではないです.
Edge向けにも公開予定はないはずだったのですが
Edge向けに公開するか考えていたのですが, どうも招待制で将来的にはChromeのものを使えるらしいのでやめました. 「Edgeで既存のChrome拡張機能をサポートする意向」とMicrosoftの担当者がRedditで - ITmedia NEWS
今は EdgeでChromeの拡張機能をインストールする方法【Microsoft Edgeの使い方】 - WPTeq のようにChromeのものを使えば使えるようですね.
UserScriptとして公開したかった
わざわざブラウザ拡張にしなくてもUserScriptの形式にして
Greasy Fork – 便利で安全なユーザースクリプトをで公開すればクロスブラウザ即対応じゃんと思ったのですが,
@require
で外部スクリプトを指定しないといけない方法と,
TypeScriptで型チェックしたいという欲望がミスマッチすぎるので諦めました.
ここ動かないんだけど?
是非ご連絡をください. 連絡も貢献で私は貢献を待っています.
利用者の声
ncaq/goodbye-rfc-2822-date-time: I hate the date and time notation method like RFC 2822. This extension converts time notation to native language as much as possible. https://t.co/caMrQvu2ZC
— tkr (@kgtkr) March 12, 2019
エヌユルさんのこの拡張、英弱に取ってはまじで神なんだよな
めっちゃ嬉しい "ncaq/goodbye-rfc-2822-date-time: I hate the date and time notation method like RFC 2822. This extension converts time notation to native language as much as possible." https://t.co/5JYxS0S7AI
— ユーン🍆 (@euxn23) March 12, 2019