« July 2007 | Main | September 2007 »

August 2007

27 August 2007

さくらのレンタルサーバ・スタンダードにvimをインストール

参考 さくらインターネットの共用サーバに vim をインストールする

mkdir -p ~/local/srccd ~/local/srcwget ftp://ftp.vim.org/pub/vim/unix/vim-7.0.tar.bz2wget ftp://ftp.vim.org/pub/vim/extra/vim-7.0-extra.tar.gzwget ftp://ftp.vim.org/pub/vim/extra/vim-7.0-lang.tar.gztar jxf vim-7.0.tar.bz2tar xvfz vim-7.0-extra.tar.gztar xfz vim-7.0-lang.tar.gzcd vim70/mkdir patchescd patches/curl -O 'ftp://ftp.vim.org/pub/vim/patches/7.0/7.0.[001-243]'cd ..cat patches/7.0.* | patch -p0./configure --enable-multibyte --enable-xim --enable-fontset --with-features=big --prefix=$HOME/localmakemake installvi ~/.cshrcsource ~/.cshrcvi $HOME/.vimrc

しかし subversion を入れるのは苦労しますねー。まだインストールできてないのです。インストールできたらここにログを残す予定です。

22 August 2007

Movable Type テンプレートタグリファレンスはOpenSearch対応

Movable Type テンプレートタグリファレンスはOpenSearch対応されています。

ブラウザがFirefox2の方は以下のようにすると便利です。


  1. Movable Type テンプレートタグリファレンスのページを開く

  2. Firefoxの検索窓にある"「MT テンプレートタグ検索」を追加"を選択
    firefox_add_search.jpg


これでFirefoxの検索窓からタグ検索が出来ます。
結果もこの通り。
firefox_MT_search_result.jpg

それから、irc.freenode.net にある日本の Movable Type のチャンネル #movabletype-ja でもタグ検索が可能です。MT テンプレートタグ検索は部分一致による検索が可能なのに対して、#movabletype-ja は完全一致になります。


@tags MTEntries

のようにIRCに発言を入れますと、Movable Typeという名前のボットが次のように応えてくれます。

MovableType: http://movabletype.jp/documentation/appendices/tags/entries.html


Movable Typeは様々な角度からタグ検索が可能になっていますので、「あれ?なんていうタグだっけ?」とか「あのタグはどんな機能を持っているんだっけ?」なんていうときご利用ください。

They are feeding the hamster.

When I went to Stage6, they were feeding the hamster.

Yeah, he is so cute.



14 August 2007

Movable Type Plugin: Refeed

Movable Type のプラグインで Refeed というプラグインがあります。作者は Ben Trott です。

何をしてくれるプラグインかというと reblogging の機能をMovable Type 4 につけることです。

Refeed will then check every hour for new posts in those feeds, and it will pull in any new posts to be published on your own blog.

しかし、どうやって every hour を実現するのか?というのが気になったのでソースを見てみました。

Refeed プラグインの refeed.pl にある init_registryメソッドで以下のように登録しています。

sub init_registry {  my $plugin = shift;  $plugin->registry({    tasks => {      CheckFeeds => {        label    => 'Check for updates to feeds (Refeed)',        frequency  => 60 * 60,        code    => sub {          check_feeds( $plugin );        },      },    },  });}

60分間隔で check_feedsメソッドを動かすという設定になっています。

ところで、tasks というカテゴリに登録していますね。
(Movable Type のルートディレクトリを MT_ROOT とした場合、)MT_ROOT/tools/run-periodic-tasks が tasks として登録されたメソッドを実行します。
つまり run-periodic-tasks を動かしてあげれば、60分ごとにフィードを取得してくれるようになります。

ところで、run-periodic-tasks ですが、ソースコードに以下の行があります。

require MT::TheSchwartz;

つまり
Six Apart のオープンソースプロジェクト
のひとつである TheSchwartz が必要になります。

結局のところ、TheSchwartz が動作するサーバでじゃないと Refeed は動かないということになりますね。。。

結論、私は XREA の無料サービスを使っているので TheSchwartz はインストールできないっぽいです。さらには cron も使えません。。。残念でした。

ということで、Refeed は『指定したフィードを run-periodic-tasks によって自動的に取得し、XMLRPC サーバ経由でエントリを自動的に投稿してくれるプラグイン』なのでした。

参照

サイト内検索を導入してみる。

