「」に属する記事(最新5件のみ展開表示)

メイン

2006年10月11日

はてなブックマークの件数を表示

はてなブックマーク日記 - ブックマーク数を画像で取得する API の公開についてを参考に、はてなブックマークの件数を表示するようにしてみました。 といってもMovableTypeを使っているのでテンプレートの適当なところにimgタグを入れるだけです。エントリーのフッタ(時刻やパーマリンクのあるところ)はモジュールに切り出してあったので、そこに一つ。それからカテゴリアーカイブのそれぞれのエントリへのリンクに一つ。修正はたったの2カ所でした。解説するまでもないかと思うので解説は省略。

画像の背景がピンクなのでこのグリーンの背景では目立ちすぎるかも知れませんね。あとカテゴリ内一覧のようなページを開くと画像がなかなか読み込み完了しなくてうっとうしいかも知れませんね…。うーん。

2006年09月05日

GPSで取った現在位置からGoogleマップへのリンクを作成する

SA702iを使ってGPSで取得した現在位置をメールでMTに投稿した時に、デフォルトのままではPCユーザが見ることが出来ないDocomoサーバ内の地図のURLが表示されるだけで面白くないので、適当な地図サイトへのリンクにすることを考えてみました。

携帯のGPSで取った緯度経度でそのままマピオンの地図を表示するとずれています。測地系 - Wikipediaで紹介されている国土地理院による日本陸上用の変換CGIを使って、携帯GPSからの情報を世界測地系として日本測地系に変換した上でマピオンに渡すとそれっぽい位置になりました。しかし変換は面倒なので世界測地系を採用している地図を探してみると…。Googleマップでいいようですね。

Pythonで試し書き。

data = "http://docomo.ne.jp/cp/map.cgi?lat=%2B33.35.26.977&lon=%2B130.25.15.976&geo=wgs84&x-acc=1"
PAT = "(http://docomo.ne.jp/cp/map.cgi\?lat=%2B(\d+).(\d+).(\d+.\d+)&lon=%2B(\d+).(\d+).(\d+.\d+)&geo=wgs84&x-acc=\d+)"
TEMPLATE = "http://maps.google.co.jp/?t=k&ll=%f,%f"
def docomo2google(m):
  (a, lat1, lat2, lat3, lon1, lon2, lon3) = m.groups()
  lat = (float(lat3) / 60 + float(lat2)) / 60 + float(lat1)
  lon = (float(lon3) / 60 + float(lon2)) / 60 + float(lon1)
  return TEMPLATE % (lat, lon)
  
re.subn(PAT, docomo2google, data)

こんな感じですね。 あとはこれをPerlで書き直してMovableTypeのフィルタにすればOK、と。 問題はそんなことより、僕の携帯のGPSナビゲーションがなぜか「接続できません」というエラーで使えないことなのですけどねー。近いうちにドコモショップに聞きに行かないと…。

sub docomo2google{
    my($lat1, $lat2, $lat3, $lon1, $lon2, $lon3) = @_;
    my $result = "";

    my $lat = ($lat3 / 60.0 + $lat2) / 60.0 + $lat1;
    my $lon = ($lon3 / 60.0 + $lon2) / 60.0 + $lon1;
    return "<a href='http://maps.google.co.jp/?t=k&ll=$lat,$lon'>[GoogleMap]</a>";
}

# 変換部分(自作フィルタの中)
$text=~s|http://docomo\.ne\.jp/cp/map\.cgi\?lat=%2B(\d+)\.(\d+)\.(\d+\.\d+)&lon=%2B(\d+)\.(\d+)\.(\d+\.\d+)&geo=wgs84&x-acc=\d+|&docomo2google($1,$2,$3,$4,$5,$6)|ieg;

出来ました。

2006年06月15日

「MovableTypeで箇条書きを楽に入力するプラグイン」の改良

MovableTypeで箇条書きを楽に入力するプラグインで箇条書きの中にpreタグを使うと改行や空白が全部取り除かれてしまいます。

        if($2 eq ""){
            $result .= $3;
            next;
        }

の部分を

        if($2 eq ""){
            $result .= $1 . $3;
            next;
        }

に変更すれば、箇条書き内でpreタグを使ったときに改行や空白が取られてしまうこともなくなります。

2006年06月13日

MTでクリックしたエントリを編集するBookmarklet

ブックマークレットを実行すると<div class="entry" id="entry-<$MTEntryID$>">で囲われている領域をマウスオーバーでハイライト表示し、それをクリックすると編集画面を開く、というブックマークレットです。

フルバージョンは35行あって結構長いので、「川o・-・)<2nd life - bookmarkletの文字数制限を無くす」で紹介されている方法を使うといいと思います。 でもハイライトが静的なもので良ければ短くすることもできます。

javascript: (function(){baseurl = "http://YOUR_MT_POS/mt.cgi?__mode=view&_type=entry&blog_id=1&id=";tags = document.getElementsByTagName('div');for(i = 0; i < tags.length; i++){tag = tags[i];if(tag.className == "entry"){tag.style.background='#DAFADA';tag.style.border='solid';tag.onclick = function(){t = this;id = t.id.substr(6);window.open(baseurl + id);}};}})();

なおいつものようにFirefoxでしか動作確認をしていません。

続きを読む "MTでクリックしたエントリを編集するBookmarklet" »

2006年06月06日

MovableTypeで箇条書きを楽に入力するプラグイン

詳しい記法などはPythonで箇条書きをHTMLに変換をご覧ください。コンテナタグで実装してみたところエントリーの本文の中で使うことができなさそうでしたので、グローバルフィルタを使って実装しました。

続きを読む "MovableTypeで箇条書きを楽に入力するプラグイン" »

古い記事タイトル一覧

凡例{ ●: 単一エントリーへのリンク, □: そこから最新記事までを一覧表示, ■: そこから最新記事までをwindow.openで開く}(comming soon)

2006年06月01日
 ■ □ By 西尾泰和 at 2006-06-01 13:50:13
2006年03月24日
 ■ □ By 西尾泰和 at 2006-03-24 07:16:05
 ■ □ By 西尾泰和 at 2006-03-24 02:51:00