SimpleIsm

MT5のテンプレートをタブでインデントできるようにした

Movable Type

MT5にしたらテンプレートにタブでインデントできなくなってしまった。自分の書き方だとHTMLではあまりインデントしないのだけど、JSではよく使うので、Analyticsの記述部分とかで使いたい。ところがタブを押すと編集中のテキストエリアを飛び越えて次の項目に行ってしまう。しょうがないからテキストエディタにタブを入力してコピって貼り付けても、綺麗に消滅してくれる。この頑固者め!

「MT5 タブ インデント」とかでぐぐっても有用な記事が見つからない。お世話になってる小粋空間でも載ってないから難儀した。でも見つけた!

もはや軽快にならなくてもいいから取りあえずタブでインデントしたい。で、肝心の内容なんだけど、742行目辺りのcodemirror.jsの参照を無効にし、テキストエリアのスタイルを調整します。以下ソースコードの青字の行を挿入してくださいって、まずcodemirror.jsを参照してる記述がねええええ!!しかも行数も504行までしかない!どうなってんのこれ!取りあえずバックアップ取ってそれっぽい記述(136行目の<script type="text/javascript" src="<mt:var name="static_uri">js/tc/client.js"></script>)にmt:ignoreをぶち込んでみた。取りあえず全然動かないので貼り付けたり消したりいろいろやってたら以下のようになった。

/mt/tmpl/cms/edit_template.tmplの136行目から146行目

<script type="text/javascript" src="<mt:var name="static_uri">js/tc/client.js"></script>
<mt:ignore>
<script type="text/javascript" src="<$mt:var name="static_uri"$>codemirror/js/codemirror.js?v=<mt:var name="mt_version_id" escape="URL">"></script>
</mt:ignore>
<script type="text/javascript">
document.getElementById("text").rows = 20;
document.getElementById("text").style.fontSize = "small";
var tag_inserts = {};
var snippets = [];
<mt:loop name="template_snippets">
var content = "<mt:var name="content" escape="js">";

取りあえず上記で、タブを押すとまだ他の項目に飛ぶんだけど、テキストエディタでコピったタブのインデントは貼り付けられるようになった。何が原因でそうなったのか、この記述はOKなのかダメなのかも分からないのが不安。いつでも戻せるようにバックアップだけは取っておく。

2010/04/27(Tue) 23:52
<<前の記事
デザイン変更通算12回目
次の記事>>
雑記その122

Category

Archives