Microsoftがブログ投稿ツール「Windows Live Writer」をオープンソースにした。現在のバージョンは0.5。
ということで、いろいろ調べもの。
最後のWindows Live Writerは Windows Live Writer 2012で、Windows Live Essentials 2012に含まれている。
こっから、インストーラーをダウンロードして、インストール。
Windows 8.1で試したところ、普通に動いた。インストール先は、C:\Users[UserName]\AppData\Local\OpenLiveWriterの 中。この中の、app-0.5.0.0/の中に実行バイナリが格納される。
使い勝手は、あたりまえだけど、いままでの、Windows Live Writerとなんらかわらん。
ライセンスはMIT license。
普通に、git clone https://github.com/OpenLiveWriter/OpenLiveWriter で回収。
src\managed\writer.slnをVisual Studio 2015 community でビルドできた。
Visual Studioでslnを開くと「Install Visual C++ 2015 Tools for Windows Desktop」なる警告がでるかもしれない。出たら、Visual Studioのセットアップを開いて、Visual C++ 2015 tools and library for Windows DesktopをインストールすればOK。
Solution Explorerで、OpenLiveWriterのプロジェクトを右クリックして、「Set as StartUp Project」を選択してから、ビルドでOK。
コードは、.NET 2.0のころのスタイル。ただ、プロジェクトのTarget frameworkは、.NET Framework 4.5.2になっている。.NET 2.0でのアプリケーションの見本みたいなコード。とっても勉強になるので、一度、読むといい。おすすめ。もちろん、.NET Framework 4.5.2を使う今ならこんな書き方しないよな、って点もいっぱいあるけど、それはそれで、当時のことを思い浮べながら読むと良し。Linqなくても、こうやってかくのね。とか、Taskなくてもそうするのね。みたいな。
で、cagylogicでは、WebThumbnailやら、FileUploadやら、AmazonAssociateJPなるWindows Live Writer用のプラグインを公開しているので、こいつらが、どうなるのかを調査。
プラグインに関しては、Ver 1.0に向けて、まだまだ、いろいろ変更があると思うので、あくまでも参考までに。
C:\Users[UserName]\AppData\Local\OpenLiveWriter\app-0.5.0.0\Pluginsのフォルダに入れればOK。ただし、いままでのプラグインはそのままでは使えない。
プラグインをいろいろ変更する必要がある。
Windows Live Writerのプラグインを作成するときは、Target Frameworkを.NET Framework 2.0にしていたが、Open Live Writerのプラグインは、.NET Framework 4.5.2にする必要あり。
Windows Live Writerのプラグインを作成するときは、Windows Live Writerの実行バイナリ内にある、WindowsLive.Writer.Api.dllを参照にいれているが、Open Live Writerのプラグインを作成するときは、WindowsLive.Writer.Api.dllじゃなくて、Open Live Writerの実行バイナリ内にある、OpenLiveWriter.Api.dllを参照にいれる。
これに伴い、名前空間が、WindowsLive.Writer.Apiから、OpenLiveWriter.Apiに変更になるので、それに併せて、usingを変更する。クラス名やメソッド名、プロパティ名は以前と同じ模様。
とりあえず、それだけ変更してビルドすれば、Open Live Writer用のプラグインは完成。
C:\Users[UserName]\AppData\Local\OpenLiveWriter\app-0.5.0.0\Pluginsのフォルダにコピーして、Open Live Writerを起動しなおせば、使える。
厳密に言うと、SmartContentEditorのサイズが変更になったのか、たまたま、日本語に対応してないからそうなるのか、そのままのサイズだと、はみだすので、ちょっと小さくする必要がある。
あと、SmartContentSourceにつける、WriterPluginAttributeのImagePathの画像サイズのチェックが厳しくなったようで、ちゃんと16×16になってないと、蹴られる。
ということで、FileUploadプラグインとWebThumbnailプラグインはとりあえず、動くことが確認できた。
まだバージョン番号とか、ライセンスの確認とか、その他、いろいろ確認することがあるので、まだ公開はしないけど、ひと安心。
ただ、AmazonAssociateJPはビルドがとおっていない。というのは、Amazonにアクセスするためのsoapまわりが、.net 2.0に依存してて、こいつが、.net 4.5.2に対応してない。というかこのへん書きなおしだな。いろいろ気になるところもあるし。。。
ま、そのうち、やります。
ご報告まで。