A Better Project@はてなダイアリー(インポート版)

基本的にここは更新されません。詳細はaboutへ。

はてなダイアリーの新インターフェースのテスト

はてなダイアリーの新しいインターフェース実験について - はてなダイアリー日記
カテゴリ([はてな]とか)が見出しにくっついていたのが、コメント数・トラックバック数を表示する位置に移ったので、なんとなく違和感はありますが、複数カテゴリをつけるのに便利かなとも思うので、良い変更だと思います。正式採用された場合、私のところのデザインだと、カテゴリ表示を上の方に持っていかないと、ぱっと見でカテゴリがわからなくなりますね。デザイン修正しないと。
シンタックスハイライト付きスーパー pre 記法のサンプルとして、昨日書いた、他人にはどうでも良さそうなコードをさらしてみるテスト*1

var WshShell = new ActiveXObject("WScript.Shell");
function runBrowser(browser){
    var browserPath = getBrowserPath(browser);
    var myurl = document.getElementById("urlbox").value;
    WshShell.Run(browserPath + " " + myurl);
}
function getBrowserPath(browser){
    switch (browser){
        case "IE":
            return "iexplore.exe"
        case "Firefox":
            return '"%ProgramFiles%\\Mozilla Firefox\\firefox.exe"'
        case "Opera":
            return '"%ProgramFiles%\\Opera\\Opera.exe"'
        case "Safari":
            return '"%ProgramFiles%\\Safari\\Safari.exe"' + "-url"
    }
}

はてな記法初心者が、どうやって色づけしてるんだろう?と思ったときに、その方法をすぐに確認できたりするので、他人のテキストソースも見れる機能はとても良いと思います。他人のところにも「編集」と出るのは、さすがに違和感ありなので、「テキスト表示」とかにすると良いんじゃないでしょうか。
直接編集できる機能は、エントリの内容をすぐに修正できて便利。見出しの横には、キャンセルボタンしか表示されていませんが、更新ボタンもあると便利かなあと思います。
以下、気づいた範囲でバグ出し。環境は、Windows Vista + Firefox 2.0.0.7, IE 7, Opera 9.23(全部現時点での最新安定リリース版)。細かい確認は誰かにまかせます。Safari が上のスクリプトにありますが、まだ開発版ということでテストからは除いてます。
全ブラウザで共通なのは、直接編集で、ソースコードを貼りつけてから再度編集すると スーパー pre 内の一部の改行がおかしくなります(行頭(空白は無視)に r が来るとまずいっぽい)。あと、pre 内外に関わらず、全角の波ダッシュが ? に文字化けします。
IE 7 では、直接編集で新しく追記し、再度テキストを表示させても、直前に追記した内容がテキストエリアに表示されません。強制リロードでも駄目。新しいタブで開けば、問題ないです。
また、http://d2.hatena.ne.jp/ を信頼済みサイトに入れて編集しようとすると、以下のエラーが出ます*2

---------------------------
Windows Internet Explorer
---------------------------
There was a problem retrieving the XML data:teway
---------------------------
OK   
---------------------------

そして、ロード状態が延々と続きます。
あと、全ブラウザ共通の現象として、直接編集で更新すると、キーワード抽出が消えますが、これは、ブラウザのキャッシュの問題ぽいです。リロードすれば抽出されてるのを確認できます。
最終稿は、2 時半。この土日で夜型を修正しないと…。

*1:HTA がインターフェースとしてあるのですが、それのソースは略。Safari に -url オプションをつけるのがポイント。Launchy とか、ブラウザ拡張でやれ、という感じではあるんですが(このテストも実際そうしてます)、なんとなく作りたくなったので、ちょっと作ってみたもの。

*2:ソース見てない人向けに書いておくと、このエラーメッセージは、スクリプトから出力されています。