人気記事ランキング

このブログのトップにアクセスの多かった記事を4つ表示していますが、自動で生成されているわけではありません。
自分でアクセス解析の結果を見て、アクセスが多いページ4つを選んで自分で作成しています。
しかしながら、ちょーめんどくさいので、ログから自動で人気記事ランキングを作りたい。
そう思って探していたらやっぱりありました。
世の中すごい人がいるものですね。
というわけで、今回はMovableTypeで人気記事ランキングを作る方法です。
作る方法というか、クロスブリードさんのMT-MostVisitedの導入方法を、ファイル名がエントリーID以外でも強引にやっちゃう方法です。

人気記事ランキングを作るには、MT-MostVisitedプラグインを利用します。
コレ自体の導入の仕方は、以下の参考にさせていただいたサイトさんが素晴らしい説明をしてくれているので、割愛。。。

クロスブリードさんはPHP化のときもじっくり見させてもらって感謝感謝ですm(._.*)mペコッ

で、いつものごとく、紹介して終わりか?、というとそうじゃないんです。
相変わらず、皆さん素晴らしい解説をしてくれているのに、動きませんw

なぜ動かないのか、というと、
このMT-MostVisitedプラグインは、ログに記録されたページの
ファイル名からEntryIDを取得
するんですよ。

と言われても、使ったことある人しかわからないですよね。
クロスブリードさんでも、コメント欄に
アーカイブファイル名を日付とかにしたので、現在は使ってない
って書いてましたが、私も日付でアーカイブファイル名を作ってるので同様に使えないのです。

んじゃ、どうするか。
エントリーIDのアーカイブファイル名にするのが一番楽なんですが、何か負けた気がするので、ログファイルに記録されるファイル名を強引に書き換えてみたいと思いますw

ログ取りcgiの改造

まず、基本はクロスブリードさんのところの構成です。
(ログ取りcgi+エントリーアーカイブでcgiを呼ぶ)
ログ取りのcgiの元は、クロスブリードさんのcgiを利用させていただきましたm(._.*)mペコッ
クロスブリードさんのcgiを元に、cgiの呼び出し側から「***.cgi?EntryID=35」というようにEntryIDを入れてあげて、そのIDを使ってファイル名を生成しています。
(できれば、アイディアだけ汲み取ってご自分でスクリプトを書いていただけると一番うれしいですw)

これをダウンロードしましょ

$max、$myself、$archive_pathは自分の環境に合わせて変更してください。
(よく見てないですが、恐らく今のスクリプトだと$myselfは使ってないです。)
基本はクロスブリードさんのところの設定と同じです。

で、本家のcgiはエントリーアーカイブに、以下のような感じで書きますが、

