2005年 10月 14日(金) 友引 今日は何の日? 2008年の今日のエントリ 2007年の今日のエントリ 2006年の今日のエントリ
エントリ編集に3つ+αの小技
エントリを新規に投稿、または編集するときに 便利で楽チンになる技を 今まで あれこれ組み込んできましたが、
その中で 使用頻度が多い 3つのワザを 3.2 にも 呼び戻してみました。
3つとも /tmpl/cms/edit_entry.tmpl に ワザを仕込みます。
1.文中のリンクを 常に別窓で開くようにする (元ネタ : 編集を楽にする技ふたつ)
編集画面にデフォルトで付いてる 「リンクを挿入」 ボタンを使ったとき、自動的に target=_blank と入ります。
今までは mt.js に 記述をプラスしてましたが、3.2 から新しくできたディレクトリ mt-static の中にある mt.js に
記述を追加してみたところ、機能しませんでした。そこで /tmpl/cms/edit_entry.tmpl に 直接 ↓ を追加。
function insertLink (e, isMail) {
if (!canFormat) return;
var str = getSelected(e);
var link = '';
if (!isMail) {
if (str.match(/^https?:/)) {
link = str;
} else if (str.match(/^(\w+\.)+\w{2,5}\/?/)) {
link = 'http://' + str;
} else if (str.match(/ /)) {
link = 'http://';
} else {
link = 'http://' + str;
}
} else {
if (str.match(/@/)) {
link = str;
}
}
var my_link = prompt(isMail ? 'Enter email address:' : 'Enter URL:', link);
if (my_link != null) {
if (str == '') str = my_link;
if (isMail) my_link = 'mailto:' + my_link;
setSelection(e, '<a href="' + my_link + '" target=_blank>' + str + '</a>');
}
return false;
}
2.デコードボタンを付ける (元ネタ : これで完成!エントリ編集便利ボタン)
↑ 画像で B (太字) ボタンの 左横にあるのが それです。「>」 を &gt; にしたり、元に戻したりするボタンです。
これは、今日のような カスタマイズの覚えを記事にするときに 大活躍します。
以前は 欲張って こんな にたくさん 便利ボタンを 付けてましたが、中にはあまり使わないものもあったので、
今回は 一番よく使うのに デフォルトで付いてない デコードボタンだけを 増やしました。
* 10月17日 「文字色」 ・ 「文字の背景色」 ・ 「文字の大きさ」 を指定できるボタンも増やしました。「追記」 を見てね。
/tmpl/cms/edit_entry.tmpl の <script> ~ </script> に
function replaceEntity(str) { // 置換処理
str = str.split("&").join("&"); // & から変換すること
str = str.split("<").join("<");
str = str.split(">").join(">");
str = str.split('"').join(""");
return(str);
}
function changeEntity(obj) {
if (document.selection) { // WinIE
obj.focus();
var str = document.selection.createRange().text;
if (str) {
document.selection.createRange().text = replaceEntity(str);
} else if (obj.value && confirm('テキストエリア内の「&,<,>,"」を実体参照化します。\n\nよろしいですか?')) { // 選択されていないとき
obj.value = replaceEntity(obj.value);
}
} else if ( (obj.selectionEnd - obj.selectionStart) > 0 ) { // Mozilla
var bgnPos = obj.selectionStart;
var endPos = obj.selectionEnd;
var bfrStr = obj.value.substring(0, bgnPos);
var fcsStr = replaceEntity(obj.value.substring(bgnPos, endPos));
var difLen = fcsStr.length - (endPos - bgnPos);
var aftStr = obj.value.substring(endPos, obj.value.length);
obj.value = Array(bfrStr,fcsStr,aftStr).join('');
obj.setSelectionRange(bgnPos,endPos + difLen); // 選択し直し
} else if (obj.value) { // Others (テキストエリア内全てが対象)
if (confirm('テキストエリア内の「&,<,>,"」を実体参照化します。\n\nよろしいですか?')) {
obj.value = replaceEntity(obj.value);
}
}
return;
}
function changeTag(str) { // 置換処理
str = str.split('<').join("<");
str = str.split('>').join(">");
str = str.split('"').join('"');
str = str.split('&').join("&"); // & は最後に変換
return(str);
}
function reverseEntity(obj) {
if (document.selection) { // WinIE
obj.focus();
var str = document.selection.createRange().text;
if (str) {
document.selection.createRange().text = changeTag(str);
} else if (obj.value && confirm('テキストエリア内の実体参照文字を「&,<,>,"」に変換します。\n\nよろしいですか?')) { // 選択されていないとき
obj.value = changeTag(obj.value);
}
} else if ( (obj.selectionEnd - obj.selectionStart) > 0 ) { // Mozilla
var bgnPos = obj.selectionStart;
var endPos = obj.selectionEnd;
var bfrStr = obj.value.substring(0, bgnPos);
var fcsStr = changeTag(obj.value.substring(bgnPos, endPos));
var difLen = fcsStr.length - (endPos - bgnPos);
var aftStr = obj.value.substring(endPos, obj.value.length);
obj.value = Array(bfrStr,fcsStr,aftStr).join('');
obj.setSelectionRange(bgnPos,endPos + difLen); // 選択し直し
} else if (obj.value) { // Others (テキストエリア内全てが対象)
if (confirm('テキストエリア内の実体参照文字を「&,<,>,"」に変換します。\n\nよろしいですか?')) {
obj.value = changeTag(obj.value);
}
}
return;
}
を追加、さらに ボタンの並びに エントリーの内容 (body) 用には
write('<a href="javascript:changeEntity(document.entry_form.text);"><img src="<TMPL_VAR NAME=STATIC_URI>images/jittai_1.gif" alt="<MT_TRANS phrase="jittai_1">" width="40" height="16" border="0" /></a>');
write('<a href="javascript:reverseEntity(document.entry_form.text);"><img src="<TMPL_VAR NAME=STATIC_URI>images/jittai_2.gif" alt="<MT_TRANS phrase="jittai_2">" width="40" height="16" border="0" /></a>');
追記 (more) 用には
write('<a href="javascript:changeEntity(document.entry_form.text_more);"><img src="<TMPL_VAR NAME=STATIC_URI>images/jittai_1.gif" alt="<MT_TRANS phrase="jittai_1">" width="40" height="16" border="0" /></a>');
write('<a href="javascript:reverseEntity(document.entry_form.text_more);"><img src="<TMPL_VAR NAME=STATIC_URI>images/jittai_2.gif" alt="<MT_TRANS phrase="jittai_2">" width="40" height="16" border="0" /></a>');
と 追加します。ボタンの画像は ご自分で用意されるか、よろしければ ここ のを使ってください。
(画像は mt-static/images に アップします。)
3.エントリに絵文字を使えるようにする (元ネタ : コメントとエントリ投稿用絵文字パワーアップ)
これは、元ネタ を そのまま 3.2 でも使えました。ただ 今回は 画像の名前を日本語にしてると文字化けしたので
英数字だけ使いました。また、少し 絵文字の数を減らしました。
これで 今までに より近い便利さが 取り戻せました。
今後は 不便だな~、と思うところから 徐々に 以前の状態に戻していこうと思っています。
≫ エントリー編集ボタン再カスタマイズ from
grumble...
3.2にアップグレードしてからというもの、再カスタマイズに追われる日々を送っております(汗 それでその再カスタマイズの1つがエントリー編集ボ... [続きを読む]
≫ エントリー時の文字色、フォントサイズを簡単に。 from
14000.rev-limit.net/
タグ打ち込めばいいだけの話だけどメンドクサイ・・・・。 やむやむ様 : エントリ... [続きを読む]
≫ MovableType3.2 コメント欄で絵文字を使う from
おじさんの備忘録
MovableType3.2のコメント欄で絵文字を使う [続きを読む]
≫ デコードボタン MT3.2編 from
絵の才能はないけれど
MT3.2にしてからデコードボタンが機能しなくなったので、 別の所からMT3.2... [続きを読む]
≫ エントリー画面にボタンを増やす from
チエコエトセトラ。
カスタマイズ関連の投稿ばっかりですみませんです まとめてできるの週末だけだからと... [続きを読む]
≫ 色々弄ったよ。。。 from
カラスグミ
やむやむ:エントリ編集に3つ+αの小技 少しエントリ作成時にタグを埋め込みやすく... [続きを読む]
≫ リンク先を別窓で開く from
Free Style
投稿する時リンクに「target=_blank」を追記しなくても自動で入るような... [続きを読む]
≫ Movable Type 3.2-ja-2 日本語版 アップデート from
que sera sera
Movable TypeはこのBlogの心臓部です。 Movable Typeを... [続きを読む]
≫ エントリー編集ボタン from
PIT IN
σ('_')が頻繁に使う<や>、文字色、フォントサイズをエントリーで... [続きを読む]
≫ 今回の覚え書き from
dreaming purple blog
今回ブログをカスタマイズするのにお世話になったサイトなど。 テンプレートは「Or... [続きを読む]
こんにちは。
1.と3.は、今度出すMT本第2弾で、プラグインを使ったカスタマイズ方法を紹介しています。
1は、常に「target="_blank"」をつけるのではなく、その都度選べるようにしています。
それから、2.は当方の改行変換のプラグインでできます。
ソースコードなどで、「」と「」で囲めばOKです。
>>1 壱さん
w(°o°)w おおっ!!新しいご本も 楽しみにしています。
「常に・・・」 じゃなくて、選べるっていうのが いいですね。
こんにちは。
コメントの肝心なところがタグと認識されてしまって消えていますので(笑)、もう一度。
ソースコード等で<等を入れる場合、改行変換プラグインを使うように指定して、ソースコード等の前後を「<enchtml>」と「</enchtml>」で囲みます。
夜中にすみません・・・色々カスタマイズしておりますニャ。
聞きたいことがありますニャ。
tmpl/cms/edit_entry.tmpl に 直接 ↓ を追加。
(追加の部分にゃんですけども・・・)
どこに追加すればいいんですかニャ?色々、見て見たんですけども~分からにゃいんですニャ。
すみません
よろしくお願いしますペ(´・(●●)・)(o´_ _)oペコリ
>>5 feiにゃん
追加するのは <script type="text/javascript"> ~ </script> です。
比較的 上の方になります。この方法で難しかったりうまくいかない場合は こちら をお試しになられてはどうでしょうか。
ありがとうございますニャ。
お気軽極楽ブログさんのを、そのまま使わせていただきましたぁー
そして、うまく表示されそして!使えますー
これがやりたかったぁー投稿が楽しくにゃってきましたぁ!!!!