無いならば作ってしまえ!Meryのマクロ

 無ければ作ろうMeryマクロ!と言うことで、
Meryエディタには無かった<>&などの実体参照文字を、
<や>、&ampへと変換するマクロを作りました。

 先日のHTML5文章宣言みたいな、HTMLタグを記載したりするときに
プラウザで表示させるためには、実体参照文字を使用しないといけないわけです。

  • Tera Padでは1つづつなので時間がかかる
  • Vxにはdmsを作って入れていない・・・
  • TTT Editorは選択範囲の変換が出来る、しかし毎回ファイルを渡すのも・・
  • じゃあ!作ればいいんでない!?

と、いう事で(個人的に必要なため)作ってしまいました。
 以下ソースですがな・・


     //実体参照文字変換マクロです。
   if (document.selection.Text == "")
    document.selection.SelectAll();
   var map = new Array();
   map["¥""] = """;
   map["&"] = "&";
   map["<"] = "<";
   map[">"] = ">";
   var s1 = document.selection.Text;
   var s2 = "";
   for (var i = 0; i < s1.length; i++) {
    if (i + 1 < s1.length) {
    var c = map[s1.substring(i, i + 2)];
    if (c) {
    s2 += c;
    i++;
    continue;
    }
    }
    var c = map[s1.substring(i, i + 1)];
    if (c) {
    s2 += c;
    continue;
    }
    s2 += s1.substring(i, i + 1);
   }
   document.selection.Text = s2;
  * 実体参照の部分は大文字ですので、小文字に変えて下さいな。

 ほぼMeryエディタ作者であるKuroさんの、標準変換からのパクリ(時間ねえし)
なのですが、とりあえずこれで<>&などを実体参照文字へバッチリ変換できます。
おお・・大事な事を忘れていました、
これは必ず.jsで保存して下さい。
(jsマクロが使えれば、他のエディタでも使えるのかな?どうだろうか・・)

XHTMLの基本的なマクロ(p 段落)

 

 XHTML用に作成した、マクロソースを記載しておこうと思います。

(まあ・・ファイルダウンロードすれば同じですが・・)

 

 このマクロ作成時に悩んだのが、K2 Editorのように、

 

 非常に簡単にマクロが生成できず、単純なキーマクロでは対応出来る幅が限られていた!

ということなんですよ・・

 

 そこで、色々と筆者も「ifって何だ?varの意味は?」という状態でしたので

 アタフタしながら作りました。

 

 なんといってもタグで文章を挟む事と、タグのみでも入力できるといった事をクリアしておかないと、使い物にならない事は賢明なサイト訪問者の方が一番知っているはずです。

 

 いろいろ思案して、以下のソースになりました。

--------------------------------------------------------------------------------

//p段落用のマクロ

 

  bEmpty = document.selection.IsEmpty;

    if(bEmpty != 0){
      document.write("<p></p>");
      document.selection.CharLeft(false,4);
    }else{
    var str = document.selection.Text;
    var p = "<p>" + str + "</p>"
    document.write(p);
   }

-------------------------------------------------------------------------------

 

 Meryエディタを使っていて、「ひとつ自分でもマクロを作ってみよう!」

という有志のある方は、是非色々トライしてみて下さい。