2008年4月28日
エントリー編集画面のツールバーで挿入されるタグを変更する
例えばリンク設定のボタンで、常に「target="_blank"」を入れたい場合があると思います。本来はそういうプラグインを利用する方が好ましいんですが、一応ソースを直接変更する方法を備忘録として残しておきます。

(MTのスタティックディレクトリ)/js/common/Editor/Textarea.js
MT3.xとは違い、上記のファイルを変更します。スタティックディレクトリは、標準のインストール手順に従っている場合はmt-staticという名前になっています。
例えば、リンクボタンの場合、Textarea.jsの↓この部分を、
この様に変更します。
他のボタンも同じようにして変更できると思います。

(MTのスタティックディレクトリ)/js/common/Editor/Textarea.js
MT3.xとは違い、上記のファイルを変更します。スタティックディレクトリは、標準のインストール手順に従っている場合はmt-staticという名前になっています。
例えば、リンクボタンの場合、Textarea.jsの↓この部分を、
case "createLink":
/* XXX escape() argument? */
this.setSelection( '<a href="' + argument + '">' + text + "</a>" );
break;
この様に変更します。
case "createLink":
/* XXX escape() argument? */
this.setSelection( '<a href="' + argument + '" target="_blank">' + text + "</a>" );
break;
他のボタンも同じようにして変更できると思います。
投稿時間 01:57 | Permalink | トラックバック (0) | コメント (0) | Movable Type
2005年10月 2日
「改行を変換する」でPタグを使わないようにする
Movable Typeでエントリーを作成するとき、テキストフォーマットで「改行を変換する」を選ぶと、改行の仕方に応じてPタグとBRタグが自動的に挿入される。場合によってはPタグを使用せず、改行をそのままBRタグに変換する場合が都合がいいこともあるので、その方法を備忘録として残しておこうと思う。
(MTをインストールしたディレクトリ)/lib/MT/Util.pmの、html_text_transformという関数を変更する。ちなみにMTのバージョンは3.171で確認しているので、これより違いの大きいバージョンだと通用しないかもしれない。
さて、変更前はこうなっている。
これを次のように変更する。なお、行の先頭に特定のタグがある場合は改行があっても変換されないようになっているが、これにTR・TDタグも適用されるよう、if文中のマッチ条件を追加しておく。
後は適当にテンプレート等を変更し、見栄えを調整してやればOK。
【2008/04/28 01:55追記】
MT4.1でも動作確認が取れました。
(MTをインストールしたディレクトリ)/lib/MT/Util.pmの、html_text_transformという関数を変更する。ちなみにMTのバージョンは3.171で確認しているので、これより違いの大きいバージョンだと通用しないかもしれない。
さて、変更前はこうなっている。
sub html_text_transform {
my $str = shift;
$str ||= '';
my @paras = split /\r?\n\r?\n/, $str;
for my $p (@paras) {
if ($p !~ m@^</?(?:h1|h2|h3|h4|h5|h6|table|ol|dl|ul|menu|dir|p|pre
|center|form|fieldset|select|blockquote|address|div|hr)@) {
$p =~ s!\r?\n!<br />\n!g;
$p = "<p>$p</p>";
}
}
join "\n\n", @paras;
}
これを次のように変更する。なお、行の先頭に特定のタグがある場合は改行があっても変換されないようになっているが、これにTR・TDタグも適用されるよう、if文中のマッチ条件を追加しておく。
sub html_text_transform {
my $str = shift;
$str ||= '';
my @paras = split /\r?\n/, $str;
for my $p (@paras) {
if ($p !~ m@^</?(?:h1|h2|h3|h4|h5|h6|table|tr|td|ol|dl|ul|menu|dir
|p|pre|center|form|fieldset|select|blockquote|address|div|hr)@) {
$p .= "<br />";
}
}
join "\n", @paras;
}
後は適当にテンプレート等を変更し、見栄えを調整してやればOK。
【2008/04/28 01:55追記】
MT4.1でも動作確認が取れました。
投稿時間 06:28 | Permalink | トラックバック (1) | コメント (0) | Movable Type
2005年4月12日
タイトルにリンクを張ったり張らなかったりするテスト その2
なんだ、こうすりゃいいんじゃないか…。
<?php
if ('<$MTEntryKeywords$>' == '') {
print '<h3 id="a<$MTEntryID pad="1"$>">';
} else {
print '<h3 id="a<$MTEntryID pad="1"$>"><a href="<$MTEntryKeywords$>" target="_blank">';
}
?>
<$MTEntryTitle$>
<?php
if ('<$MTEntryKeywords$>' == '') {
print '</h3>';
} else {
print '</a></h3>';
}
?>
投稿時間 19:57 | Permalink | トラックバック (0) | コメント (0) | Movable Type
タイトルにリンクを張ったり張らなかったりするテスト
エントリー編集画面で「キーワード」にURLを入れると、タイトルにリンクが張られるように少し改造。ただしタイトルに半角シングルクォーテーションが使えなくなる…。
<?php
if ('<$MTEntryKeywords$>' == '') {
print '<h3 id="a<$MTEntryID pad="1"$>"><$MTEntryTitle$></h3>';
} else {
print '<h3 id="a<$MTEntryID pad="1"$>"><a href="<$MTEntryKeywords$>"><$MTEntryTitle$></a></h3>';
}
?>
投稿時間 00:35 | Permalink | トラックバック (0) | コメント (0) | Movable Type










