Web事業部実績紹介_Webマーケティング
Web事業部実績紹介_Webマーケティング
2010.03.12

JsDecoderはやるやつだった

まっちー

wordpressのビジュアルエディタは、デフォルトの改行はpタグが入りますよね。デフォルトの改行って言い方が正しいのかはよく分からないけど、brタグを挿入したいと思ったら基本的にはshift+enterで改行しますよね。

で、今回それを逆にできないかなって思ったわけですよ。仕様的にそういう要求をされているのかをいまいち掴みかねた部分もあるんですけど、編集画面で改行を1行だけにしてほしい的なことを言われたので、たぶんそんな感じのことを言ってると思ったわけですよ。別に現状で問題なければ、わざわざそんな要求をしてこないと思うし。そう思ったわけですよ。

プラグインとかをいろいろ調べてみたんですけど、自分が調べた限りでは、記事投稿の際にpタグやbrタグを挿入しないプラグインは存在するんですが、それだと本文にも改行が入らないようになってしまうので、もっと別のやり方を考えないといけない。

僕も詳しいことは分かっていないんですけど、enterを押したらpタグを入れてshift+enterだったらbrタグを入れるというのは、wp-includes/js/tinymceの中にあるtiny_mce.jsだかwp-tinymce.jsあたりで制御してるっぽいですね。たぶん、wp-tinymce.jsの方なのかな。だからこのファイルをこねくり回せば何とかなるんじゃないかと思い、とりあえずいろいろこねくり回してみることにしました。この辺り↓のサイトさんを見ても、そんなようなことが書いてあるし。

http://modxcms.com/forums/index.php?topic=15204.0

http://d.hatena.ne.jp/tohokuaiki/20080326/tiny_mce

そういうわけで、いざwp-tinymce.jsの中身を見てみたわけなんですが……まあ~……見づらいっすね。jquery.jsなんかもそうですけど、余計なスペースとか改行を省略するために、1行で全コードを書いてあったりするじゃないっすか。だから追うのが大変でした。wp-tinymce.jsとかも、行数にすると30行足らずしかないから、1行あたりのソースがものすごく長い。某ジャンプ漫画の休載期間並に長い。if文の中にif文があってその中でfor文のループ処理を行っていて、その中でさらにif文を……みたいのが全部1行で書いてありますからね。玉ねぎかっつーの(←?)

まあ結論から言うと、さんざんこねくり回した挙句にenterとshift+enterの挙動を逆にするという操作は結局実現できなかったんですけど、今日はその話はおまけでして……今回はその時にちょっと役に立ったサイトさんがあったので、それを紹介したいというわけなんです、はい。

しかし、最近の僕は「いろいろ頑張った挙句にできませんでした」って感じの記事ばっかりだな……この前のtera termのときといい……ただのダメなやつじゃんねww。

まあそれは置いといて、今日ご紹介したいのはJs Decoderというサイト。

このサイト、javascriptのコードを貼っつけてdecodeってやると、良い感じにdecodeしてくれるんすよ。ためしにwp-tinymce.jsとかデコードしてみたんすけど、もう見やすさが違い過ぎました。美人は三日で飽きる、ブスは三日で慣れるなんて昔の人は言ったもんですが、見づらいソースは何日経っても見づらいですよね。見やすいソースは何日経っても見やすい。そりゃそうだ。

っていうか、wp-tinymce.jsとか、デコードすると普通に15000行とかあるんすけど……それを30行程度で記述するって、どんだけっすか。

このJs Decoder、個人的には結構便利だなと思いました。インデントとかもちゃんと取って表示してくれるし。