TypePad Japan のブログに ブログにサイト内検索ボックスを設置しよう! というエントリがありました。

早速私も挑戦してみました。Google Co-op を利用したサイト内検索になりますので、実際には TypePad に限らず他のブログでも応用が効きそうですね。

Google Co-op の設置方法については、TypePad Japan のサポートページ ブログにサイト内検索を設置する方法 にあります。このページに記載されている順に記述していけばおおよそ問題ないと思います。

ただし1点だけHTMLの理解が必要な点があります。それは『2 search.html ファイルの作成』の部分です。対象のブログのトップページのソースを表示してそれをテキストエディタに保存して編集する部分ですね。これはTypePadのHTML構造を理解していないとちょっと難しい編集になっています。検索結果を『Google の検索結果ページのデザインではなく、ブログのデザインと同じにしたい』というユーザの方は頑張る必要がありますね。しかもブログのレイアウトを変更したらこのsearch.htmlも同じように変更しなければならない。これはちょっと面倒です。

今のところこのデザインに関する解決策がないので、HTML編集が苦手という方は、Google Co-opのCodeのところで、Search box and search results code for your websiteを選ぶのではなく、Search box code for your websiteを選らんでsearch.htmlは作らずにGoogleのデザインの検索結果ページを選ぶのが無難かと思いました。

とはいえ、サイト内検索が手軽に導入できるという点において、Google Co-op の利用は良いソリューションだと思いました。ご興味がある方は是非お試しください。

* Google Co-op を利用するためにはGoogleのアカウントが必要です。

どこからでもアクセスできるドライブだから SkyDriveか

microsoftのフリーディスクスペースが Windows Live SkyDrive という名前で登場。前は http://folders.live.com/ というURLでアクセスしていたのですが、正式名称が SkyDrive になったんですね。

このエントリのタイトルにも書きましたけど、どこからでもアクセスできるドライブというコンセプトから SkyDrive というのは明快ですね。私はこのネーミングはとても気に入りました。

SkyDrive を私はそこそこ利用しているのですが、結構便利です。メールに添付するにはちょっと大きいし、だけれどもUSBメモリを持ち歩くのも面倒だし、実際にはパーマネントなファイルというよりはテンポラリのファイルだし、じゃフリーなディスクスペースに突っ込んで会社と自宅で共有しましょうか、ってな具合ですね。

500MBもありますから、ちょっとしたドキュメントなら余裕ですよ。皆さんも是非お試しください。

13 August 2007

Better Gmail 、いいすね。

ITmediaの Lifehacker Top 10:"非公式"Gmailアドオントップ10 という記事で紹介されていた Firefox のアドオン Better Gmail はいいすね。

一番気に入ったのは、Gmail + Google Reader の機能です。これだと Plagger で送信する必要がないかもなぁと思ったり。one UI で収まるってのはいずれにしても快適です。

参照

まわりこみはこうやって消す。clear: both;

CSSで画像やテキストの回りこみを回避したいときには以下のように書こう。

clear: both;

参照
CSS Clear Property: w3schools

09 August 2007

はてなスター再掲

このブログのテンプレートを Movable Type 4.0 のデフォルト・テンプレートに置き換えました。 Movable Type 3.x系のテンプレートはあっさりと捨ててしまったわけです。
そんなわけで、Movable Type 4.0 したら はてなスター が消えてしまいましたので再度つけようとしました。

そうしましたら、Movable Type 4.0 ではテンプレートの効率化をはかっているので、ヘッダー部分などは全テンプレートで共通になっていました。モジュールの共通化・共有化。すばらしい。

しかし、タグとクラス属性をダイレクトに指定する はてなスター にとって、この共通化はどうなのか?と。Movable Type 4.0 では、メインページとブログ記事のページとでエントリのタイトルのタグが違います。メインページは h2ですが、ブログ記事のページは h1 になります。(クラス属性はどちらも asset-name です)

おーっと困りましたね。そこで Movable Type 開発チームに聞くと「そりゃあんた MTIf でほげほげ・・・」とかいうので、その通りに書きました。

テンプレート > テンプレートモジュール > ヘッダーを開き、<head>~</head>の間に指定する「 はてなスター を設置するためおまじない」を以下のようにします。


