テンプレートをモジュール化して再構築を短縮・軽量化させよう。
という素晴らしい試み。
クロスブリード:あなたのmovabletype、重たくないですか?
むちゃくちゃ重宝してまふ><ノ
日: 2004年11月10日
リンク先を別ウインドウで開く
用は、エントリーでURLを挿入した際にtarget=”_blankを付与させよう!
と言うことです。手打ちで追加めんどくさい・・orz
*2007/4/18 mt.js内の表記が少し変わっていたのでそれに合わせて書き直し致しました。
ここでは3.35の変更の仕方をメモ
mt/mt-static/mt.js 311行目? 青太字を追加します。
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 ? trans(‘Enter email address:’) : trans(‘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;
}
青太字部分を追加します。
以上変更したfileをupすれば、以降からエントリーでのURLを挿入した時に自動的に
target=”_blank”が追加されるようになります。
新着記事
新着エントリー等に新着マークを付ける
小粋空間:新着エントリーのあるカテゴリーに New マークをつける
小粋空間:新着コメントに New マークをつける
コメント編集
エントリーのコメント入力を便利にするカスタマイズ
やむやむ:MTカスタマイズコメント編集にQuickTags入れてみました
設置はそんなに難しくは無いと思いますが、追加項目を作りたい場合は
結構面倒かも・・・。法則さえ掴めれば編集は出来ると思いますけどね^^;
●コメントエリアの幅を広げる
やむやむ:MTカスタマイズコメントテキストエリアの横幅を広げちゃおう
●コメント・プレビュー
やむやむ:コメント・プレビュー
レンタル系のBlogで結構多いリアルタイムでコメントを投稿欄下方に表示出来るカスタマイズ。
●コメント投稿者のLinkを別ウインドで開く
The Blog of H.Fujimoto:コメント投稿者のBlogを別窓で開くプラグイン
コメント投稿者名のLinkを別ウインドで開く。MT3.2以降でLinkを開くと同ウインドに表示
されるようになってしまったので使用。
トラックバック
トラックバックを便利にするカスタマイズ
小粋空間:label 要素を用いてトラックバックURLを1クリックで選択状態にする
やむやむ:進化版 「トラックバックURLを1クリックで選択状態に」
便利と言えば便利。まー私の所は殆どTB無いのでい見ないかもですがメモメモ。
エントリー編集
新規エントリーやエントリー編集に役立つカスタマイズ
参考サイト
やむやむ:エントリ編集に3つ+αの小技
これはエントリー投稿時や編集時に物凄く役立ちます><
注意点として、エントリーの内容 と 追記 で同じカスタマイズを使うことが出来ない事。
例えば、文字サイズ変更用のボタンを両方に配置するとScriptErrorが発生します。
どちらか片方にしか適応されないので注意!
●エントリー編集画面にデコードを付ける
参考
CUBlog LAB:エントリー画面にデコード機能を for MT3.3-ja
上のエントリーに習い、色々使えそうなボタンを追加して見る。
デコードはソースコードを文中に挿入する際、そのまま表示させる為に
< や > や & ・改行等を特殊なコードに変換してくれます。
以下カスタマイズ方法
1:MTディレクトリ/mt-static/mt.js をエディタで開き編集
function formatStr (e, v) 部分を検索。
function formatStr (e, v) {
if (!canFormat) return;
var str = getSelected(e);
if (str) setSelection(e, '<‘ + v + ’>’ + str + '</’ + v + ’>’);
return false;}
function Decode(e) {
if (!canFormat) return;
var str = getSelected(e);
if (!str) return;
str = str.replace(new RegExp("&","g"), "&");
str = str.replace(new RegExp("<","g"), "<");
str = str.replace(new RegExp(">","g"), ">");
str = str.replace(new RegExp(‘"’,"g"), """);
str = str.replace(new RegExp(‘ ’,"g"), " ");
setSelection(e, str);
return false;
}
青太字部分を追加。
2.1:続いて、MTディレクトリ/tmpl/cms/edit_entry.tmpl をエディタで開き編集。
<div id="body-box"> 部分を検索
検索した部分から13行ぐらい下の方に
write(‘< ???? というソースが並んでいるので、先頭部分
<script type="text/javascript">
if (canFormat) {
with (document) {
記述の後に、下記青太字部分を追加
<script type="text/javascript">
if (canFormat) {
with (document) {
write(‘<a title="<MT_TRANS phrase="Decode">" href="#" onclick="return Decode(document.entry_form.text)"><img src="<TMPL_VAR NAME=STATIC_URI>images/decode-button.gif" alt="<MT_TRANS phrase="Decode">" width="26" height="18" border="0" /></a>’);
2.2:更に追記にもデコードボタンを追加したい場合は
<MT_TRANS phrase="Extended Entry"> 部分を検索
ちょっと下に2でカスタマイズしたのと同じような項目があるので、そこに下記を追加
write(‘<img title="<MT_TRANS phrase="Decode">" onclick="return Decode(document.entry_form.text_more)" src="<TMPL_VAR NAME=STATIC_URI>images/html-decode.gif" alt="<MT_TRANS phrase="Decode">" width="22" height="16" border="0" />’);
これで、追記にもデコードボタンを追加できます。
で、ここまでやって見ると色々パターンが見えてくるので応用してstrike(打ち消し)も
追加させて見る。
2と同じ場所に
write(‘<a title="<MT_TRANS phrase="Strike">" href="#" onclick="return formatStr(document.entry_form.text, ’strike’)"><img src="<TMPL_VAR NAME=STATIC_URI>images/strike-button.gif" alt="<MT_TRANS phrase="Strike">" width="22" height="16" /></a>’);
を追加。追記にも追加したければこの項目のソースを2.1と同じ場所に追加して下さい。
3:Iconを追加
以上のソースにはiconを表示させるためのソースが含まれているので設定して上げましょう!
ボタンはテキトーに自分で作るか、参考サイトさまの所にも置いてあるので使わせて頂くのも
良いかもです。
出来たIconは
MTディレクトリ/mt-static/images/ にポイッすればOK!!
カレンダー
前提として、カレンダーのカスタマイズを行う前にPHP化する事を推奨とされた
カスタマイズになっているようです。
カスタマイズを行う前に、関連ファイルのPHP化を行ってください。
PHP化参考サイト
小粋空間:Movable Type の PHP化(その1)
小粋空間:Movable Type の PHP化(その2:.html のままPHPを有効にする)
参考サイト
小粋空間:月送りカレンダー
カレンダーの表示部分に月送りが出来るリンクを作ることが出来ます。
(PHP化推奨)
小粋空間:休日表示付リアルタイムカレンダー for Movable Type
=PHP化および月送りカレンダーを設置していることが条件=
カレンダーの日付部分に休日(日曜・祭日)/土曜日/リアルタイム
(本日の日付に(デフォルトで)枠線が付く)を表示。
ツリー化
サイドメニューをツリー化するカスタマイズ。
参考サイト
小粋空間:JavaScript 不要なサイドメニューのツリー化 for Movable Type
以前はJavaScriptを使用したツリー化が主だったのですが、MT3.2以降で
新しいMTタグが追加され、そのタグを使ってツリー化が出来るようになったようです。
ツリー化の為のjsファイルも必要としないので◎!
応用編
小粋空間:月別アーカイブリストのツリー化 for Movable Type
月別アーカイブリストもツリー化を!長くblogをやっていると月別表示も長くなりがち。
ツリー化をする事によって、スマートに収納出来るようになってます。
折りたたみ
サイドメニューのタイトル(カテゴリー等)をクリックで折りたたむカスタマイズ。
参考サイト
基本:小粋空間:サイドメニューの折りたたみ(v4.0)
基本の折りたたみスクリプト。私のサイトのメニューのように折りたたむことが出来ます。
応用:小粋空間:サイドメニューの折りたたみ(v5.0:ゆっくり折りたたむ)
応用カスタマイズ。滑らかに折りたためる感じが綺麗だったりします。
唯、使用するjsファイルの数が3つと多めなのが×かな?
重そうなので、私のサイトでは使用していません;