Windows Live Writer のプラグインをつくってみる。(0)

普段は Linux がメインのぼくですが、ブログを書くときは Windows。 Windows Live Writer の存在は偉大です(笑) WLW も WordPress の管理画面と同じように、プラグインでいろいろ機能を追加で便利な環境が構築できます。 面白そうだったので、WLW のプラグインをつくってみることに・・・。 🙂

 wlwpp10

といってもすごくくだらないことにはまった(icon の埋め込みがなぜかできなかった。。) のと、あまり時間がなかったせいでなんもできてないのですが、くやしいので(?)、作り方のリンク先を紹介します。

まずは、C# でのつくりかた。

Windows Live Writer用のプラグインを開発する:CodeZine

Windows Live WriterはMicrosoftが無償で提供しているデスクトップブログオーサリングツールです。Live Writerを使用すると、オフライン状態でもデスクトップからブログエントリを書くことができます。Live WriterはMicrosoftの専用ブログサイト(Windows Live Spaces)をサポートするだけでなく、MetaWeblog APIまたはAtom Publishing Protocolに対応する任意のブログエンジンをサポートしており、たとえばWordpress、Community Server、LiveJournal、Bloggerなどのブログエンジンで使用できます。Live Writerではユーザーのブログスタイルをダウンロードし、それをテンプレートとして使用できるので、自分のブログのスタイルでブログエントリを書くことができます。

こちらは、 VB でのつくりかた。

使ってみよう! Windows Live SDK/API:第7回 Windows Live Writer ―― プラグインの作成 Part I|gihyo.jp … 技術評論社

Windows Live Writer(WLW)とは,ブログの記事の編集・投稿・管理ができるデスクトップアプリケーションです。MetaweblogやAtomPubと呼ばれるAPIに対応しているブログサービスであれば,Windows Liveスペース以外のブログでも利用可能です。複数のブログの一元管理,オフラインでの編集,Webブラウザ上ではできない高度な編集など便利なアプリケーションです。WLW用のSDKも提供されており,今回はその中のひとつであるContent Source Plugin APIを利用してプラグインを作成します。

どちらも似た感じの解説ですがとても参考になります。 WLW 自体 .NET Freamwork で動いているので、いろいろな言語でプラグインバインディングできるのが特徴です。

で、一番使いそうな挿入系のプラグインですが、WP よろしく content にもらってきて、content にかえすだけなので簡単に作ることができます。 要は必要な HTML を content に返してあげるだけです。

開発環境は、無料の Visual Studio 2008 Express Editions が使えます。

内容的には、WLW の WindowsLive.Writer.Api.dll を参照して、using すれば WLW の API が使えるようになります。 あとは予想の通り、必要な基底クラスを extends ・・・、は C# にはないのか、: で継承してコード書けばよいです。

処理の中身は .NET Freamwork がそのまんま使えるのでなんでもありです。 外に通信してなにかとりにいくもよし、ダイアログだしてその内容に応じて HTML をかきだすのもよし、です。 🙂

wlwpp01

[WriterPlugin(
    "f727d696-4888-4eaa-abd9-0124fe14262f",
    "WlInsert",
    Description = "何かをインサートします。",
    HasEditableOptions = false,
    Name = "WlInsert",
    PublisherUrl = "https://another.maple4ever.net",
    ImagePath = "icon.png")]
[InsertableContentSource("何か")]
public class Class1 : ContentSource
{ }

プラグインの名前とかをクラスの属性にいれたりします。 WP だとコメントにかくところですね。 で、あとは適当にフォームデザイナで画面つくって、、プログラムから ShowDialog(dialogOwner) とかするようにして、

wlwpp03

できあがった、DLL を WLW のプラグインフォルダにいれれば、

wlwpp02

一番下、何かの挿入。 がつくったものです。

いまは、テキストボックスの中身そのまんまだしているだけなので、なんの意味もないのですが、中身を加工して HTML でだしてあげるだけでも、何かにつかえるのではないかと思います。 😛

上の挿入系一覧のスクリーンショットみていただくと分かりますが、コードの挿入とか動画の挿入とかいろいろあって、なかなか使えるんですよね。

次のバージョンもでるようで、JS 系の画像ライブラリ対応とか、プラグインも投稿直前 hook とかもできるようになるらしく楽しみなソフトです。(SDK のサンプルは twitter に投稿するやつらしい)

窓の杜 – 【NEWS】MS、画像投稿機能を大幅に強化した「Windows Live Writer」の次期β版を公開

Microsoft Corporationは2日、ブログ投稿ソフト「Windows Live Writer」次期バージョンのベータ版となるTechnical Preview版を公開した。Windowsに対応するフリーソフトで、編集部にてWindows Vistaで動作を確認した。現在、同ソフトの公式ブログから英語版をダウンロードできる。