<script type="text/javascript" src="http://s.hatena.ne.jp/js/HatenaStar.js"></script>
<script type="text/javascript">
<MTIf name="main_index">
Hatena.Star.EntryLoader.headerTagAndClassName = ['h2', 'asset-name'];
<MTElse>
Hatena.Star.EntryLoader.headerTagAndClassName = ['h1', 'asset-name'];
</MTIf>
Hatena.Star.Token = 'それぞれのユーザごとのID';
</script>

MTIfタグ最高!テンプレート最高!ってことで はてなスターを再度設置しました。

08 August 2007

Movable Type 4.0, 3 2 1 Go!

出ましたね。 Movable Type 4.0 ですよ!

本日はSAKKでのUpgrade-a-thonということで、自分のサイトを Movable Type3.x系から Movable Type 4.0 へアップグレードしました。

ざっくりと流れを以下にまとめます。
私のサーバはXREAなのですが、コンソールでごにょごにょするのはあまり強くないので、FTPクライアント経由で黙々とアップグレードを実施しました。

  1. MySQLをバックアップ。
  2. CGIがあったディレクトリmtをmt3にリネーム
  3. Movable Type 4.0 を FTP で mt4 ディレクトリにアップロード。
  4. mt.cgiにアクセス。mt-wizard.cgiが動くのでそれに従いながらmt-config.cgiを作成。mt-wizard.cgi最高!ホントにインストールの負荷が相当に軽減されるよ。素敵。
  5. ここがxrea特有のおまじない。mt-config.cgiが生成されたあと、Firefoxによる「included というプロトコルはどのプログラムにも関連づけられておらず、Firefox でこのアドレスを開く方法が分かりません。」というエラーが表示されます。これを解決するには、毎度恒例の「cgiをxcgに置き換える」方法で切り抜けるのがベターです。でも今回はMovable Typeのコードをいじりません。作業内容は以下の通りです。
    • mt.cgiをmt.xcgにリネーム
    • mt-upgrade.cgiをmt-upgrade.xcgにリネーム
    • mt-config.cgiに以下の2行を記述。
      AdminScript mt.xcg

      UpgradeScript mt-upgrade.xcg



  6. これで管理画面へのアクセスが出来るようになります。

で、私はこれまでmtディレクトリにcgiもコンテンツも両方とも出力していました。しかし今回のアップグレードに関連して、コンテンツとcgiの分離に成功しました。これは思わぬ成果です。複数のブログを所有しているわけではありませんが、でもコンテンツとプログラムは別々に管理したいですもんね。

ここまではこれまでのコンテンツをそのまま Movable Type 4.0 に移行した場合の話です。ホント簡単です。でもせっかくなので、 Movable Type 4.0 にバンドルされているテンプレートやらデザインを試してみたいじゃないですか!だからテンプレートを修正したら個別アーカイブ(ブログ記事)が再構築のときに出力されない罠にかかりました。ハマりました・・・。

UPDATE「システムメニュー ≫ ブログ 」で表示されるブログ一覧で、希望のブログを選択し、「テンプレートを初期化」を行うとデフォルトのテンプレートになるそうです。よいこはそっちで、デフォルトテンプレートにしてくださいませ。MT4 - qootas.org/blog

というとおりにこのブログ全体のテンプレートを初期化します。そして、次に、「テンプレート ≫ アーカイブテンプレート ≫ ブログ記事」に進み、ページ下部のアーカイブマッピングを見ます。見ると、アーカイブマッピングが存在しませんでした。そこで『アーカイブマッピングを作成』をクリックしてパスを入力するわけですが、その際に過去との互換性を考慮して、「カスタム ≫ %y/%m/%f」にしました。これは yyyy/mm/entry_basename.htmlとunderscoreで連結したascii文字で表現されるファイル名になるものです。

そしてえい!再構築!!

やっと Movable Type 4.0 らしいブログになりました。

Movable Type 4.0 にみなさんもアップグレードすると良いと思います。何が良いかというと、私がオススメしたいのは、管理画面のクリック数の減少です。何か使いやすく感じるなぁと思ったのですが、それはクリック数が減少したことだと思います。Movable Type 4.0 公開と、これまでのMTの歴史年表:Goodpicでも『もう3.xには戻れない感じ』という話も出ているくらいです。私も同じ感想です。もう3.xには戻れません。Movable Type ユーザなら迷わず 4.0 にした方がいいと思います。

Continue reading »

Access Ranking

Powered by Six Apart
Sponsored links