ダイアリーの影を負うブログスター
すったもんだあったその後のスター話をまとめようと思ったのですが、びっくりするほどまとまらなかったので、まとめずつらつら書いていきます。
はてなスターのブログ一覧ページに旧ダイアリーが復活していました。
ログインしている状態 (右) としていない状態 (左) です。プライベート扱いしてくれています。私のダイアリーがプライベートモードだったことはあまり関係なく、HTML を取得できなかったから強制プライベート状態になっているのではと思っています。
先日間違って消しちゃって、下のフォームから登録し直そうとすると「はてなのサービスはこっちでやるからいいよいいよ」と登録させてくれず、途方に暮れていたのですが、いつの間にか再登録してもらっていました。
先日お知らせ記事を疑似的に作ってヘッダに表示した際、パーマネントリンクをブログのルート (http://yurume.hatenadiary.jp/) に設定したのですが、そこでテストのためにルートにスターをつけたのが関係しているかもしれません。
ちなみに現在のお知らせ記事は、はてなブログに未来日記の機能がちゃんとあったので、それを使って表示しています。未来の日付を設定するとすべて予約投稿になるものだとばかり思っていましたが、即時か予約か選ぶことができました。
このブログの他にも、ダイアリーからインポートしたブログを持っているので、そちらでも少々実験しました。結論としては、はてなダイアリープラスも、プライベートモードも、スターの不審な挙動とは関係がなさそうでした。追記: プライベートモードは関係あるかもしれません。
どうも、ダイアリー時代に既にスターがついていた記事は、ブログに移行してからも引用スターがつけられるみたいです。リダイレクト (HTTP 301) をエラーの一つとして考えていて、エラーの時はキャッシュを参照しているのではないかと思われます。
リダイレクトがエラー扱いだとしたら、まだスターのついていない旧ダイアリー時代の記事に最初にスターを付けたときの挙動なんかも納得できます。
多分私のブログ記事に紐づいたスターの情報は、はてなスターのサーバに全く蓄積されていなかったんだと思います。
前の記事で紹介した、ひとつだけ guested になった記事は、おそらくこのブログ全体で一番初めにスターがついた記事だったのではないでしょうか。yurume.hatenadiary.jp が id:pacochi に結びついているのをサーバが知ったのは、最初のスターのリクエストがタイムアウトで強制切断した後だったのではないかと思います。エラーが出てもスターを URL の場所につけることを優先して、誰宛なのか、引用は正しいかなどの付加情報の取得を諦めた結果、guested になっているのだと想像しています。
最初のスターで yurume.hatenadiary.jp/* が id:pacochi のものであると分かったので、以降はその情報をキャッシュして活用しているのだと思います。
引用スターをつける度に毎回愚直に旧ダイアリーに HTML を取りに行き、エラーになり、そこで引用と通知 (所有者情報の紐づけ) を諦めスターだけつけるものの、つけ終わった後に参照したキャッシュに所有者情報だけはあったので、後から所有者情報を付け足し、次から通知が来るようになった。でも引用チェックの HTML は取れないままなので引用は無理、という感じの流れなのではないかと妄想しています。
もうひとつスターに関する記事を書くつもりですが、久々に人力検索の方から回答リクエストが来たので、そちらに回答してから手をつけようと思っています。
追記: ダイアリーの公開範囲をカスタム (プライベートモード) にすると、新しく書いた記事でも引用に失敗するみたいです。また、引用ツールを表示させる設定にしないと、引用した文字列がサーバに送信されず、こちらも引用に失敗します。
はてなブログではこんな感じの設定にしておかないと、引用スターを楽しめないみたいです。
関連記事
はてなスターエージェントさんの来訪記録
question:1314035107 で引用スターのテストをした時のアクセスログです。HTML のサイズやタグの多寡、文字コードとその宣言方法などを変えたりしてテストしていきました。
絵文字は私の IP アドレスをマスクしたものです。
🐾.🐾.🐾.🐾 - - [23/Aug/2011:12:29:10 +0900] "GET / HTTP/1.1" 200 552 "-" "Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20110508 Firefox/4.0.6" 59.106.108.66 - - [23/Aug/2011:13:06:24 +0900] "GET / HTTP/1.0" 200 513 "-" "Hatena Star UserAgent" 🐾.🐾.🐾.🐾 - - [23/Aug/2011:13:13:26 +0900] "GET /test/star HTTP/1.1" 200 1191 "-" "Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20110508 Firefox/4.0.6" 59.106.108.66 - - [23/Aug/2011:13:15:28 +0900] "GET /test/star HTTP/1.0" 200 1179 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:15:29 +0900] "GET / HTTP/1.0" 200 586 "-" "Hatena Star UserAgent" 🐾.🐾.🐾.🐾 - - [23/Aug/2011:13:16:23 +0900] "GET /test/star HTTP/1.1" 200 1191 "-" "Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20110508 Firefox/4.0.6" 59.106.108.66 - - [23/Aug/2011:13:17:14 +0900] "GET /test/star HTTP/1.0" 200 1179 "-" "Hatena Star UserAgent" 🐾.🐾.🐾.🐾 - - [23/Aug/2011:13:20:32 +0900] "GET /test/star HTTP/1.1" 200 1191 "-" "Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20110508 Firefox/4.0.6" 🐾.🐾.🐾.🐾 - - [23/Aug/2011:13:29:54 +0900] "GET /test/star HTTP/1.1" 200 1585750 "-" "Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20110508 Firefox/4.0.6" 59.106.108.66 - - [23/Aug/2011:13:30:18 +0900] "GET /test/star#test HTTP/1.0" 200 212828 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:30:19 +0900] "GET /test/star#test HTTP/1.0" 200 172032 "-" "Hatena Star UserAgent" 🐾.🐾.🐾.🐾 - - [23/Aug/2011:13:31:20 +0900] "GET /test/star HTTP/1.1" 200 1585750 "-" "Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20110508 Firefox/4.0.6" 59.106.108.66 - - [23/Aug/2011:13:31:47 +0900] "GET /test/star#test HTTP/1.0" 200 244690 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:32:18 +0900] "GET /test/star#test HTTP/1.0" 200 196802 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:32:42 +0900] "GET /test/star#test HTTP/1.0" 200 234876 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:33:04 +0900] "GET /test/star#test HTTP/1.0" 200 124640 "-" "Hatena Star UserAgent" 🐾.🐾.🐾.🐾 - - [23/Aug/2011:13:34:14 +0900] "GET /test/star HTTP/1.1" 200 1585750 "-" "Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20110508 Firefox/4.0.6" 59.106.108.66 - - [23/Aug/2011:13:34:41 +0900] "GET /test/star#test HTTP/1.0" 200 198424 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:35:03 +0900] "GET /test/star#test HTTP/1.0" 200 173188 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:36:12 +0900] "GET /test/star#test HTTP/1.0" 200 199028 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:36:33 +0900] "GET /test/star#test HTTP/1.0" 200 147814 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:36:50 +0900] "GET /test/star#test HTTP/1.0" 200 170384 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:37:08 +0900] "GET /test/star#test HTTP/1.0" 200 225006 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:37:25 +0900] "GET /test/star#test HTTP/1.0" 200 110372 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:37:40 +0900] "GET /test/star#test HTTP/1.0" 200 218134 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:38:09 +0900] "GET /test/star#test HTTP/1.0" 200 125520 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:40:10 +0900] "GET /test/star#test HTTP/1.0" 200 298056 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:40:20 +0900] "GET /test/star#test HTTP/1.0" 200 253404 "-" "Hatena Star UserAgent" 🐾.🐾.🐾.🐾 - - [23/Aug/2011:13:40:41 +0900] "GET /test/star HTTP/1.1" 200 1585750 "-" "Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20110508 Firefox/4.0.6" 59.106.108.66 - - [23/Aug/2011:13:41:03 +0900] "GET /test/star#test HTTP/1.0" 200 122716 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:41:16 +0900] "GET /test/star#test HTTP/1.0" 200 121534 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:41:56 +0900] "GET /test/star#test HTTP/1.0" 200 188390 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:42:12 +0900] "GET /test/star#test HTTP/1.0" 200 207220 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:42:25 +0900] "GET /test/star#test HTTP/1.0" 200 236002 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:43:33 +0900] "GET /test/star#test HTTP/1.0" 200 205434 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:43:45 +0900] "GET /test/star#test HTTP/1.0" 200 97040 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:44:00 +0900] "GET /test/star#test HTTP/1.0" 200 172088 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:44:09 +0900] "GET /test/star#test HTTP/1.0" 200 200404 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:44:26 +0900] "GET /test/star#test HTTP/1.0" 200 107294 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:44:50 +0900] "GET /test/star#test HTTP/1.0" 200 378888 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:45:20 +0900] "GET /test/star#test HTTP/1.0" 200 189198 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:46:31 +0900] "GET /test/star#test HTTP/1.0" 200 212664 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:46:42 +0900] "GET /test/star#test HTTP/1.0" 200 154742 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:46:53 +0900] "GET /test/star#test HTTP/1.0" 200 142124 "-" "Hatena Star UserAgent" 🐾.🐾.🐾.🐾 - - [23/Aug/2011:13:47:43 +0900] "GET /test/star HTTP/1.1" 200 1585750 "-" "Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20110508 Firefox/4.0.6" 59.106.108.66 - - [23/Aug/2011:13:47:56 +0900] "GET /test/star#test HTTP/1.0" 200 96380 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:48:06 +0900] "GET /test/star#test HTTP/1.0" 200 109438 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:48:20 +0900] "GET /test/star#test HTTP/1.0" 200 218272 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:48:31 +0900] "GET /test/star#test HTTP/1.0" 200 183084 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:49:02 +0900] "GET /test/star#test HTTP/1.0" 200 179098 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:49:17 +0900] "GET /test/star#test HTTP/1.0" 200 177394 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:13:49:53 +0900] "GET /test/star#test HTTP/1.0" 200 216814 "-" "Hatena Star UserAgent" 🐾.🐾.🐾.🐾 - - [23/Aug/2011:14:08:34 +0900] "GET /test/star HTTP/1.1" 200 36438 "-" "Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20110508 Firefox/4.0.6" 🐾.🐾.🐾.🐾 - - [23/Aug/2011:14:09:07 +0900] "GET /test/star HTTP/1.1" 200 229478 "-" "Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20110508 Firefox/4.0.6" 59.106.108.66 - - [23/Aug/2011:14:10:30 +0900] "GET /test/star#q HTTP/1.0" 200 106626 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:10:31 +0900] "GET /test/star#q HTTP/1.0" 200 116888 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:11:36 +0900] "GET /test/star#q HTTP/1.0" 200 156886 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:11:58 +0900] "GET /test/star#q HTTP/1.0" 200 148474 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:12:18 +0900] "GET /test/star#q HTTP/1.0" 200 163374 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:12:31 +0900] "GET /test/star#q HTTP/1.0" 200 114578 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:14:32 +0900] "GET /test/star#q HTTP/1.0" 200 97782 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:15:17 +0900] "GET /test/star#q HTTP/1.0" 200 101960 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:15:40 +0900] "GET /test/star#q HTTP/1.0" 200 101018 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:15:55 +0900] "GET /test/star#q HTTP/1.0" 200 145532 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:16:18 +0900] "GET /test/star#q HTTP/1.0" 200 159168 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:16:45 +0900] "GET /test/star#q HTTP/1.0" 200 124118 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:17:00 +0900] "GET /test/star#q HTTP/1.0" 200 114524 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:18:02 +0900] "GET /test/star#q HTTP/1.0" 200 158068 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:18:14 +0900] "GET /test/star#q HTTP/1.0" 200 162274 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:18:34 +0900] "GET /test/star#q HTTP/1.0" 200 131128 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:18:44 +0900] "GET /test/star#q HTTP/1.0" 200 163594 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:18:55 +0900] "GET /test/star#q HTTP/1.0" 200 109438 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:19:13 +0900] "GET /test/star#q HTTP/1.0" 200 208622 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:19:25 +0900] "GET /test/star#q HTTP/1.0" 200 97754 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:19:35 +0900] "GET /test/star#q HTTP/1.0" 200 103362 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:19:46 +0900] "GET /test/star#q HTTP/1.0" 200 142426 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:19:54 +0900] "GET /test/star#q HTTP/1.0" 200 112902 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:20:03 +0900] "GET /test/star#q HTTP/1.0" 200 189792 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:20:13 +0900] "GET /test/star#q HTTP/1.0" 200 104764 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:20:33 +0900] "GET /test/star#q HTTP/1.0" 200 90744 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:22:22 +0900] "GET /test/star#q HTTP/1.0" 200 122716 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:22:33 +0900] "GET /test/star#q HTTP/1.0" 200 120186 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:22:43 +0900] "GET /test/star#q HTTP/1.0" 200 153862 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:22:56 +0900] "GET /test/star#q HTTP/1.0" 200 184624 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:23:06 +0900] "GET /test/star#q HTTP/1.0" 200 103362 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:23:17 +0900] "GET /test/star#q HTTP/1.0" 200 85136 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:23:29 +0900] "GET /test/star#q HTTP/1.0" 200 87940 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:23:43 +0900] "GET /test/star#q HTTP/1.0" 200 229249 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:24:29 +0900] "GET /test/star#q HTTP/1.0" 200 110620 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:24:38 +0900] "GET /test/star#q HTTP/1.0" 200 110098 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:24:44 +0900] "GET /test/star#q HTTP/1.0" 200 114304 "-" "Hatena Star UserAgent" 🐾.🐾.🐾.🐾 - - [23/Aug/2011:14:53:51 +0900] "GET /test/star HTTP/1.1" 200 218268 "-" "Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20110508 Firefox/4.0.6" 59.106.108.66 - - [23/Aug/2011:14:54:35 +0900] "GET /test/star#q HTTP/1.0" 200 170906 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:55:02 +0900] "GET /test/star#q HTTP/1.0" 200 139320 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:55:49 +0900] "GET /test/star#q HTTP/1.0" 200 187428 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:55:59 +0900] "GET /test/star#q HTTP/1.0" 200 162494 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:56:18 +0900] "GET /test/star#q HTTP/1.0" 200 218047 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:56:32 +0900] "GET /test/star#q HTTP/1.0" 200 159168 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:56:47 +0900] "GET /test/star#q HTTP/1.0" 200 218047 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:57:17 +0900] "GET /test/star#q HTTP/1.0" 200 130028 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:57:50 +0900] "GET /test/star#q HTTP/1.0" 200 218047 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:58:18 +0900] "GET /test/star#q HTTP/1.0" 200 181380 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:58:28 +0900] "GET /test/star#q HTTP/1.0" 200 180224 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:58:39 +0900] "GET /test/star#q HTTP/1.0" 200 218047 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:58:48 +0900] "GET /test/star#q HTTP/1.0" 200 183222 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:58:55 +0900] "GET /test/star#q HTTP/1.0" 200 110098 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:59:04 +0900] "GET /test/star#q HTTP/1.0" 200 149876 "-" "Hatena Star UserAgent" 59.106.108.66 - - [23/Aug/2011:14:59:33 +0900] "GET /test/star#q HTTP/1.0" 200 182122 "-" "Hatena Star UserAgent"
関連記事
Firefox で開いたソースファイル名を短くする
Firefox で外部エディタを使ってソースを表示させると、ソースのファイル名がページのタイトルになっています。
長いタイトルだとファイル名も長くなります。今使っているエディタのタブがファイル名の長さに合わせて伸びる仕様で、その結果ソースファイルのタブがとんでもない存在感になるので、どうにかしてファイル名を短くしたいなと思いました。
Firefox 側でそれっぽい設定は無くて、バッチファイル等で何とかするのがスタンダードみたいですが、バッチファイルでうまいことやれる自信がないので、PowerShell で書きました。
元のファイル名から先頭八文字分くらい貰って、現在時刻付きのファイル名に変更してから開きます。
cd $env:TEMP # スペースで区切られてきた $longfile = if ($args) { Split-Path ($args -join " ") -Leaf } else { '' } # パス結合うまくいかなかったら Temp フォルダ内の最新ファイル拾ってくる if (!$longfile -or !(Test-Path $longfile)) { $longfile = (dir | sort LastWriteTime -Desc)[0].Name } # タイトル同じで中身違うソースを複数開きたい # とりあえず開いた時刻で差別化 $now = Get-Date -Format "ddHHmmss" # 絵文字とかが切れないように $shortfile = $longfile -replace '^(([\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]){1,8}).*$',"`${1}${now}.htm" ren -LiteralPath $longfile -NewName $shortfile & "エディタのパス" "`"${env:TEMP}\${shortfile}`""
about:config の view_source.editor.path に PowerShell のパスを入れて、view_source.editor.args に -windowstyle Minimized -File "ps1 ファイルのパス" と入れておいたら動きました。
一瞬 PowerShell のウィンドウが表示されるのですが、抑止方法を調べたらあんまりカジュアルじゃない方法ばかり出てくるので、そのままで行くことにしました。
余談ですが、作成途中で Temp フォルダを確認したらごみが 300MB くらいあって、Temp フォルダの掃除はちょくちょくしないといけないなとしみじみ思いました。
追記: 半角カナの混じったタイトルや角括弧を含んだタイトルのページをうまく開けなかったので修正しました。
サブブログへのリダイレクト URL
はてなにログインする際、ドメインが hatena.ne.jp の URL を クエリの location= に設定しておくと、ログイン後にその URL にリダイレクトしてくれます。
Twitter の アカウントでログインした後にメインブログにリダイレクトする URL は、以下になります。
https://www.hatena.ne.jp/oauth/twitter/oauth?location=http%3A%2F%2Fblog.hatena.ne.jp%2Fはてな ID%2F
これのサブブログ版が欲しくてちょくちょく検索していたのですが見つからず、諦めかけていたのですが、久しぶりに公開範囲を全体公開からはてなにログインしているユーザのみ公開に変更してテストしていたら、偶然サブブログのリダイレクトに使えそうな URL を発見しました。
http://blog.hatena.ne.jp/login?blog=http%3A%2F%2Fブログのドメイン
これを location= に入れて試してみたら、ばっちり成功して、サブブログでもリダイレクトできました。
https://www.hatena.ne.jp/oauth/twitter/oauth?location=http%3A%2F%2Fblog.hatena.ne.jp%2Flogin%3Fblog%3Dhttp%253A%252F%252Fブログのドメイン
今までは Twitter のアカウントでスムーズに読めるよう、公開範囲が狭い (Twitter のフォロワー + α程度) 日記をあえてメインブログに据えて、なぞなぞ認証の文面に Twitter アカウントでのログイン用リンクと、はてなプロフィールから来た人向けにここへの誘導リンクを併記していました。
これからはそんな面倒なことをせずにシンプルに記述できます。嬉しい。
というわけで意気揚々とここをメインブログにしましたが、他の人視点のプロフィールからはてなブログのリンクが消えていました。
さっきさらっと言いましたが、実験的に全体公開にしていた公開範囲を元に戻したので、全てのはてなブログがカスタムの公開範囲になったため、消えたのだと思います。
ちなみにはてなダイアリーも全て公開範囲がカスタムなのですが、こちらはずっとアイコンが出続けています。先日のスターの件でもそうなんですが、プラスが切れたダイアリーは色々と挙動が怪しいので、はてなポイントシステムがリセットされたらまた色々調べてみたいなと思っています。
http 記法の :sound オプションを使い続けたい
はてな記法のひとつである http 記法には :sound というオプションがあります。
そのURLが「.mp3」で終わるmp3ファイルを示している場合、「:sound」と記述すると再生プレーヤーを表示します
リンクを簡単に記述する(http記法、mailto記法) - はてなダイアリーのヘルプ
メロディ記法と違ってはてなブログでもこの再生プレイヤーが利用できるのですが、Flash なので限られた環境でしか再生できません。
以前別のブログで「じゃあ audio タグで囲っとこっか」と思い、該当の記法部分を audio タグで挟んだところ、ダウンロードリンクまで挟みこんでしまい不便になってしまいました。
あと個人的にはてなプレイヤーの外観がはてなっぽくて好きなので、やっぱりできる限りこっちを表示させたいなと思いました。
そこで「じゃあはてな記法展開後に audio 要素を object の中に滑り込ませるのが正解かな」と思い直し、そういうスクリプトを書きました。
はてなブログで [http://~.mp3:sound] と書いた時に出るプレイヤーを優しくするもの
mp3 プレイヤーを使った記事の最後に以下のコードを貼り付けると、ちょっとアクセシビリティが上がるかもしれません。
(はてな記法での書き方なので、別の編集方法を採用している場合は別途読み替えてください。)
><script type="text/javascript" src="https://cdn.rawgit.com/pacochi/72fead25eebf75e3d750fe43a47c496b/raw/hb_mp3_audio.js"></script><
ここに動作確認用サンプルを書いておきます。
この記事用に音源を作る時間が割けなかったので、昔色々あってお蔵入りした音源の一部を使いました。ライセンスのゆるさを基準にしてチョイスしました。フル音源および歌詞とその訳は SoundCloud にあります。
viewport が設定されていないか特殊な設定だと、hatenablog.js の document.documentElement.scrollWidth <= window.outerWidth
に引っかかって FastClick が発動して audio 要素のコントロールが操作不能になるので、viewport を設定していない場合は勝手に付け足します。特殊な設定で操作不能になる場合はご自身でコードを書き換えてご利用ください。
ダイアリーの影が差すはてなスター
先日なぜか移行前のダイアリー (d.hatena.ne.jp) の方にスターを貰いました。
貰う数日前に、誤ってはてなスターのブログ一覧ページからここに移行する前のはてなダイアリーを削除してしまって、その影響か上記ページの Entries でダイアリー時代に書いたエントリがずらっと並んでいたので、そこから直接スターをつけたりしたのかなとなんとなく思っていました。
スターがついた時点ではこのブログ上にはてなスターを設置しておらず、ブックマークも締め切っていたため、スターをつけるとしたら何かしらアクロバティックな行動を起こさないといけないので、ブログの URL が勢い余ってダイアリーに戻っていても別に不思議はないなと思っていたのです。
それで、ダイアリーの URL にスターがついたエントリはブログの方でもスターが表示されるのかどうか気になったので、スターを有効にして、ついでにちょっと調整しました。
表示してびっくり、思った以上にたくさんついていました。
でも他のエントリについたスターの通知は来ていません。おそらくこれらのスターも同時期に貰ったものだと推測できますが、☆レポートのページはもちろん、冒頭で出したブログ一覧ページのこのブログのところにも一切スターは反映されていません。久々の迷子スターです。
通知が来た分はレポートには載っていますが、やはり d.hatena.ne.jp 宛になっているためブログには反映されていません。逆になんでこの一エントリだけスターの通知が成功したのか謎でした。
真相を探るべく試行錯誤してみたところ、大体こんな感じの結果になりました。
- 移行後に書いたエントリにスターをつけると特に問題のない挙動をする。
- 旧ダイアリーから移行した記事にスターをつけると URL が旧ダイアリーのものになる。
- 通知は来る、一度スターかスターコメントをつけたところは二回目から通知が来ると予想。
- 引用がすべて失敗する。リダイレクトページにつけたスターに一切引用ができないのは以前からの仕様。
- 記事を編集しても挙動は変わらない。カスタム URL を変更すると当然ながら今までについたスターが消える。
- スターコメントが表示されていない場合がある。
- 記事一覧ページやトップページでは表示される。挙動がおかしくないページと一緒にまとめてスター情報を取ってくると表示されるっぽい。
- 2 ページ目以降や個別エントリではまちまち。スターがつけられたエントリでは表示されてる率が高いけど絶対ではない。
- どこか表示されている場所で一旦コメントすると、以降いつでも表示される。コメントを削除しても表示される。
後でまた別の気付きがあるかもしれないので、ちょっと長いですが各エントリのリクエストとレスポンスも載せておきます。スターコメントを表示させるべくあくせくしたので、現在は値が違います。絵文字は RKS の文字列を私が削除した跡です。
続きを読むゆるアイキャッチ
Hatena::Let のマイページをさかのぼっていると、まだハッピィが表示できることに気付きました。ハッピィの着せ替えはもうできないので、変なかっこにしたままだと悔やまれるなあと思いつつ自分のハッピィを見てみました。
目がありませんでした。
せっかくなので「め」を描いて、ついでに「ゆ」と「る」も描いてアイキャッチ画像にしました。ゆる👁キャッチ。