さらに、編集画面のユーザーインターフェイスも改善され、“Web レイアウト”“Web プレビュー”“HTML コード”などといった各画面をタブで簡単に切り替えられるようになった。そのほか、ブログのカテゴリーをインクリメンタル検索可能になったり、あらかじめ設定した語句に対して自動的にリンクを追加する“Auto Linking”機能が追加されるなど、細かい使い勝手も向上している。

インターネットのサーバサイド処理ととクライアントサイドの UI 融合ってぼくは強力だとおもっているので、こういった方向は歓迎です。 Linux の GNOME も最近こっち系ですよね。

Microsoft さんも GNOME さんもがんばてください。 🙂

WordPress 2.6 にアップデートとイースターエッグ

いくつか検証事項があったので、出遅れてしまいましたが WordPress 2.5.1 -> 2.6 のアップデートをしました。 🙂 今回の、内部構造的な大きな変更は保存履歴機能ですが、 履歴をとらないで保存、ってやつができず、わりとちょこまか数文字修正をする .another ではレコードがばんばんできちゃうので OFF にすることに。 試験サイトと .zone では ON に設定しました。

履歴機能の OFF の仕方は以下にあります。(thanx ぼのの)

Revision Management « WordPress Codex

There are options, but they are hidden well 🙂 There is a constant (not even filterable) that can be set by a plugin or in your wp-config.php file:

WP_POST_REVISIONS:

  • true (default), -1: store every revision
  • false, 0: do not store any revisions (except the one autosave per post)
  • (int) > 0: store that many revisions (+1 autosave) per post. Old revisions are automatically deleted.

ってことで、wp-config.php に WP_POST_REVISIONS 定数で false を指定してあげれば履歴機能が OFF になります。 一応標準で ON になっている機能で、今後あったほうが何かと役に立つ機能が追加される可能性もありますので、OFF にする判断は各自よく考えてからで。 🙂

// 例えば、ja_UTF.mo を wp-content/languages にアップロードし WPLANG を 'ja_UTF'
// と設定すると、日本語 (UTF-8) がサポートされます。
define ('WPLANG', 'ja');
// 履歴無効
define('WP_POST_REVISIONS', false);
 
/* 編集はここまでです。WordPress でブログをお楽しみください ! */

こんなふうに追加すると良いとおもわれます。

さて、履歴にまつわる噂のイースターエッグ。

WordPress › Blog » WordPress 2.6

Easter Egg

There have been rumors and allegations that there was a so-called “easter egg” added to 2.6 early in its development. These rumors and allegations are completely false!

hackers の ML ではぱらぱらでていたようですが、matt さんお得意のお遊びです。(笑)

てなわけで、ちょっとやぼかもですが、履歴機能の場所の紹介とともにビデオでどうぞ。 trunk みてないけど、次のバージョンでは消えるかもですね。 兎追いしかの山♪

ははは。 ちょうど先日 2 みてたよ。

そーいや、

ここの IE 5 の画面にもイースターエッグいませんでしたっけ? やり方忘れちゃいましたが、 Microsoft の旗マークをドラッグしてどうのするとスタッフロール(?)とか。。 Excel にもあったような。

プレステ2のジョイスティック破損

ひさしぶりにプレステ2のゲームなどをやってみたら、どーもジョイスティックの調子が悪いことに気がつきました。 斜め右下の入りが悪い。 とりあえず、開けてみることにしました。 🙂

ぼくはアーケードゲーム(ゲームセンターの)が好きだった関係で、実はどーも家庭用のジョイパットってやつが苦手なのです。 あと小さいんだよねぇ。 初代 XBOX のときコントローラがでかい! ってさんざんいわれていましたが、ぼくにはちょうどよかったり。(笑)

他はボタンっすね。 ゲームセンターでゲームやっている人みるとわかるとおもいますが、パンパンたたくあの感じが好きです。 やっぱり、メカニカルボタン最高です。 😛

joy1

てなわけでジョイスティック分解。 これは HORI さんのやつっすね。 なんだかスクウェアのゲームタイアップ品なんだろうか? 素性は不明。。

基盤一枚。 PS2 のコントローラチップはカスタム品で HORI とかいています。あとはボタンの配線だけですね。 シンプル。

joy2

で、ジョイスティックの心臓部マイクロスイッチ。 あの独特のカチカチはこのスイッチのおかげです。 ちなみに、マイクロスイッチは OMRON 製。

joy3

えーと、右下だけ調子がおかしいのでスイッチ自体は大丈夫と仮定するに、きっと原因は位置ずれですね。 ジョイスティックはスティックのてこの原理で4方向のスイッチを押しています。

joy4

ちょっとずれているように思えたので、修正してねじも締め直す。 ゆるくなっていました。

てーなわけで、元に戻してゲームしたらいい感じに。 🙂

もうちょっといけるかな。。 PS2 のジョイスティックはたぶんもう新製品がでないので、大事にしておかないと・・・!

joy5

ぱくっ! (←関係ない