<SCRIPT Language=”JavaScript”>
<!–
document.write(“<img src=’http://(サーバ名)/logs/aclog.cgi?”);
document.write(document.referrer+”‘ width=1 height=1>”);
// –>
</SCRIPT>
<NOSCRIPT>
<IMG src=”http://(サーバ名)/aclog.cgi?JS_OFF” width=”1″ height=”1″>
</NOSCRIPT>

改造したログcgi使う場合は、エントリーアーカイブに

<SCRIPT Language=”JavaScript”>
<!–
document.write(“<img src=’http://(サーバ名)/logs/aclog.cgi?EntryID=<$MTEntryID$>&ref=“);
document.write(document.referrer+”‘ width=1 height=1>”);
// –>
</SCRIPT>
<NOSCRIPT>
<IMG src=”http://(サーバ名)/logs/aclog.cgi?EntryID=<$MTEntryID$>” width=”1″ height=”1″>
</NOSCRIPT>

と、追加します。
srcのURLは適度に書き換えてください。
まぁ、クロスブリードさんのcgi呼び出しに、EntryIDを追加しただけです。
「JS_OFF」って何に使ってるかわからなかったので、消しましたが・・・。
(CGIわかりませぬ・・・)
まぁ、デバックとかは追い追い。。。

このログcgiで吐き出されたログファイルを使えば、MTMostVisitedが動いてくれる・・・はず。
現在、トップページでためしに動作させてます。
といっても、まだ自動更新ではないです・・・w
自分で再構築する必要があります。
最終的には、トップページの下部にあるように専用の画像付きで出したいし、まだまだいじらなくてはいけません。

できればログも、新たにログを取るのではなくて、
アパッチログに記録されている日付ファイル名を、エントリーIDに変換したいところですがね。

MTで、インデックスが更新される際に「EntryIDとファイル名の関係を示したファイル」を作るようにして、そのファイルを利用して、アパッチログを変換。

と、考えてはみたが、cgiは詳しくないので今すぐには作れない;w;
本棚探したらcgiの本もあったし、今度チャレンジする・・・かも。

Robocode

懐かしいものを発見してしまいました。
知ってる方はいますかねぇ?

『遊びながらJavaプログラミングを勉強できちゃう!』

という面白いツールです。

Javaで提供されているロボット(というか戦車)のクラスと機能を利用し、改造しちゃって自分だけのロボットをつくり、そして戦わせる!!

プログラミングを勉強してみたいが、何作っていいかわからないし、メモ帳とか作っても面白くないしな~(-_-; って人はやってみるといいかもしれません。

まぁ、だいぶ古いネタではあるのですけどね・・・w

Robocodeみたいなやつは他にないのかなぁ・・・。
誰か知ってたら教えてください!

試しにやってみたい方は続きを読んで見てください~。
ロボできたら私のと戦ってみましょうか!
まだ作ってませんが!w

ちなみに、JavaなのでMacやLinuxでもできるはず?(試してないですが)

1.インストール

インストールはプログラミングしようと思ってる人ならたぶん簡単です。
下記のリンクから、インストールしてみてください。

インストール

JDKが入ってようが入っていまいが、JDKって何?という方も、真ん中あたりの「ここをクリック」というのからどうぞ。
その後、「インストールを完了するには、以下のようにします」とでるので、「robocode-setup.jar」をダウンロードしてください。
先ほど試しにやってみたら、「robocode-setup.jar」からダウンロードできなかったんですが、同じ症状の方がいましたら「ここをクリック」という方でダウンロードしましょう。

ダウンロードが完了したら、次はインストールですが、インストールはコマンドプロンプトから行います。
コマンドプロンプトはウィンドウズのメニューの中の「アクセサリ」の中にあります。
コマンドプロンプトを起動したら、

cd robocode-setup.jarがあるフォルダ

と入力してENTERを押してください。
「cd」の後には一つスペースです。そのスペースの後に、robocode-setup.jarがあるフォルダまでのパスを書きます。
フォルダのパスがどうしてもわからなければ、robocode-setup.jarをc:の直下に置き、「cd c:」とでもしてください。

その次に、

java -jar robocode-setup.jar

と入力します。
そうするとインストールウィンドウがでてくるので、後は指示に従って進んでください。
インストールが終わると、デスクトップにショートカットができますので、それをダブルクリックすると起動します。

2.試しにサンプルでバトル

起動したら、サンプルロボットでバトルさせてみましょう。

  1. メニューの「Battle」→「New」を選択します。
  2. 左側の「Packages」の「sample」をクリックすると、その右側のリストにロボットが表示されます。
  3. リストの隣の「Add All ->」というボタンをクリックします。そうすると全てのロボットが追加されます。
  4. 下にある「Start Battle」をクリックすると、試合が開始されます。

どんぱち勝手にやってくれます。
これからあなたはこの中のロボットを一掃するすげーやつを作るわけです。

オラわくわくすっぞ!

ですよね(;゚Д゚)

3.自分のロボット作成

んじゃ、ロボットを作ってみましょう。

まず、ソースを作成します。

  1. 「Robot」→「Editor」を選択すると、「Robot Editor」というのが起動します。
  2. 起動したら、「File」→「New」→「Robot」を選択します。
  3. ロボットの名前を入力するウィンドウがでますので「MyFirstRobot」にしてみます。
  4. 次にパッケージ名を入力します。「mypackage」とでもしておきましょう。
  5. 起動したら、「File」→「New」→「Robot」を選択します。

そこまでいくと、なにやらウィンドウにプログラムらしきものがでてきました。
このままでも立派なあなたのロボット(戦車)でございます。

それじゃ、これをコンパイルしてみましょう。
プログラムはソースのままでは動いてくれません。コンパイルすることでロボットが動くことができる状態にしてあげます。

  1. メニューから「Compiler」→「Compile」を選択します。
  2. ファイルやパッケージの保存ウィンドウがでてくるので、まずはそれを保存します。基本はYESとか連打でOKです。
  3. 保存が終わるとコンパイルが始まります。たぶん一瞬で終わります。

これで、あなたのロボットは敵ロボットを倒す準備が完了しました。
次はあなたのロボットを使ってバトルしてみましょう。

4.バトル!

コンパイルできたので、自分のロボットを戦わせてみましょう。

  1. 「Battle」→「New」を選択します。
  2. もし右側の「Selected Robots」にロボットが選択されたままであれば、「Remove All」を押して全て取り除きます。
  3. きれいになったら、左側の「Packages」で、先ほど作った「mypackage」を選択すると、「MyFirstRobot」がいますので、それを選択して「Add」を押します。
  4. 対戦相手には、「Packages」の「sample」を選択し、適当なロボットを「Add」で追加します。
  5. ロボットの追加が完了したら、「Start Battle」を押しましょう。

サンプルロボットめえええ。タイマンじゃー

まぁ、最初のロボは大して強くはありません。
たぶんWalls辺りには絶対勝てないでしょう。

後は、ソースを改良→コンパイル→対戦!して楽しむといいでしょうw
参考リンクの「闘え、Robocode (ロボコード) !」と「インストール」の右側にあるRobocodeのAPI仕様書をダウンロードして一通り読みながらやると、基本はマスターできるはず。

さすがに、古いツールなので、もう大会はないですが、当時はIBMが商品を出した大会とかあって結構盛り上がっていました。
いまさらではありますが、プログラムやJavaの勉強してみよー、って思ってる人いたら、試しにやってみましょう

参考リンク

基本的なこと:
闘え、Robocode (ロボコード) !

応用色々:
Robocodeの達人たちから秘訣を学ぶ: 高等なターゲッティング — パターン認識
Robocode関連リンク集

CodeRuler

Robocodeみたいに遊びながらJavaを勉強できる(はずの)「CodeRuler」。
どんなものか、ここを読んでやってみました。

インストール&いじる準備

  1. Eclipseをインストールする。
    私は既にインストール済みだったですけど、このページでも読んで入れてみましょう。
    よーわからな人は、ここのAll-In-One-Eclipseが楽でいいです。
  2. CodeRulerをダウンロード
    このページからダウンロードします。IBM IDが必要になるので、登録してない方は登録しないといけません。
  3. ダウンロードした「IBMGamesPkg_3.0.0.2.zip」を解凍したら、「com.ibm.games_3.0.0.2」というフォルダがあるので、eclipseの「plugins」フォルダにいれます。
    うちだと、「C:Program FilesAll-In-One-Eclipseeclipseplugins」です。
    これでいじる準備完了~。

ためしにいじってみる

  1. Eclipseを起動したら、「ウィンドウ>設定」を開き、「IBM Games」を選択。
    右側にでてくるGame:の部分を「CodeRuler」にして「Create Project」を押す。
    これでプロジェクトができあがり。
  2. できあがったCodeRulerのプロジェクトの「src>(デフォルト・パッケージ)>MyRuler.java」を選んでダブルクリック。
  3. 以下の関数の中身を適当にかえちゃいます。
    農民がランダムに動くソースです。

    
    import java.util.Random;←ソースの上の方に追加。
    
    protected Random rand = new Random();
    ↑public class MyRuler extends Rulerの
     すぐ下にでも追加。
    
    public String getRulerName() {
    return "l3 Test Ruler";
    }
    
    public String getSchoolName() {
    return "l3 Test School";
    }
    
    public void orderSubjects(int lastMoveTime) {
    // put implementation here
    IPeasant[] peasants = getPeasants();
    for (int i = 0; i < peasants.length; i++) {
    move(peasants[i], rand.nextInt(8) + 1);
    }
    }
    
  4. ファイルを保存する。
  5. 「プロジェクト>すべてビルド」でビルドする。
  6. メニューバーの下に
    CodeRulerButton.gif
    こんなのがあるはずです。
    まずはButton_RunSample.gifを押します。
  7. なんかゲームっぽいウィンドウがでてきます。
    OpponetSelectionというウィンドウがでてくるので、適当に選んで「Add」を押して追加して、OKを押します。
  8. 農民がランダムに動いているのがわかると思います。
    実行中に画面が止まったりして操作できなくなったら、Eclipseの「実行>終了」で終了させちゃってください。
    それでも終了しないときは、CTRL+ALT+DELで終了させましょう。。。

battle.jpg

感想

Robocodeに比べて、とっつきにくい印象は強いかも?
Robocodeの場合、run関数に「 turnRight(180) 」って書くだけで右に回転したりするため、感覚とコードが一致しやすい。
また、クラスなんかを意識しなくても最初は作れる。だんだん慣れてきて、すごいことをしようとしたときに初めてオブジェクト指向の知識が必要となり、抵抗少なく勉強が可能な気がする。

CodeRulerの場合、農民一人を動かすにも「IPeasant[] peasants = getPeasants();」でワールドにいる全農民を取得して、それぞれの農民に対して、「move(動かしたい農民,移動方向)」とやる必要がある。
初めてJavaやプログラミングを触る人が、すぐにコードを書けるかというと、ちょっと無理がある気がする。
自分が動かしている、いう実感が沸かなすぎる。

下に書くCodeRallyの方が、そういう意味ではわかりやすくなってるかなぁ。

IBMでの位置づけはわかりませんが、Robocodeで遊べるレベルはクリアしてないと、CodeRulerは無理かもしれませぬ。

CodeRally

ちなみに、ここから「CodeRally」をダウンロードして、Eclipseのpluginsフォルダに入れてあげると同様の手順でCodeRallyが遊べます。
CodeRulerでは「ウィンドウ>設定」の「IBM Games」から「CodeRuler」を選んでプロジェクトを生成しましたが、CodeRallyの場合は「CodeRally」を選び「Create Project」をすればOKです。
CodeRallyも、CodeRulerと同様に専用のボタンが追加されてるので、それを押してRunさせます。

race.jpg

CodeRallyやってみたい方はここを読むと幸せになれるかもしれません。

付録

CodeRulerボタン

icon 意味 説明
Button_RunSample.gif サンプルを相手に実行 このボタンを使い、プレイヤー自身が選ぶサンプルの支配者を相手に自軍の支配者をテストします。
Button_DebugSample.gif サンプルを相手にデバッグ このボタンを使い、プレイヤー自身が選ぶサンプルの支配者を相手に自軍の支配者をテストします。デバッグ・モードで自軍の支配者を実行し、プレイヤー自身が設定したブレークポイントで停止します。
Button_RunOtherTeam.gif 別のチームを相手に実行 コードをサブミットした後、別のチームの支配者がダウンロードされます。このボタンを使うことにより、別のチームの支配者を相手に自軍の支配者をテストします。
Button_DebugOtherTeam.gif 別のチームを相手にデバッグ 別のチームの支配者を相手に自軍の支配者をテストする間、IDEのデバッグ・モードで自軍の支配者を実行します。
Button_CodeSubmit.gif コードをサブミット これで自軍の支配者をサブミットしてください。これまでに他のチームによりサブミットされた全ての支配者の暗号化されたバンドルのダウンロードをもします。

参考リンク

CodeRuler

CodeRally

Eclipse

VirtualHostの設定

apacheのVirtualHost機能を利用して、
http://planset.dip.jp/http://files.orz.hm/
を振り分けて動作するようにしてみました。
ついでに、よくあるうpろだhttp://files.orz.hm/に設置してみました。
まぁ・・・細い回線なので、利用したい方はほそぼそと使ってください・・・。

planset.dip.jpとfiles.orz.hmをVirtualHost機能を使って振り分ける設定。
apacheのhttpd.confに以下のような感じで設定します。

NameVirtualHost *

<VirtualHost *>
ServerName planset.dip.jp
DocumentRoot /aaa/bbb/ccc

<Directory /aaa/bbb/ccc>
Options All
AllowOverride None
Order allow,deny
Allow from all
</Directory>

CustomLog /var/log/httpd/planset_access_log combined env=!no_log
ErrorLog logs/planset_error_log
</VirtualHost>

<VirtualHost *>
ServerName files.orz.hm
DocumentRoot /ddd/eee/fff

<Directory /ddd/eee/fff>
Options All
AllowOverride None
Order allow,deny
Allow from all
</Directory>

CustomLog logs/files_access_log common
ErrorLog logs/files_error_log
</VirtualHost>

基本的には、

  • ServerName
  • DocumentRoot

の設定をして、設定したディレクトリの設定を、<VirtualHost>内に記述してあげれば、アクセスできると思います。
後は、今までVirtualHostを使う以前に、設定していた内容(CustomLogとかErrorDocumentとか)を、各<VirtualHost>設定に記述してあげればOK。

フォルダの共有 – Windows Live Messenger

フォルダの共有を試してみるために、某Zさん向けにフォルダを作ってやってみたのですが、同期がとれないままうまくいきません。

ルーターのポートが開いていないからかなー?

でも、どのポートかわからないので、試しに全部開いてみたら・・・ウイルスバスターが「ウイルス来ましたっ!ウイルス来ましたっ!」ってうるさいので断念。。

しょうがないのでMSのサポートにメールを出しました。

余り良い返事は期待していなかったんですが・・・

素早い返信&詳しい説明に感動www

ClubTのサポートは見習ってほしいです。

書いてる内容はポート番号(TCP 6891 ~ 6900)と、UPnPでやってほしいナリ、ってのと、あとは丁寧にやり方を沢山書いてるくらいかな。
(ポートはMSページのどこかにも書いてあったのかもしれないけどね・・・)

ポート空けなくてもいいならいいんだが・・・。

他の人ともフォルダ共有試してみるか~。

フォルダ共有機能自体を今後使うのかと言われると微妙だけどw

ま、あいた時間に。

Linuxで便利なコマンド

★メールアカウントの作成?
# useradd -s /sbin/nologin ×× ××はユーザー名
 

 引用元:Homeserver on Vine Linux
 Postfixの標準設定ではLinuxのユーザーがそのままPostfixのユーザーとなる。つまり、作成したユーザーがあれば、そのログイン名がそのままメールアカウントになる。たとえば、jitaku-server.netドメインでuserという名前のユーザーがいれば、user@jitaku-server.netというメールアドレスになるわけだ。新たにユーザーを作成したときはuseraddコマンドを使う。
 メールしか使わず、Linuxにログインしないというユーザーの場合は、ユーザーを作成するときに次のように指定する。こうすればLinuxにログインできなくなるため、安全性を高めることができる。
 

★インストールされているパッケージの確認
例) rpm -qa | grep postfix
★起動されている確認
例) ps ax | grep postfix
★自動起動設定の確認
chkconfigコマンドで調べる。
 ・自動起動設定一覧
   chkconfig –list
★パスを調べる
echo $PATH
★パスを追加する
setenv PATH $PATH:追加するパス (cshの場合)
export PATH=$PATH:追加するパス (bashの場合)
★ユーザの追加
/usr/sbin/useradd -c ‘名前 ‘ -g グループ名 アカウント名
ユーザーディレクトリは「/home/アカウント名/」に作られる
また、「/etc/skell/」の中身が自動的にコピーされる。ユーザー追加初期時に必要なフォルダとかがあればここに追加しておく~。
★パスワードの設定
/usr/bin/passwd アカウント名
★新規グループ作成
/usr/sbin/groupadd グループ名
★シャットダウン
/sbin/shutdown -h now
★再起動
/sbin/shutdown -r now
★httpの設定とか(apache)
/etc/httpd/conf/httpd.confで設定
実行コマンド:/etc/rc.d/init.d/httpd start

★ftpの設定とか(proftpd)
/etc/proftpd.confで設定
実行コマンド:/etc/rc.d/init.d/proftpd start
★SMTPの設定とか(postfix)
/etc/postfix/main.cfで設定
/etc/aliasesで「rootのメールをアカウントhogehogeに転送」などの設定ができる。設定を変更したら「newaliases」を実行する。
実行コマンド:postfix start

サーバー構築(Vine Linux 3.2)

この「planset.dip.jp」に繋がっているサーバーは、以前はWindows2000サーバーを利用していたのですが、Windows2000ってそもそもアレだし、いまいち信頼がおけないので、勉強も兼ねて流行のLinuxでサーバーを構築することにしました。
目的は、MovableTypeを利用したブログを「planset.dip.jp」で公開することです。
インストールするLinuxのディストリビューション(っていうのかな?)は、CD-ROM一枚に収まり日本語環境も割としっかりしているらしいVineLinux 3.2にしました。

簡単に「インストール~簡単なサーバー構築」までを書きますと、この一言に尽きます。

このサイト様を見て!!(ナ



Homeserver on Vine Linux – Vine Linuxで自宅サーバーを作ろう

今まで生きてきた中でこんなにもすんなりとLinuxをインストールできたのは初でした。。
しかも、やりたかった「MovableType」のことまで網羅されてる!。・゚・(ノД`)・゚・。
もう涙で画面が見えずエラーに気がつかない有様です。
もし今まで「Linuxインストールしても設定うまくいかなくて全然だめだったよぉ」って人がいたら、今すぐこのページを見てインストールしてみましょう!
きっと同じ感動を味わえることでしょうw

これでめでたくインストール終了です。

というわけにもいきませんでした
このような神サイトを作ってくださった神でも、私のようなドアホゥのやることまでは把握できなかったのかもしれません。
せっかく丁寧に書いて頂いているのに動作しないところがいくつか・・・。

そこで、私並みのドアホゥは少ないかもしれませんが、自分のためにもいくつか躓いた点などまとめておきます。
主に本当にドアホウなことで時間をとりました・・・。

イーサネット(ethernet)

実は過去に何度もLinuxを導入しようと試みたことがありました。
しかし、その試みは毎度こいつに阻まれ導入が成功することはありませんでした。
それが、イーサネット!!
今回も「apt-get update」をやろうとしたら、ネットに繋がってないことが判明!

今回もここで終わりか・・・

と思いながらifconfigなどでネットワークの情報?を調べてドライバがあってるかなど確認しましたが・・・なんと本当に起動してなかっただけのようで、eth0を起動(有効?)にしたら繋がりました。。。
なんで起動してないんだよぅブツブツ・・・

Courier-IMAPの起動(POP3受信がうまくいかない!?)

インストールすると、自動起動設定までちゃんとやってくれていてハッピーなことこの上ないのですが、それはLinuxを起動したときに起動するのであって、インストールした際に起動しているわけではないのです。
当たり前ですが起動しないと動きませんorz

/etc/rc.d/init.d/courier-imap start
/etc/rc.d/init.d/courier-authlib start

私は下の「courier-authlib」の起動を行わず、POP3受信できねーと一夜を過ごしました。。。

Hostname

Sambaを導入する際にWin側で見えるホストネームを変えようと、
「/etc/sysconfig/networkのHostnameの行」
を編集したのですが、実はここだけを変更すると設定の不一致が起きてしまいます(proftpdあたりを再起動すればおきるかな?)。

分かってる人には当たり前なのかもしれませんが、もう調べに調べまくったです。。。
まず、何のエラーでダメなのかさっぱりわからないw
まぁ、「Hostnameがうんたらかんたら・・・」ってでたら、

/etc/hosts

の中身と

/etc/sysconfig/network

の中身を比べてみましょう。
networkに書かれているホストネームが、hostsに書かれていなければ、Linuxさんはホストネームを解釈してはくれません。

PHPのインストール

一番上で紹介した「Homeserver on Vine Linux」では、PHPのインストールについて書かれていません。
私はMovableTypeでPHPを利用しようと思っていたので、PHPもインストールすることにしました。

とりあえず、インストールは簡単です。

apt-get update
apt-get install php5 php5-apache php5-pear

これだけ。apt-get便利ですね。
詳しい説明は「VINE MEMO」さんがちょーーーーーーーーーー参考になりました。
もう、他人様のサイトばかりですが、今回書いた2つのサイト様は全部ローカルに保存しておきたいくらいのありがたさ。・゚・(ノД`)・゚・。
くじけずインストールできたのは皆様のおかげです。感謝。

参考にしたサイト

VineLinux自体をインストール・設定するのは上でも書いてる2つのサイト様でほとんどOKでした。
本当に分かりやすく書いてるので、今まで「Linuxなんてムリポorz」だった人もチャレンジしてみましょー!

NiceLink For MT

MovableTypeを利用しようと色々探しているとき、とある便利そうなツールを発見しました。

FireFoxの拡張機能の「Greasemonkey」のスクリプトである「はてなダイアリー用 NiceLink」(nazokingをMovableType用に修正した「NiceLink for MT」(AUSGANG SOFTっていうちょー便利そうで今までMovableTypeで記事なんて書いたことないけどこんな機能使えるなら明日から・・・いや今すぐMovableTypeで記事書くもんっ、となりかねないやつです。たぶん。

まず、NiceLinkとNiceLink For MTで何ができるかというと。

  • 記事の編集中に、言葉を選択して「Nice」ボタンを押すと、googleの検索結果一覧が表示され、一覧から選択するだけでリンクを挿入することができます(下図参照)。
  • 同様に、自分のブログ内から検索してリンクを挿入することができます。
  • はてなダイアリーIDを設定すると、はてなダイアリーから検索してリンクを挿入することができます。
  • アマゾンのアソシエイトIDを設定すると、アマゾンのアフィリエイトリンクを挿入することができます。

nicelink_image.jpg(39822 byte)

詳しくはAUSGANG SOFTさんがFlashで分かりやすく説明されています!

かな~り便利そうなツールですが、私の環境(「Firefox 1.5」+「Greasemonkey 0.6.4」+「MovableType 3.2-ja-2」)に導入してみたら・・・動きませんでした・・・(w_-;

しかしながら、nazokingさんのスクリプトでは「Greasemonkey 0.6.4対応」となっているので、きっと動くはず・・・
そう思って、試しにはてなダイアリーのID取ってNiceLinkを使ってみると・・・動く!!
ということは、NiceLink For MTの方もどこかしら修正すれば動くんじゃないのかなぁ、と思っていじってみました。

で、これができあがったスクリプト
 動作確認環境:Firefox 1.5、Greasemonkey 0.6.4、MovableType 3.2-ja-2

nicelinkformovabletype_for_GM064.user.js

インストール方法

  1. Firefoxをインストールする。
  2. Greasemonkeyをインストールする。
  3. Firefoxでこのページを開き、「nicelinkformovabletype_for_GM064.user.js」を右クリックして「Install User Script…」でインストールする。
  4. 「ツール」→「Manage User Scripts」でインストールしたやつの「induded pages」のmt.cgiのアドレスを自分の環境に合わせて設定する。

これで、MovableTypeのエントリー作成画面を表示すると新しいボタンが追加されているはずです。

「はてなダイアリー検索」と「アマゾンのアフィリエイトリンクの挿入」をしたい場合には、「ツール」→「Manage User Scripts」から編集したいスクリプトを選んで「edit」を押して、スクリプトの初めの方にある「var HatenaId = ”;」と「var AmazonId = ”;」の”の間にそれぞれのIDを設定すると使えます(たぶん)。

実は私の環境だと、「edit」ボタンを押しても反応がないです(ノД`)シクシク
同じ症状の方がいたら、一度スクリプトを自分のPCに保存してから、メモ帳などで開いて編集して保存し、Firefoxにドラッグ&ドロップで入れてあげると、上に変なバーがでてきて「インストールしやがりますか?」と聞いてくるので「Install」ボタンを押してあげればインストールできると思います。

ちなみに、私はjavascriptもcssも全然知らないので、このスクリプトの中身を全部把握して修正してるわけじゃないです。
私の環境以外では動作がヤバイかもしれませんので、試してみる方はお気をつけて・・・m(。_。;))m ペコペコ…

で。せっかくの機能を使わないのもアレなので、とりあえず一つアフィリリンクをw

  1. 「アジアスケッチ」と編集画面に入力する。
  2. 「アジアスケッチ」の文字を選択して、「Amz」ボタンを押す。
  3. 一覧がでてくるので(これだと一つしかでてこないです)好きなのを選択する(今回は、一番左の画像付のリンクを選択)。
  4. リンクのコードが編集画面に挿入される。

で、完成したのが下のリンクです。わーい楽チン。

アジアスケッチ―目撃される文明・宗教・民族