気になったので、 Open Live Writer 全体のソースコードを入手して中を覗いてみた。

DhtmkImageVIewers.xml という xml ファイルの中で、どんなものを見つけたら Lightbox を使ったブログだと判断するかが記述されていた。

当該の部分がこれ:

<filePattern>(^|/)lightbox\.js$</filePattern>

つまり、javascript のファイル名は lightbox.js でなければ認識しない。

そこで、使用している lightbox-plus-jquery.js の名前を lightbox.js に変更して試してみた。

2018-12-03

こんな感じに、 Lightbox を認識してくれた。

ファイル名が固定だったとは・・・・・。

実は Open Live Writer だけでなく、 Windows Live Writer も Lightbox を認識した。

ということは、前記事で参考にした Microsoft コミュニティで言われていた「 2.5 から prototype が jQuery に変わったので認識しなくなった」というのは間違いだったということ。 javascript のファイル名が固定だっただけだったのだ。当該記事をよく見ると javascript のファイル名を ‘lightbox-2-6-min.js’ にしているから、そのせいで認識しなかったのだろう。

アプリケーションの開発側が「ファイル名は固定だよ」と一言情報を出してくれていれば済んだことだよなあ・・・。


いろいろなところで紹介されているが(例えばこことか)、 Windows Live Writer は Lightbox に対応しているらしい。

Windows Live Writer でアカウントを作成するときに Lightbox を使用しているブログであると認識されると、画像を貼りつけ選択した状態で画像ツールのプロパティグループにある「リンクオプション」を選ぶと、表示される「ソース画像のオプション」ダイアログに、「Lightbox 2 を有効にする」というチェックボックスが追加され、記事中のタグやエレメントで対応した処理が行われる。

・・・しかし、実際は結局、この機能は動作しないようだ。

2014 年の記事、

Windows live writerのLightbox2.6有効化チェックの表示設定方法

を見ると分かるように、 Lightbox2 では prototype を使用していたが、 Lightbox2.5以降は jQuery を使用するように変わったが、 Windows Live Writer は、 Windows Live Essential 2012 が出た 2012 年以降更新はないまま配布が終了したので、この変更に対応していないため、 Lightbox 対応コードが動作しないようだ。まあ、 Windows Live Writer に関して言えば、問題が発生した 2014 年以前に開発自体が終了していたことから、やむを得ない気がする。

ただ、その後に公開され開発が続いている(はずの) Open live Writer でどうかというと・・・・・私の環境では認識しなかったのだ。 Open Live Writer が初めて公開されたのは 2015 年 12 月 9 日なので、最初の版を開発しているとき、既に Lightbox のこの問題は既知のはずなのだが、なぜかは分からないが動作しない。 Windows Live Writer のコードのままリリースされたのか?

Lightbox2 の動作確認のために、手作業で投稿済みの記事のタグを編集してみたところ、問題なく Lightbox2 が機能したので明らかに Windows/Open Live Writer 側の問題と思われる。現状では、 Lightbox2 を使用したければ、記事を投稿した後に、投稿済み記事を手作業で編集する必要があるが、正直手間で大変である。

まあ、たかがひとつのスクリプトのために、いちいち投稿ツール本体に特別な動作を組み込むという考え方自体非常によろしくないと思うのだが、他に対応する方法が(手作業で大変な労力をかける以外に)ないのだから、この現状は非常に残念である。


使ってみて気づいた不便な点。

(1)追記が書けない。
投稿した記事に後から追記を書きたくなることは多いので、これはかなり不便。

(2)コメントを受け付ける日数が指定できない。
コメントを受け付けるか受け付けないかの2択しかできない。

(3)ブログに投稿済みの過去記事をまとめてローカルに読み込むことができない。
BlogWrite ではできたので、ないと不便に感じる。

(4)エディット画面で編集中に改行すると必ず<p>タグで囲まれる。
改行の場合は<br />タグを挿入し、 SHIFT+改行の場合は<p>タグで囲むなどしてくれるとありがたい。

(5)過去記事を読み込んできた場合に、公開日時を指定する画面を開いたとき、日時が未入力のまま。
過去記事の場合は以前公開された日時をもっているので、それを初期入力した状態で開いてくれるとありがたいのだが・・・。

2018-12-01-publishdate

(6)新規記事を投稿する前に記事の概要を開いたとき、未入力のまま。
記事の先頭からこちらで指定した文字数分までが入力された状態で開いてくれるとありがたいのだが・・・。

2018-12-01-excerpt

Mac では定番ソフトとして MarsEdit というものが販売されているようで、かなり評判がいいようだが、上記の点についてはどう実装(あるいは未実装?)されているのだろうか?

キーワード: XML-RPC Windows Live Writer


ローカルに php7 と apache を導入し、テスト環境を作ってみた。

php7 のモジュールの組み込みと、 .php の実行時のエラーで少し時間がかかった。

ローカルで実行してみると、 rNote が大量の Notice エラーを出しているのに気づいた。ローカルに導入した php7 の php.ini を見ると、全てのエラーを表示する設定になっていた。これまではリモートサーバでの実行しかしていなかったので、リモートサーバの php がエラーを全て表示しない設定だったため気づかなかったということらしい。かたっぱしから修正してみたが、非常に大量なのでまだまだ時間がかかりそう。ほとんどが、変数未初期化のエラーや $_SERVERなどから名前をインデックスに値を取得する処理で、指定されたインテックスでの値が未定義の場合のようだ。あと、 define で定義される名前が define(FOO,”bar”); のように書かれているためのエラー( define(“FOO”,”bar”); というふうにクオートする必要がある)。

キーワード: php apache


Visual Studio Code 2018-11-28 (水) 02:47:24+09:00

ソフトウェア

なんとなく見つけたので検索してみた。

Microsoftから無償配布されているらしい。名前が Visual Studio と似ているが統合開発環境ではなくエディタらしい。PHPのコードもインテリセンスが効くらしい。

というわけで、インストールしてみた。

2018-11-28

こんな感じでコードが見やすくなった。自分で書いた関数なども含めてインテリセンスも使える。

まだやってないが、 xdebug を使って PHP のデバッグ実行もできるようだ。便利そうだが、サーバに xdebug を導入しないと使えないのと、 サーバの /tmp に大量のファイルが出来て領域を食いつぶしてしまった・・・という話もあったので、ちょっと様子見。

PHP のコードを書くときは重宝しそう。

[コメントの受付は終了しています ]
この記事のリンク元 | 1 |