一体誰が使うんだ?っていう、使う範囲の限られたWindows用アプリを作ってみました。
ブログエディターのWindows Live Writerのために、WordpressプラグインのCrayon Syntax Highlighter(以下Crayon)用のコードを生成&貼り付けるためのツールです。
その後、Crayon Syntax Highlighter Plug-inという素晴らしいプラグインを発見することができました。このソフトよりこちらを使った方がLive Writerの編集がはかどります。
photo by Matt Doucette
目次
作った動機
WordPress上のエディターでCrayon用のコードを貼り付けるのは簡単です。インストールしたらデフォルトであるCrayonソース貼り付け用のボタンを使えば簡単に貼り付けられます。なので、ブラウザ上のWordpressエディターで編集している人には、このツールは必要ありません。
けれども、Windows Live Writer上でCrayon用のコードを貼り付けるには、結構大変です。
僕が知る限りでは、次の方法で貼り付けるしかないです。(他に良い方法があったら是非教えて欲しいです。)
- ソースエディター上でPREタグを手打ち(もしくはテキストをコピペ)した後にHTMLエスケープしたコードを貼り付ける
- ソースエディター上で、プラグインを用いて、あらかじめ登録しておいたPREタグを挿入した後にHTMLエスケープしたコードを貼り付ける
1は、PREタグをいちいち手打ちするのが面倒くさいです。
2だとプラグインに、言語形式によって異なったタグを何個も登録するのが面倒くさいです。
また、どちらにしても、ソースエディター上で編集しなければならず、字も小さく編集しづらいです。あとソースコードに、HTMLが含まれている場合は、エンコードマニアックスなどでHTMLエスケープをしてから貼り付けなければいけません。
今回作成した、「CodeToCrayon」によって、”上に書いた方法よりは”Windows Live Writerに手軽にCrayon用のコードを貼り付けることができるようになります。
最初、WEBアプリで作ろうとも思ったのですが、Windows Live Writer使いはWindowsユーザーですし、ネイティブアプリの方がザクザクと素早く編集できるのでWindowsアプリにしました。
「CodeToCrayon」の使い方
例えば以下のようなHTMLタグがあったとします。これをWindows Live Writerに貼り付ける方法を紹介します。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Untitled</title> </head> <body> Hello World! </body> </html>
まずはソフトを起動したら、HTMLを貼り付けるのでコンボボックスから、「XHTML」を選択してください。(Crayonに「HTML」はないです。)
貼り付ける言語によって、対応言語を適宜選択してください。
テキストエディターなどから、コードテキストを上部の入力ボックスにドラッグ&ドロップします。
これで、Windows Live Writerに貼り付け用の、Crayonコードが生成&クリップボードにコピーされます。
こんな感じのHTMLエスケープされたCrayon用のコードが生成されクリップボードにコピーされます。
<pre class="lang:default decode:true" ><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Untitled</title> </head> <body> Hello World! </body> </html> </pre>
あとは、Windows Live Writerに形式を選択して貼り付けるか「Control+Shift+V」で貼り付けます。
コードの変換は、HTMLコードをコピー&ペーストして「変換&コピー」ボタンをクリックしてもOKです。
「CodeToCrayon」のダウンロード
image by Kaz
「CodeToCrayon」のダウンロードは以下から行ってください。
CodeToCrayon ver1.0.0 ダウンロード
対応環境:Windowsなら多分どれでも
まとめ
Windows Live Writerを使う場合、これで従来よりはCrayonのコードが貼り付けやすくなると思います。
ただこんなツール、使う人が限られるので、今のところPREタグでの基本的な貼り付けにしか対応していません。もし、要望などありましたら、この記事のコメント欄に書き込んでください。あまりにも実装に時間のかかるようなものでなければ(1、2時間でできるようなものであれば)、対応します。
本来なら、HTMLエンティティを使用した貼り付けもできるように作りたかったんですが、検索がうまくヒットせずやり方がよく分りませんでした。
Delphiで作成しているんですが、最近GoogleでDelphiで検索しても、1ページ目から全然違った言語が検索結果に出ます。何年か前は、ここまでではなかったのに。もうかなりユーザーが少ないのか、Googleの仕様でそうなってしまったのか。どちらにしろ、マイナー言語なのでしょうがないです。
こちらのツール使ってみました。
理想はWindows Live Writerのプラウグイン形式になることですかね。
ところで今は、Crayon Syntax Highlighter Plug-In For Windows Live Writerというツールがあるので、それで十分ですかね。