≪HOME(21世紀のアフィリエイト通販生活)
1 |
2 |
3 |
4 |
5 |
6 | All pages
MovableTypeの検索って記事が増えてくると時間が掛かります。
さらに最大の欠点は複数のブログをMovableTypeで構築している時の挙動にあります。
この場合、一回目の検索では問題ありませんが、検索結果画面から2回目の検索を行おうとすると、全ブログが検索対象になってしまいます。
これはかなりマズい仕様です。
代わりにGoogleの検索窓を設置するなんて方法もありますが、Googleのインデックスに加わってない投稿間もないページは検索対象になりません。
新しい記事が検索対象にならないんじゃ話にならんよ。
この問題を劇的にしかも実に簡単な方法で改善できます。確認したい方は右上の検索窓から試してみて下さい。
参考にしたのはこちらです。感謝、感謝、感謝 ![ぽっ](http://www.55link.com/images/icons/icon_redface2.gif)
└ ココログプロとかTypepadとかMTとかブログ人とかその他のブログサービスとかでもAjaxでバックナンバーを検索するJavaScript
新規インデックス・テンプレート作成で、ファイル名をsearch_data.txt として、index.htmlと同じ場所に出力します。
<?xml version="1.0" encoding="utf8"?>
{data: [
<MTEntries all="1">
{title:"<$MTEntryTitle remove_html="1" encode_js="1"$>",link:"<$MTEntryLink$>",body:"
<$MTEntryBody remove_html="1" encode_js="1"$><$MTEntryMore remove_html="1" encode_js="1"$>"},
</MTEntries>
{"title": "", "link": "", "body": ""}
]
}
各テンプレートの検索窓には以下を設置。テンプレート名&出力パスを変更した場合は、それに合わせて所定箇所を変更します。
<script type="text/javascript" src="http://java.cocolog-nifty.com/blog/files/javascript/prototype.js"></script>
<script type="text/javascript" src="http://java.cocolog-nifty.com/blog/files/javascript/blog_ajax_json_search.js">
</script>
<form action="javascript:blogAjaxJsonSearch( '/search_data.txt', document.getElementById('search_box').value );"><input type="search" id="search_box" value="" size="30"><input type="button" id="search_button" onclick="javascript:blogAjaxJsonSearch( '/search_data.txt', document.getElementById('search_box').value );" value="サイト内検索"></form>
検索結果は今までのように検索用テンプレート search_templates/default.tmpl を使いません!
各アーカイブの<div class="content">~</div>で囲んだ部分に表示されます。
なので、もしない場合は新たにコンテンツ部分の内側などに追加すればOKです。
たったこれだけで完了
一番最初の検索だけ過去記事をロードしている為、ちょろっと時間が掛かりますが、同画面からの以降の検索は最速!爆速!驚速!音速の貴公子セナ!
最初のロード時間にしても私の環境だと1~2秒なので、今までより圧倒的に鬼速!
ヒットした語句がハイライト表示されるのも良さげです。
なにより検索結果がブログ内のメインコンテンツ部分に表示されるので、なんだかとってもスマートでクールな気分
人は便利さを手にした瞬間から、もう元には戻れないという。
- - - - - - - - - - - - - - - - - - - - - - - - - -
追記:
追加したテンプレートを見ると判りますが、コメントが検索対象になっていません。
コメントを検索対象に含めたい場合は以下のように変更します。
<?xml version="1.0" encoding="utf8"?>
{
data:[
<MTEntries all="1">{
title:"<$MTEntryTitle remove_html="1" encode_js="1"$>"
,link:"<$MTEntryLink$>"
,body:"<$MTEntryBody remove_html="1" encode_js="1"$><$MTEntryMore remove_html="1" encode_js="1"$><MTComments>【<$MTCommentAuthor remove_html="1" encode_js="1"$>】<$MTCommentBody remove_html="1" encode_js="1"$></MTComments>"
},</MTEntries>
{title:"",link:"",body:""}
]
}
参考にさせてもらったのはこちらです。
└ blog_ajax_json_search.jsにパッチ:コメントも含めて検索
検索ヒットしたコメントに対してもハイライトを効かせたい場合は、上記のサイトを参考にjavascript の呼び出し先を変更して下さい。
私の場合、何故かハイライト部分だけフォントサイズが小さくなっていたので、ローカルに落とさせて貰ってフォントサイズだけ変更しました。
今回も感謝、感謝、感謝です。
≪ 続きを隠す
投稿者 Locutus : 2006年05月13日 22:13
| コメント (0)
| トラックバック (4)
使うプラグインはeval-templateプラグインです。
これは今まで入れたプラグインの中で一番ド肝を抜かれたプラグインです。
エントリー投稿欄でMovableTypeのテンプレートタグが使えてしまえるんですから。![驚愕](http://www.55link.com/images/icons/icon_eek2.gif)
使い方は簡単。
プラグインの名前をeval-template.pl とし、pluginsフォルダにアップロード!
各アーカイブの所定箇所を以下のように変更します。
<$MTEntryBody$> ⇒ <$MTEntryBody eval="1"$>
<$MTEntryMore$> ⇒ <$MTEntryMore eval="1"$>
<$MTBlogURL$>などをエントリー投稿してみて、無事ブログのURLが表示されていれば完了です。
しかしこれを実際使うとなると頭の柔らかさが必要になります。どんな使い方があるんだろ~![?](http://www.55link.com/images/icons/question.gif)
≪ 続きを隠す
投稿者 Locutus : 2006年05月11日 02:27
| コメント (0)
| トラックバック (0)
ModTextFilterを使ってみました。
このプラグインをインストールすると改行設定が新たに追加されます。
効果はMovableType特有の改行設定の不具合を解消する役割があります。
とは言え、それがなんなのかよく判っていません。
では何故入れたかと言うと、HTMLエンコードタグが追加されるからです。
このプラグインをインストールすると、<enchtml>タグがエントリー投稿時に使えるようになります。
<enchtml> " & < > </enchtml>
<enchtml>タグを使うと、上記のような特殊キャラクタを文字参照に変換してくれます。要するに特殊キャラクタをウェブ上で表示できるようになる訳です。
※<enchtml>タグ自体は出力表示されません!
よくあるデコードボタンを付ければ問題ない話ですが、BigPAPIとの相性が悪いので使えません。
しかしこの方法なら問題無し!
デコードボタンが無くてもペースターのタグ入力支援機能と併用すれば便利に利用できそうです。
プラグインを入れてどんどん便利になっていくMovableType
は頼もしい
≪ 続きを隠す
投稿者 Locutus : 2006年05月10日 21:26
| コメント (0)
| トラックバック (0)
BlogCopyright Plugin for MT
このプラグインを追加すると、<$MTBlogCopyright$>というテンプレート・タグが新たに利用可能となります。
何が起こるかというと以下のようになります。
Copyright ©2004-2006
たったこれだけです。![大笑い](http://www.55link.com/images/icons/icon_lol2.gif)
何をしているかというと、
最も昔のエントリーの日付と、最も最近のエントリーの日付を調べて、年の部分だけ抽出表示してくれます。
効果はこれだけです。よくこんなプラグイン作るな~しかし、と言いながらも利用してます。便利です![拍手](http://www.55link.com/images/icons/hakusyu.gif)
≪ 続きを隠す
投稿者 Locutus : 2006年05月10日 20:03
| コメント (0)
| トラックバック (0)
BetterFileUploaderをダウンロードします。
BetterFileUploaderフォルダをそのままpluginsフォルダにアップロード!
設定はすべて英語ですが、たいして難しい単語もないので、それについは割愛します。見れば判るでしょ。
以前使っていたChangeUploadPathプラグインでも同じ効果がありましたが、今回のはもっと優れもの。![マッスル](http://www.55link.com/images/icons/muscle.gif)
任意のアップロードフォルダを指定し、入力済みに出来るのはもちろん、加えて以下のような効果があります。
![BetterFileUploaderプラグインで画像アップロードの手間を省く!](http://55link.com/images/mt_customize/better_file_uploader-thumb.gif)
何故かMovableType標準では「エントリーを投稿」にチェックが入ってるのを、「HTMLを表示」に変更可能です。
またサムネイルのデフォルト値を任意の値に変更可能です。サムネイル値って同じサイトの場合、固定される場合が多いのでこれは大助かり。![拍手](http://www.55link.com/images/icons/hakusyu.gif)
ダイアログ開いた段階では元の画像サイズが表示されていますが、チェックボックスをチェックした瞬間に、プラグイン設定で指定したサムネイルサイズに変更されます。
さらにこのプラグインの良いところは、上記の設定が全ブログまたはブログ毎、どちらでも設定可能な点です。![グッジョブ](http://www.55link.com/images/icons/good.gif)
これでブログ数を追加しても、各ブログで画像アップロードの煩わしさを軽減できます。これ以上のものは要らないでしょ。![キラキラ](http://www.55link.com/images/icons/star.gif)
ちなみに当プラグインはBigPAPIと一緒に動くのでお忘れ無く!
≪ 続きを隠す
投稿者 Locutus : 2006年05月07日 02:53
| コメント (0)
| トラックバック (0)
MainMenuRecentプラグインを入れてみました。
pluginフォルダに入れるだけでOKです。
効果は以下のとおり。
![MainMenuRecentで最近のエントリーがメインメニューから選択可能になる!](http://www.55link.com/images/mt_customize/mainmenurecent-thumb.gif)
最近のエントリーがメインメニューから選択可能になります。たったそれだけです。
BigPAPIと一緒に動くのでお忘れ無く!
≪ 続きを隠す
投稿者 Locutus : 2006年05月06日 21:10
| コメント (0)
| トラックバック (0)
WeblogActionMenuプラグインを入れてみました。
Pluginフォルダに突っ込めばOKです。
効果はたったこれだけ。
![WeblogActionMenuプラグインでプルダウンメニュー追加!](http://www.55link.com/images/mt_customize/weblogactionmenu-thumb.gif)
ログイン直後に新規エントリーページに直行したい道楽ものには最適。![ロケット](http://www.55link.com/images/icons/locket.gif)
BigPAPIと一緒に動くのでお忘れ無く!
≪ 続きを隠す
投稿者 Locutus : 2006年05月06日 20:58
| コメント (0)
| トラックバック (0)
TinyMCE for MovableType 日本語版 1.00をインストールしました。
MovableTypeのエントリー投稿画面をWYSIWYG(ウィジウィグ)エディターに変えるプラグインです。
使い方はこちらが参考になります。
└TinyMCE Plugin for Movable Type Ver1.00 Ja 正規版リリース
(注)最初に断っておくとFirefox1.5以外のブラウザではWYSIWYG機能に制限が出ます。
ちなみにWYSIWYGとはWhat You See Is What You Getの略。直訳すると、
「見た物が手に入る!」
要するにユーザーインターフェースが進化し、使い勝手が良くなる!って意味です。 HTMLエディタの世界では編集画面がウェブページを見ているような画面になる事を指します。
ダウンロードファイルを解凍し、mt-static、php、pluginsの各ディレクトリをmt.cgi があるディレクトリへアップロードします。
同名のフォルダが既にありますが、委細構わずアップロード! FTPソフトがアホじゃなければ10分程でインストール完了します。
出来上がりはこんな感じ。
![TinyMCE Plugin for MovableTypeをインストール後のエントリー投稿画面](http://www.55link.com/images/mt_customize/tinymce-thumb.gif)
エントリ投稿画面の段階で、ブラウザで出力ページを見た時と同じような見栄えになります。WYSIWYGモードと通常モードの切り替えは右端の"WYSIWYG"ボタンで行います。
※段落<P>を入れたい時はEnter、改行<BR>ならShift+Eneter。またWYSIWYG化した事により、<> & " などの特殊キャラクタもそのまま入力可能です。
さらに、/mt-static/TinyMCEforMT/mycontent.css を編集すればWYSIWYG画面の見栄えを変更できます。文字サイズやリンク色、テーブル設定などを実際のエントリーに則して設定しておけば、より見た目がすっきりし編集作業も楽になります。
またエントリで使用するクラス名なども追加しておけば、エントリ投稿時に簡単に挿入可能となります。
便利な機能としては、HTMLソース編集、投稿前のプレビュー、編集対象のタグ表示の3点。
中でもHTMLソース編集機能は、HTMLソースを直接入力・編集したい時には便利です。HTMLボタンを押すとソース編集画面が別窓で開きます。
![HTMLソース編集画面が別窓で開く](http://www.55link.com/images/mt_customize/tinymce_html-thumb.gif)
ひたすらタグを打ち込むだけの硬派な画面ですが、ペースターのタグ入力支援機能と併用すればそれなりに使えそうです。
もっとも、WYSIWYGボタンを押して通常モードに戻せば、タグが全部表示された状態になるので同じ事なんですが。
※ちなみ、WYSIWYGエディタを使う場合は、設定で改行設定をなしにしておきます。この設定を行わないと、「WYSIWYG」編集モードから通常モードに戻したときにHTMLコードの改行が有効になりません。
注意したいのはこの逆の行為、つまり通常モードからWYSIWYGモードへの移行時です。この場合、改行設定に係わらず通常モードでの改行や段落などは無視され、コンテンツが全部詰まった状態になります。この状態で保存してしまうと、通常モードに戻しても同じく改行・段落のない状態のままになってしまいます。
ただ保存さえしなければ、通常モードに戻しても改行・段落は生きています。ブラウザを使って更新するCMSなら常識でしょうが、過去記事をWYSIWYG画面で直す時は注意しておきましょう。
WYSIWYGモードはブラウザ依存する事もあり、便利さは人によりけりでしょうが、それよりもこのプラグインの一番のメリットは投稿画面の上下幅を変えられる点です。
この機能はブラウザがIE系でも問題ありません!
当プラグインを追加すると、上のようなボタンが追加されるので、エントリー投稿画面の上下幅を調節できるようになります。(WYSIWYGモードでは画面右下をつまむ事で変更できます。)
一度設定すると他のエントリーに移っても上下幅は記憶されます。
便利すぎ
但し、Windows + IE6ではボタンを押す度に画面がスクロールし、投稿画面先頭に戻ってしまいます。これはTinyMCE for MovableTypeに限った話ではなく、デフォルトボタンでも起こるMovableType3,2の不具合です。
最後の仕上げに以下を参考にこの不具合を直します。TinyMCE Plugin for Movable Type Ja でエントリーを編集するplugins/TinyMCEforMT/TinyMCEforMT.pl を開き、赤文字部分を追加します。
HTML
chop ($old); $old = quotemeta ($old);
chop ($add1);
chop ($add2);
$$template =~ s/($old)/$add1$1$add2/;
$$template =~ s/href="#" mce_href="#"/href="javascript:void(0);" mce_href="javascript:void(0);"/g;
}
1;
__END__
TinyMCE for MovableTypeを使ってない場合の不具合対処法は以下を参考にどうぞ。
└エントリー編集画面のHTMLタグ挿入ボタンの不具合を解消するプラグイン
注意したいのはこれらの対処法を行った場合、他のBigPAPI対応プラグインに影響が出る場合がある事です。
私の場合影響が出たので元に戻しました。
追記:1
標準で入ってるスマイル画像の種類を入れ替える場合は以下にアイコン画像を追加!
mt-static\plugins\Ajaxify\tinymce\jscripts\
tiny_mce\plugins\emotions\images
ひとつ上のフォルダにあるemotions.htm に追加画像用の設定を追加!
同フォルダ、editor_plugin_src.js でポップアップ窓用の縦横を適当に変更!
⇒ template['width'] と ['height']
追記:2
WYSIWYGモードから通常モードに戻したときに、キーボード操作が不能になる現象があります。これを回避するには単純にデフォルトで付いてる装飾ボタン(BやIなど)を押せば元に戻ります。
≪ 続きを隠す
投稿者 Locutus : 2006年05月04日 17:59
| コメント (2)
| トラックバック (2)
アドビ システムズがMovableType 3.2
のタグ入力補完やリファレンス機能などを実現する“Dreamweaver 8.0.1 機能拡張 for Movable Type 3.2”の無償提供を開始しました。
コードヒントなど基本的な機能は2004当時と同じです。
└DreamweaverでMovableTypeのテンプレートファイルを編集!(2)
意外と便利なのがタグリファレンス機能。
ご存じのとおりMovableTypeには専用タグが鬼のようにあります。これらタグの意味がすぐにチェックできるのは非常に便利!分厚いリファレンス本など必要ありません。(属性値にも対応!)
![右クリックからMovableType リファレンスが利用できる!](http://www.55link.com/images/mt_customize/dreamweaver8_all_screen3-thumb.gif)
それと、DREAMWEAVER 8を使い始めてビビったのが、デザインビューでスタイル設定が忠実に反映される所。ボタン一発でCSSレンタリングが強化されます!
![忠実にスタイル設定が反映!](http://www.55link.com/images/mt_customize/dreamweaver8_all_screen-thumb.gif)
MovableTypeのテンプレートを編集する時に、スタイルシートのパスにMT特有の変数タグを使ってると、ローカル環境では当然効きません。そんな時はCSSパネルからデザインタイム・スタイルシートでCSSファイルを指定します。
2004まではこの機能ほとんど役にたちませんでしたが、8では改善されてます。![万歳](http://www.55link.com/images/icons/banzai2.gif)
Dreamweaver2004まではMovableTypeテンプレートをデザインビューで見ると、何じゃコリャ
だった為に、コード画面オンリーで使ってましたが、これからはコード画面とデザインビュー半々にして使わせて頂きます。![拍手](http://www.55link.com/images/icons/hakusyu.gif)
![Dreamweaver8 コード画面とデザイン画面の分割](http://www.55link.com/images/mt_customize/dreamweaver8_all_screen2-thumb.gif)
※テンプレート編集時に文字化けが出るようなら文字コード指定で<$MTPublishCharset$>を使わずに、直接使用コード(charset=utf-8等)を指定しましょう。
関連記事
└DreamweaverでMovableTypeのテンプレートを編集!
└DreamweaverでMovableTypeのテンプレートファイルを編集!(2)└MovableTypeでスタイルシート(CSS)の編集を便利にする
≪ 続きを隠す
投稿者 Locutus : 2006年03月01日 19:24
| コメント (2)
| トラックバック (0)
エントリー投稿画面とコメント欄に絵文字を表示させる第2弾です。
↓出来上がりはこんな感じです。
![BigPAPI に対応したエントリー&コメント絵文字用プラグインを使う!](http://www.55link.com/images/mt_customize/inserticon-thumb.gif)
コメント欄の方はページの下の方で確認できます。
以前に紹介した方法ではエントリー投稿画面を表示させるtmpl/cms/edit_entry.tmpl を直接編集する必要があり、MovableTypeのバージョンアップの度に同じ事を繰り返さなくてはならず、およそスマートとは言い難い方法でした。
└ コメントとエントリー投稿で画像(絵文字)を使う
今回の方法はプラグインを使う方法なのでedit_entry.tmpl はノータッチ!さらに画像(絵文字)の追加・削除も簡単です。
edit_entry.tmpl をいじくるのはもはや時代遅れと相成りました。自分で書いといて何ですが、バージョン上がる度にあんな面倒くさい事やってられません!
常人なら頭が変になりますよ。![あ~あ](http://www.55link.com/images/icons/aaaah.gif)
これからはいつバージョンアップがあっても無問題!どんどんバージョン上げちゃって下さい。![ロケット](http://www.55link.com/images/icons/locket.gif)
参考にしたのは藤本壱さんが上梓された、
ブログ簡単パワーアップ Movable Type スーパーカスタマイズテクニックのP109~P122迄です。
プラグインのダウンロード先は、著者が一般に公開されてないみたいなので秘匿しておきます。![錠](http://www.55link.com/images/icons/lock.gif)
知りたい方は藤本壱さんの同書で確認してくださいm(_"_)m
以下は自分の備忘録&メンテ代わりに記しておきます。
まず使用する画像を適当な場所にアップロードしておきます。
今回のプラグインはBigPAPIの導入が前提となります。なのでまずBigPAPIをpluginsフォルダにアップします。BigPAPIとは何か?と言うと、管理画面表示テンプレートを動的に置換してくれるプラグインです。
次に入手した各ファイルを適宜修正後、指定箇所にアップします。
文字コードをMovableType側と同じにするのを忘れずに!
次にコメント欄に絵文字を表示させる為に各テンプレートを編集します。
individual_entry_archive.html
comments_preview.html
comments_error.html
の三つです。これらの<head>~</head>間に以下を追加。
<script type="text/javascript" src="<MTStaticWebPath>mt_icon.js"></script>
さらに、各テンプレートの
<$MTCommentBody$>、<$MTCommentPreviewBody$>
を以下のように変更します。
<MTConvertIconMacro>
<$MTCommentBody$>
</MTConvertIconMacro>
<MTConvertIconMacro>
<$MTCommentPreviewBody$>
</MTConvertIconMacro>
最後に、各テンプレートの<textarea>~</textarea>の前もしくは後に以下を追加します。
<div class="converticonmacro">
<script type="text/javascript">
<!--
listIcons('document.comments_form.text', 'macro');
-->
</script>
</div>
エントリー、コメント共に各imgタグにはクラス名mt_iconが付加されます。
今回の変更ではコメント欄の方はテンプレートを編集しないといけませんが、普段から編集しまくりなのでどうという事はありません。
それよりエントリー投稿画面の方がプラグインのUPだけで済むのは大助かり。気に入らなければプラグインを外せば元に戻るんですから(便利!)。
BigPAPIを使った投稿画面カスタマイズに拍手を送ります。![拍手](http://www.55link.com/images/icons/hakusyu.gif)
≪ 続きを隠す
投稿者 Locutus : 2006年02月19日 21:28
| コメント (0)
| トラックバック (1)
以前にエントリー投稿画面のリンクボタンでtarget="_blank"を自動的に挿入でリンク挿入で別ウィンドウが開くように設定していました。
がしかし、
自サイト内への内部リンクを入れる時に今度はtarget="_blank"を消す作業が加わり
不便を感じていました。
これを解消する為にブログ簡単パワーアップ Movable Type スーパーカスタマイズテクニックのP105に載ってるTipsを利用する事にしました。
使うプラグインはmt-insert-link.cgi です。(← あくまで自分の検索備忘録用)
尚、同プラグインはBIGPAPIという管理画面表示テンプレートを動的に置換してくれるプラグインと併用します。
使い方は簡単!![キラキラ](http://www.55link.com/images/icons/star.gif)
該当テキストを選択してリンクを挿入ボタンを押下すると、以下のウィンドウが開くようになります。
![mt-insert-link.cgi を使うとリンク挿入ボタン押下で便利なウィンドウが開きます!](http://www.55link.com/images/mt_customize/mt-insert-link1-thumb.gif)
設定ボタンを押した瞬間に別ウィンドウは消えて、投稿画面に戻るとリンクが挿入されています。
※ラジオボタンの初期値はお好みに合わせて変更できます。
これに加えて、さらに新しくボタンが追加されます。
![mt-insert-link.cgi をインストすると新しくボタンが追加されます!](http://www.55link.com/images/mt_customize/mt-insert-link2.gif)
これを押すと過去のエントリ一覧が50件ずつ表示されるので、自サイト内への内部リンク挿入を助けてくれます。
![過去のエントリー一覧が50件ずつ表示されます!](http://www.55link.com/images/mt_customize/mt-insert-link3-thumb.gif)
これでリンク挿入がよりスマートになりました。![タバコ](http://www.55link.com/images/icons/tabaco.gif)
BIGPAPIを使ったMovableTypeカスタマイズでは、全部プラグインを使って投稿画面を変えられるので、バージョンアップの際も面倒くさいテンプレ編集から解放されます。
BigPAPI 万歳
![左パー](http://www.55link.com/images/icons/par2.gif)
≪ 続きを隠す
投稿者 Locutus : 2006年01月18日 19:24
| コメント (0)
| トラックバック (0)
トップ、カテゴリ、月別アーカイブ等で追記部分を表示させる「続きを読む」をクリックした時に、標準では個別ページへ飛んでしまいます。これを止めて、「続きを読む」をクリックした同ページに展開させるように変更しました。
訪問者にとって個別ページ以外はどうでもいいページな訳で、カテゴリ、月別アーカイブを管理人が見易いようスマートな表示にしても問題ないでしょう。
お世話になったのはこちらです。
└ 個別アーカイブに「続きを読む」を導入
この機能は、JavaScriptとスタイルシートを使うことで実現しています。
ポイントは、「続きを読む」をクリックしない状態でも、「追記」部分は出力されている点です。「続きを読む」をクリックした時にJavaScriptを呼び出し、スタイルシートのdisplay属性で、追記の表示・非表示を切り替えています。
≪ 続きを隠す
投稿者 Locutus : 2005年12月10日 21:21
| コメント (4)
| トラックバック (0)
ちらほらとスパムコメントが来てるので、対処しました。使ったプラグインは、NotJapaneseLookup です。
思いきって英文のコメントをフィルタリングするものです。おなじみFujimotoさんの
└ 日本語でないスパムをフィルタするプラグイン(MT3.2用)
NotJapaneseLookup.pl をpluginsフォルダにアップします。
各ブログ毎のプラグイン設定から、お好みのスパム設定ができます。
「全角文字を」、「ひらがなを」、「句読点を」などで、各文字を何個含むかでスパムかどうかをフィルタリングする設定です。
MovableType Ver3,2になってからスパム対策プラグインの仕組みがよく判らなかったんですが、Fujimotoさんのブログ記事で氷解しました。
要するに標準の「判断基準値」が「0」で、複数のプラグインが付けたスコアは平均化されるって事ですね。でマイナスになったのはスパムとして処理されると。
Movable Type 3.2のスパム対策機能では、複数のスパム対策プラグインを組み合わせて、スパムかどうかを判断することができます。
個々のスパム対策プラグインは、コメントやトラックバックに「スコア」をつけます。
スパムとみなす場合は、通常はマイナスのスコアがつきます。
そうでない場合は、スコアは通常は0になります。
NotJapaneseLookupプラグインでは、日本語でないコメント/トラックバックには、標準では-1のスコアをつけます。
また、プラグインによっては、プラスのスコアをつけるものもあります。
例えば、MT3.2標準の「SpamLookup - Link」のプラグインでは、過去にコメント/トラックバックしたことがある人からのコメント/トラックバックには、標準では+1のスコアをつけるようになっています。
各プラグインのスコアが出たら、それらが平均されます。
そして、その平均値が「判断基準値」より低ければ、スパムとみなすようになっています。
判断基準値は、Blogの設定の「コメント/トラックバック」のタブの「迷惑コメント/トラックバック」の箇所で設定することができます。
標準ではこの値は0に設定されていますので、スコアの平均値が0より小さい場合は、スパムとみなされることになります。
≪ 続きを隠す
投稿者 Locutus : 2005年12月04日 01:11
| コメント (0)
| トラックバック (0)
MovableTypeで新しく記事を書く時って推敲を重ねてる間は未公開(下書き)の状態で保存しておいて、これでいいと思った時に公開するのが普通だと思います。
しかし、そのパターンだと投稿日の日付が未公開(下書き)で新規保存した日付が入ってしまいます。
これではまずいので、エントリーの投稿日を公開日に自動変更するReleaseDateプラグインを入れてみました。
└ エントリーの投稿日を公開日に自動変更する(MT3.2用)
入手したReleaseDate.pl をpluginsディレクトリにアップします。各ブログ毎のプラグイン欄で「Release Date 」から設定を表示し、以下のチェックボックスがONなのを確認すれば完了です。
![エントリーの投稿日を公開日に自動変更するReleaseDateプラグイン](http://www.55link.com/images/mt_customize/releasedate.gif)
新規投稿や未公開エントリーのみ以下のような「投稿日を公開日に変更」チェックボックスが追加されます。
※公開済みのエントリーでは、このチェックボックスは表示されません。
![新規投稿や未公開エントリーで「投稿日を公開日に変更」チェックボックス出現!](http://www.55link.com/images/mt_customize/releasedate2.gif)
因みに上記チェックボックスはプラグイン設定画面のチェックボックスと連動しているので、プラグイン設定をオフにすると、投稿画面のデフォルトもチェックボックスがオフになります。
※edit_entry.tmpl をデフォルトから変更してるとチェックボックスが表示されない事があります。
これとは別に、UpdateAuthoredOnプラグインも入れてみました。
UpdateAuthoredOn.pl をpluginsフォルダに入れれば、Updateボタンが追加されます。
![Updateボタンを押すと投稿日をその時点の日時に書き換えます](http://www.55link.com/images/mt_customize/update_authored_on.gif)
機能は簡単で、Updateボタンを押すと投稿日をその時点の日時に書き換えるという動作をします。判りやすくて意外と便利かも。
両プラグインともBIGPAPIというプラグインと併用します。
BigPAPI.pl をpluginsフォルダに入れるだけです。
因みにBIGPAPI はMovableTypeの管理画面の一部を動的に置換表示させるものです。これを使うことで以前のように、edit_entry.tmpl を直接書き換える必要がなくなりました。
└ MT 3.2で変わったブログツールスタンダード
≪ 続きを隠す
投稿者 Locutus : 2005年12月03日 17:49
| コメント (0)
| トラックバック (0)
MovableTypeを使ってると避けられないのが重複トラックバックです。
自分がやっちゃった時はただ申し訳ない気持ちで一杯になります。逆に送られた方からすると、正直1回1回消すのが面倒くさいんですよね。
そんな面倒を解消するのが小粋空間さんのプラグインです。
└ 重複トラックバック防止プラグイン
(注)MovableTypeのプラグイン設定画面でチェックボックスをONにしないと効きません!
duplicateTBPingfilter.pl プラグインを導入すると、同一のURLから送られてきたトラックバックで、タイトルと概要が同じものは、重複するトラックバックと見做されフィルタリングしてくれます。
設定しときたいのはフィルタリングされた時の相手側への配慮です。
小粋空間さんの説明によると、
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
フィルタされた場合はトラックバックを登録しませんが、相手サイトには 403 Forbidden が返却されます。これを正常に終了したかのようにするには、lib/MT/App/Trackback.pm の 236行目辺りを
$ping->blog_name($blog_name);
if (!MT->run_callbacks('TBPingFilter', $app, $ping)) {
return $app->_response(Error => "", Code => 403);
return 1;
}
$ping->save;
と変更します。この変更により、相手サイトにはトラックバックが正常終了したかのようにみえますので、さらに重複トラックバックが送信される可能性が低くなります。ただし他のプラグインと競合している場合はご注意ください。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
他はデフォルトでも問題ないでしょう。これで1回1回重複トラックバックを消す手間から開放されました。
≪ 続きを隠す
投稿者 Locutus : 2005年12月01日 15:39
| コメント (0)
| トラックバック (0)
「MovableTypeで最新のトラックバックをエントリーと一緒に表示させたいっ!」
という欲求があったとしても、実はこれを実現させるタグがありません。
コメントの場合は<MTEntries recently_commented_on="10">を使えば最新のコメントが付いたエントリーを表示させられます。
ところがMovableType標準では最近のトラックバックを表示させるべく<$MTPingTitle$>等を使っても、トラックバック先の情報が表示されるだけで、トラックバックを受けた自分のエントリーが出力されません。
これで一番困るのが、
「一体どのエントリーにトラックバックされたんだっ!」
ってなる事です。最近のトラックバックを表示させる時に、被トラックバックのエントリーを表示したいと思い、Recents.pl プラグインを導入してみました。
参考にさせて頂いたのはこちらです。
└ 最近のコメント/トラックバックをエントリーとともに表示するプラグイン(改良版)
もっともこのプラグインは以下のものと同じです。
└ 最近のコメントをエントリーとともに表示するプラグイン、を使ってみた
MovableType3,2からはスパム対策が強化され、標準プラグインによって迷惑トラックバックをすぐに表示せずに自動的に保留扱い出来るようになりました。
このプラグインも同機能に則して、保留や迷惑のトラックバックを出力対象から除外してくれます。
設定例は以下のとおりです。
<MTPingsRecent lastn="10" entry_sort_order ="desend" ping_sort_order="descend"> <!-- 昇順 ascend 降順 descend -->
<MTPingsRecentIfEntry>
<div class="entrytitle"><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></div>
<div class="entry_date"><$MTEntryDate$> トラックバック数 <a href="<$MTEntryPermalink archive_type="Individual"$>#trackbacks">[<$MTEntryTrackbackCount$>]</a></div>
</MTPingsRecentIfEntry>
<MTPingsRecentIfPing>
<MTPingsRecentHeader></MTPingsRecentHeader>
<div class="pingtitle"><a href="<$MTPingURL$>" target="_blank"><$MTPingTitle$></a></div>
<div class="authorlink">└ from <$MTPingBlogName$> (<$MTPingDate$>)</div>
<MTPingsRecentFooter></MTPingsRecentFooter>
</MTPingsRecentIfPing>
</MTPingsRecent>
<ul><li>タグは嫌いなので相変わらず使ってません。ブラウザごとに余白(margin、padding)の取り方が違うので、<div>等で代用できる時はそちらを使うようにしてます。
で、このRecents.pl プラグインを入れると、<MTPingsRecent>などのテンプレートタグが新たに追加されます。
<MTPingsRecent lastn="10">とすると、トラックバックしてくれた相手ブログのエントリーを10件表示してくれます。
トラックバックを受けた自分のエントリー10件ではありません。
表示されるのは時系列に則った最新のトラックバックです。
以前に私が使っていたMTPingedEntryプラグインとの違いを説明しておきます。
└ MovableType 最近のトラックバックにエントリー名を付ける!
今回導入したRecents.pl プラグインの場合ですが、
<MTPingsRecent lastn="10" ping_sort_order="descend">と設定すると、トラックバック表示順はdescend(降順、最新のものが上)となります。
この場合の表示例は以下の様に、エントリー毎にまとまって最新のトラックバックを表示してくれます。(アラビア数字が若い方が最新)
被トラックバック・エントリーA(自分)
└ トラックバック先のブログ・エントリー1(相手)
└ トラックバック先のブログ・エントリー6(相手)
└ トラックバック先のブログ・エントリー7(相手)
└ トラックバック先のブログ・エントリー9(相手)
被トラックバック・エントリーB(自分)
└ トラックバック先のブログ・エントリー2(相手)
被トラックバック・エントリーC(自分)
└ トラックバック先のブログ・エントリー3(相手)
└ トラックバック先のブログ・エントリー5(相手)
└ トラックバック先のブログ・エントリー10(相手)
被トラックバック・エントリーD(自分)
└ トラックバック先のブログ・エントリー4(相手)
└ トラックバック先のブログ・エントリー8(相手)
エントリー毎にまとめてあると言っても、全トラックバックの中から最新のトラックバックを lastn属性で指定した10件分だけ抽出して表示します。
その際の被トラックバック・エントリー(自分)の表示順ですが、あくまでそのエントリーについた最新のトラックバックが基準になります。
面白いのはRecents.pl プラグイン、MTPingedEntryプラグインともに表示されるトラックバックのタイトル(相手)自体は同じだと言うことです。
どちらも最新のもの表示する訳ですから当然と言えば当然ですが。
例えばlastn="30"とした場合の表示タイトル(相手)は両プラグインともに違いがありません。
あくまでその表示の仕方に違いがあるというだけです。どちらを取るかはお好み次第ですね。
≪ 続きを隠す
投稿者 Locutus : 2005年11月30日 02:21
| コメント (0)
| トラックバック (0)
最近のコメントを投稿されたエントリーと共に表示するには<MTEntries recently_commented_on="10">の中で<MTComments>を使えば可能です。
しかし以下のような問題があるそうです。
「MTEntriesタグの『recently_commented_on』で最近のコメントを表示すると、意図しない古いコメントが表示されてしまうことがある。」
デフォルトテンプレートや公開テンプレートのサイドバーメニューにある「最近のコメント」は、MTEntries タグや MTComments タグ等を用いて、表示するエントリー数と各エントリーに表示するコメント数を制御しています。この方法はスタンダードながら過去のコメントが含まれてしまうケースが少なくありません。
なのでおなじみFujimotoさんとこのブログの記事を参考に修正しました。感謝です。
└ 最近のコメント/トラックバックをエントリーとともに表示するプラグイン
└ 最近のコメント/トラックバックをエントリーとともに表示するプラグイン(改良版)
こちらも参考にさせて頂きました。有り難うございます。
└ 最近のコメントとトラックバック一覧表示
入れたプラグインはRecents.pl です。書いとかないと自分で忘れてしまうんですよね![汗](http://www.55link.com/images/icons/sweat.gif)
うちのブログでの設定例は以下の通りです。
<MTCommentsRecent lastn="30" entry_sort_order ="desend" comment_sort_order="ascend"> <!-- 昇順 ascend 降順 descend -->
<MTCommentsRecentIfEntry>
<div class="entrytitle">
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>
</div>
<div class="entry_date">~ <$MTEntryDate$>投稿 [コメント数: <$MTEntryCommentCount$>]</div>
</MTCommentsRecentIfEntry>
<MTCommentsRecentIfComment>
<MTCommentsRecentHeader></MTCommentsRecentHeader>
<MTCommentEntry>
<a class="comment_excerpt" href="<$MTEntryPermalink$>#c<$MTCommentID$>"
title="<$MTEntryTitle$>"><$MTCommentBody convert_breaks="0" trim_to="35"$> ・・・</a>
</MTCommentEntry>
<div class="commentauthorlink">
└ <$MTCommentAuthorLink show_email="0" add_target="1"$> (<$MTCommentDate$>)
</div>
<MTCommentsRecentFooter></MTCommentsRecentFooter>
</MTCommentsRecentIfComment>
</MTCommentsRecent>
最初、<ul>、<li>タグを使ってリスト表示を試みましたが、スタイルの対応がブラウザ毎にまちまちなので止めました。代わりに<div>タグを使い、スタイルシートのマージン並びにパディングで同様の効果を出してみました。
リストタグって昔っから好きじゃないんですよね。
≪ 続きを隠す
投稿者 Locutus : 2005年11月28日 20:38
| コメント (0)
| トラックバック (0)
Movable Type 3.2
からの改悪である、コメント投稿者のブログを同一ウィンドウで開く措置、これを修正しました。
参考にしたのはこちらです、有り難うございました。m( __ __ )m
└ コメント投稿者のBlogを別窓で開くプラグイン
あっさりと解決できる所がFujimotoさんの凄いところ!
今回も助かりました。感謝、感謝。
プラグイン名はaddtarget.pl です。あくまで自分の備忘録用です。
個別アーカイブを開き、
<$MTCommentAuthorLink$>に、add_target="1" 属性を付けるだけです。
<$MTCommentAuthorLink show_email="0" default_name="Anonymous" add_target="1"$>
≪ 続きを隠す
投稿者 Locutus : 2005年11月26日 02:24
| コメント (0)
| トラックバック (0)
このページの手順よりスマートな手順に変更しました。
└ BigPAPI に対応したエントリー&コメント絵文字用プラグインを使う!
MT Smileysプラグインを使って、MovableTypeのコメントとエントリー投稿でスマイル画像を使えるように改造しました。
最初に言っておくと、後から自分の好きな画像を自由に追加できます。なのでもっと使えるアイコンを増やしたいっ!なんて時でも問題ありません。
出来上がりはこんな感じです。
![コメントとエントリー投稿で画像(絵文字)を使う~MovableType](http://www.55link.com/images/mt_customize/entry_smile_small.gif)
コメント欄の方は、このページの下の方で確認できます。
参考にしたのはこちらです、有り難うございました。m( __ __ )m
└ MT Smileys
└ コメントとエントリ投稿用絵文字パワーアップ
└ エントリーの絵文字を“MT Smileys”に変更
まずMT Hacksから、MTMacroとMTsmileyの二つをのファイルをダウンロードしてきます。
mtmacros.zipを解凍して、以下のファイルをそれぞれのディレクトリにアップします。bradchoateがないときは新たに作ります。
/plugins/macros.pl
/extlib/bradchoate/macros.pm
/extlib/bradchoate/postproc.pm
次に新しくテンプレート・モジュールを作成します。モジュール作成はテンプレートの所を探せばどこかにあります。
mt-smiley.zipを解凍して、smiley-javascript.txt、smiley-macros.txt、smileys.txtの3つを取り出します。
新規モジュールを以下のように作成します。モジュールの内容は以下を全部コピペします。
テンプレート名 モジュールの内容
smiley javascript → smiley-javascript.txt
smiley macros →→ smiley-macros.txt
smileys →→→→→ smileys.txt
同じくmt-smiley.zipからimagesフォルダのスマイル画像をサーバーにアップします。
アップロード先はどこでも良いのですが、うちの場合は、
サイトルート/images/smile/
にアップします。これに合わせて、テンプレート・モジュールsmileys、smiley-macros にある画像パスをすべて修正します。
次に実際のサイト閲覧に於いて、コメント記入やエントリー投稿したスマイル画像が表示されるページのテンプレートを修正します。
indexページ、個別、カテゴリ、月別アーカイブなどです。
<head> ~ </head>間に以下を追加!
<$MTInclude module="smiley macros"$>
<$MTInclude module="smiley javascript"$>
コメント投稿でスマイル画像を使えるようにする!
個別アーカイブを開き、コメントフォーム内<form> ~ </form>間に以下を追加!
<$MTInclude module="smileys"$>
↑これを挿入した箇所にコメント記入で使用するスマイル画像が表示されます。なのでsmileysの中身を<div>で囲むなりして、スタイル設定を効きやすくしておいた方がいいでしょう。
次に、コメント文を表示させる<$MTCommentBody$>を探して以下のように変更します。
<MTMacroApply><$MTCommentBody$></MTMacroApply>
以上で再構築すればコメント欄でスマイル画像が使えるようになります。
エントリー投稿欄でスマイル画像を使えるようにする!
エントリー本文ならびに追記を表示させる<$MTEntryBody$>、<$MTEntryMore$>をそれぞれ以下のように変更します。
<MTMacroApply><$MTEntryBody$></MTMacroApply>
<MTMacroApply><$MTEntryMore$></MTMacroApply>
次に、tmpl/cms/edit_entry.tmpl を開きます。このファイルはエントリー投稿画面の表示・動作を司るファイルになります。
まず「エントリーの内容」でスマイル画像を使えるようにします。
<div class="field-buttons">の上あたりにこれから説明するコードを追加します。2箇所見つかりますが、ひとつ目が「エントリーの内容」に相当、ふたつ目が「追記」に相当します。
なのでひとつ目の上に追加します。
(注意)MovableTypeのバージョンアップ等でクラス名が変わってる場合は自分で適当な位置にペーストして下さい。
追加するのは、モジュールsmileysの中身を修正したものです。
edit_entry.tmpl ではテンプレートタグ<MTBlogURL>が出力変換されないので、画像パスをフルパス表記に変えます。
<img>タグの<MTBlogURL>を実際のサイトパスに変えます。全ての画像パスに対して行って下さい。
<img src="<MTBlogURL>images/smile/icon_biggrin.gif" alt="Very Happy" width="15" height="15" border="0" class="smiley">
またスタイル設定用に全体を<div>タグで囲み任意のクラス名を付与します。うちの場合は、<div class="smile"> ~ </div>
ペーストし終われば、実際の「エントリーの内容」にスマイル画像ボタンが表示されます。
mt-static/styles.cssを開いてエントリー投稿画面の見映えを調節します。styles.css はエントリー投稿画面のスタイルを司るファイルになります。
└ エントリー投稿(編集)画面の文字サイズ&高さを修正!~MovableType
私の場合はこんな感じでスタイルを設定しました。Powered by~の設定はCSSよりも元の記述を消した方が早いかもしれません。
/* --- <div class="smile">~</div>
スマイル画像をまるごと囲んだもの --- */
.smile{
margin:0px 0px 15px;
}
/* --- <img class="smiley" src="~">
スマイル画像そのもの --- */
.smiley{
margin:0px;
}
/* --- Powered by MT Smileys --- */
.smileypowered{
display:none;
}
次に同じく tmpl/cms/edit_entry.tmpl から「エントリーの内容」と「追記」を表示させているコードの間に後記するjavascriptを挿入します。以下の文の後ろ辺りがいいでしょう。
<textarea onkeypress="mtShortCuts(event)" class="full-width" name="text" id="text" tabindex="3" cols="72" rows="<TMPL_IF NAME=DISP_PREFS_SHOW_EXTENDED>10
<TMPL_ELSE>20</TMPL_IF>"><TMPL_VAR NAME=TEXT ESCAPE=HTML></textarea>
</div>
この直後に以下のjavascriptを挿入します。因みに以下のコード内容は、smiley-javascript と同じものですが、投稿画面で使う為には一箇所だけ修正する必要があります。(赤文字部分、修正済み)
<script type="text/javascript" language="javascript">
<!--
// MT Smileys http://mt-hacks.com/mt-smileys.html
// Edited By Noel http://noe.lolipop.jp/
function emoticon (smiley) {
var txtarea = document.entry_form.text;
smiley = ' ' + smiley + ' ';
if(navigator.appName.indexOf("Microsoft") > -1){ // If IE
txtarea.focus();
if (!document.selection) return;
var range = document.selection.createRange();
range.text=smiley;
txtarea.focus();
// return false;
}else{ // If other browser
if (txtarea.createTextRange && txtarea.caretPos) {
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? smiley + ' ' : smiley;
txtarea.focus();
} else {
var length = txtarea.textLength;
var start = txtarea.selectionStart;
var end = txtarea.selectionEnd;
var txtarea1 = txtarea.value.substring(0, start);
var txtarea2 = txtarea.value.substr(end, length);
txtarea.value = txtarea1 + smiley + txtarea2;
txtarea.focus();
}
}
}
//-->
</script>
次に「追記」でもスマイル画像を使えるようにします。やる事は同じでそれぞれのコードを追加していきます。ただ先程とは微妙にコードが違うので注意が必要です。
先程修正ペーストしたsmileysの中身を更に以下のように、javascript:emoticon の後に 1 を追加します。全ての<a>タグに対して行います。
<a href="javascript:emoticon1 ~
修正したコードを<div class="field-buttons">の上あたりに追加します。2箇所見つかりますが、ひとつ目が「エントリーの内容」に相当、ふたつ目が「追記」に相当します。
なのでふたつ目の上に追加します。
次に「追記」と「概要」を表示させているコードの間に後記するjavascriptを挿入します。以下の文の後ろ辺りがいいでしょう。
<textarea onkeypress="mtShortCuts(event)" class="full-width" name="text_more" id="text_more" tabindex="4" cols="72" rows="15"><TMPL_VAR NAME=TEXT_MORE ESCAPE=HTML></textarea>
</div>
この直後に以下のjavascriptを挿入します。先程ペーストしたものに若干の修正を施してあります。(赤文字部分)
<script type="text/javascript" language="javascript">
<!--
// MT Smileys http://mt-hacks.com/mt-smileys.html
// Edited By Noel http://noe.lolipop.jp/
function emoticon1 (smiley) {
var txtarea = document.entry_form.text_more;
smiley = ' ' + smiley + ' ';
if(navigator.appName.indexOf("Microsoft") > -1){ // If IE
txtarea.focus();
if (!document.selection) return;
var range = document.selection.createRange();
range.text=smiley;
txtarea.focus();
// return false;
}else{ // If other browser
if (txtarea.createTextRange && txtarea.caretPos) {
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? smiley + ' ' : smiley;
txtarea.focus();
} else {
var length = txtarea.textLength;
var start = txtarea.selectionStart;
var end = txtarea.selectionEnd;
var txtarea1 = txtarea.value.substring(0, start);
var txtarea2 = txtarea.value.substr(end, length);
txtarea.value = txtarea1 + smiley + txtarea2;
txtarea.focus();
}
}
}
//-->
</script>
これで設定は全て終了、投稿画面「エントリーの内容」と「追記」、並びにコメント記入でスマイル画像が使えます。
尚、冒頭にも書きましたが、自分の好きな画像を後から追加する事もできます。
追加時に修正するのは、smileys、smiley-macros のモジュール二つと、edit_entry.tmpl の必要箇所です。追加する画像に則してパス名などを新たに設定します。
この時、青文字の部分は任意です。自分の好きな名前に変えておきましょう。任意Aの2箇所は同じ文字列にしておきます。
smileys、edit_entry.tmpl 内、
<a href="javascript:emoticon(':任意A:')"><img src="~"></a>
smiley-macros 内、
<MTMacroDefine name="任意B" string=":任意A:" no_html="1">
<img src="~" />
</MTMacroDefine>
(注意)
MTMacroは、定義したマクロに基づいて文字列を置換するプラグインです。なのでブログ内で使われるような文字列を指定すると、本文の代わりに画像が表示されてしまいます。
要するに使いそうもない文字列で定義しておけって事です。両脇をコロンで囲むなどして定義しておくのが無難でしょう。
【最後に】
自分の備忘録代わりに書いたものですが、随分と長くなりましたので、ひょっとしたら設定に間違いがあるかもしれません。多分大丈夫だと思いますが(汗)
おかしな所があればお知らせ頂けると助かります。m( __ __ )m
⇒ 追記:
コメント投稿者名にも画像を表示できます。
└ コメント投稿者名に管理人orゲストアイコン
favicon設定されているブログからトラックバック&コメントがあった場合にブログ名にファビコンを表示させられます。
└ コメント・トラックバック欄にファビコンを表示
└ コメント・TBにファビコン表示
≪ 続きを隠す
投稿者 Locutus : 2005年11月21日 02:29
| コメント (15)
| トラックバック (9)
MovableTypeのエントリー投稿画面に打ち消しボタン(strikeタグ)を追加してみました。
↓こんなやつです。
打ち消しボタン(strikeタグ)を追加!
参考にしたのはこちらです。
└ MTのエントリーボタンの追加
MovableTypeをインストしたフォルダにあるtmpl/cms/edit_entry.tmpl、bm_entry.tmplを開いて、次の箇所を探します。
write('<a title="<MT_TRANS phrase="Bold">"
これの上に以下を追加します。
write('<a title="<MT_TRANS phrase="Strike">" href="#" onclick="return formatStr(document.entry_form.text, \'strike\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-strike.gif" alt="<MT_TRANS phrase="Strike">" width="22" height="16" /></a>');
edit_entry.tmplの二つ目だけは青字部分を、document.entry_form.text_more に変更します。
因みにedit_entry.tmpl は通常のエントリー投稿画面で使うもので、二つあるのは一つめが通常投稿する部分で(body)、二つめは追記(more)に使われるものです。bm_entry.tmpl の方はクイック投稿(クイックポスト、QuickPost)の投稿ウィンドゥで使います。
あとはmt-static/images に画像をアップして完了です。
![html-strike.gif](http://www.55link.com/cgis/mt/mt-static/images/html-strike.gif)
(注)何故かうまくいかない場合は、edit_entry.tmpl、bm_entry.tmpl から ItalicやUnderlineなど使いそうもないボタン設定を外して、代わりにstrike設定を書き込んでみて下さい。
≪ 続きを隠す
投稿者 Locutus : 2005年11月19日 12:07
| コメント (0)
| トラックバック (3)
自分の書いたブログ記事を見ていて、ちょっとココ直したいんだけどなぁ、ってなった時に便利なEDITリンクを追加してみました。
EDITリンクってのはMovableType標準では、検索結果画面に表示されているので、そこからエントリー編集画面に入れるんだけど、これだと、
エントリータイトルをコピー → ペーストして検索 → 検索結果画面のEditリンク押下
ってのがめんどい (`-´メ)
なので個別記事の画面にEDITリンクを付けちゃいました。
参考にしたのはこちらです。
└ MovableTypeの記事修正を楽にする
個別アーカイブのEDITリンクを追加したい箇所に以下を挿入します。
<a href="<$MTCGIPath$>mt.cgi?__mode=view&_type=entry
&id=<$MTEntryID$>
&blog_id=<$MTBlogID$>">EDIT</a>
indexページに貼る場合はこちらです。
<a href="<$MTCGIPath$>mt.cgi?__mode=list_entries&blog_
id=<$MTBlogID$>">EDIT</a>
EDITリンクはブログ管理人以外は意味をなさないリンクでもありますので、気になる場合は以下のようなスタイルで目立たなくします。
クラスやIDを使って適用先の<a>タグを絞り込みます。
.edit a{
text-decoration:none;
color:#999999;
}
これでまたひとつMovableTypeが便利になりました。
≪ 続きを隠す
投稿者 Locutus : 2005年10月18日 21:02
| コメント (0)
| トラックバック (0)
MovableType標準では最近のトラックバックを表示させる為に<$MTPingTitle$>等を使っても、トラックバック先の情報が表示されるだけです。
これで一番困るのが、
「一体どのエントリーにトラックバックされたんだっ!」
ってなる事です。最近のトラックバックを表示させる時に、被トラックバックのエントリーを表示したいと思い、以下のMTPingedEntryプラグインを導入。
└ MTの「最近のTrackback」にエントリーのTitleとPermalinkを!
これは便利です。ありがとさんです。
表示させたい場所に以下を挿入します。
<MTPings lastn="10">
<MTPingedEntry>
<a href="<$MTPingedEntryLink$>">Re: <$MTPingedEntryTitle$></a>
</MTPingedEntry><br />
<$MTPingDate format="%m/%d %X"$> <a href="<$MTPingURL$>" target="_blank"><$MTPingTitle$></a> from <$MTPingBlogName$><br />
</MTPings>
因みに上記のMTPingedEntryプラグインは、被トラックバック・エントリー1個につき、トラックバック先のエントリーも1個ずつ表示します。
どういう事かと言うと、以下のような表示になります。表示は時系列順です。
被トラックバック・エントリーA(自分)
└ トラックバック先のブログ・エントリー1(相手)
被トラックバック・エントリーB(自分)
└ トラックバック先のブログ・エントリー2(相手)
被トラックバック・エントリーC(自分)
└ トラックバック先のブログ・エントリー3(相手)
とにかくトラックバックしてくれたリストを時系列に則って、
「1個ずつ確実に表示させたい」
って時は、このプラグインが向いています。
ただ、ひとつのエントリーだけに直近に複数のトラックバックがあると、同じエントリーが何回も繰り返し表示されます。
こんな感じです。
被トラックバック・エントリーA(自分)
└ トラックバック先のブログ・エントリー1(相手)
被トラックバック・エントリーA(自分)
└ トラックバック先のブログ・エントリー2(相手)
被トラックバック・エントリーA(自分)
└ トラックバック先のブログ・エントリー3(相手)
これを看過できるなら、このプラグインで問題ないでしょう。
納得できない場合は別のRecents.pl プラグインを使う方法もあります。
└ 最近のトラックバックをエントリーと共に表示するプラグイン、を使ってみた
≪ 続きを隠す
投稿者 Locutus : 2005年09月05日 11:42
| コメント (0)
| トラックバック (1)
9月に入った途端にトラックバックスパムが鬼のように来てます。
poker、viagra、diamonds、texas holdem、phentermine
↑こんなやつです。うざ杉(キ`-´)
なので早速対策を実施。
参考にしたのは以下のサイトです。
└ Quasi-Spam Filter Plugin
但し、そのままだとトラックバックタイトル、トラックバックの概要(本文の先頭n文字)のみがフィルターの対象なので、URL等でもフィルター出来るように改造します。
参考にしたのはこちら、
└ Quasi-Spam Filter Plugin バージョンアップ
トラックバックだけでなく、コメントスパムにも使える同プラグインですが、スパム受信時のリアクションを変更する事もできます。まぁうちはデフォルト設定で、トラックバックスパム受信時にシンプルなエラーメッセージだけ表示するようにしています。
設置方法は、いたって簡単!プラグインフォルダに入れるだけです。
設置後の効果は抜群!!! しょうもないカジノ関連のトラバは一切なくなりました。v(^o^)v
≪ 続きを隠す
投稿者 Locutus : 2005年09月03日 00:16
| コメント (0)
| トラックバック (2)
久しぶりにMovable Typeがバージョンアップしました。
新しいもの好きなので、一応アップグレードしてみました。
参考にしたのはこの辺りです。
└ MT3.17に一応なりました
└ Movable Type 3.17 へアップグレード
└ MovableType3.17日本語版へのアップグレードの仕方
(注)アップグレードすると検索テンプレートが英語になります(怒)。
試しに検索すると、
"このサイトの検索"
なんて文字が、
"Search this site:"
になっちゃってますよ。なんじゃこりゃ!
早速この辺りを参考に修正しました。感謝です。m(_"_)m
└ MT3.17日本語版で、search_templatesが日本語にならない時には
└ MT3.17検索ページ日本語化
しかしこういうの解決する人って、どうゆう知識の持ち主なんだろ?敬服します。
≪ 続きを隠す
投稿者 Locutus : 2005年06月20日 17:10
| コメント (0)
| トラックバック (0)
DreamweaverでMovableTypeのテンプレートを便利に編集できるプラグインの紹介、第2弾です。
以前に使っていたプラグインはMovableType Ver.3,0未対応だったので、3,0以降に追加されたテンプレート・タグに対応していませんでしたが、今回発表されたものは完全対応しています。なので前作以上に重宝します。
└ Dreamweaver 拡張機能 for Movable Type 3
さらに今回のプラグインは、コードヒントに属性値が追加されて利用価値がぐんとアップ!おまけに一度挿入したテンプレート・タグの属性値を追加・編集できるタグエディタ(右クリックから)も追加され利用価値が更にアップ!タグリファレンスも付いて鬼に金棒レベル!
![タグエディタ](http://www.55link.com/images/mt_customize/dreamweaver_mt_tag2_small.gif)
どんなタグを使うのか忘れてしまった時などは、ツールバーから「タグ選択」ボタンを押してみましょう。
![DreamweaverでMovableTypeのテンプレートファイルを編集!(2)](http://www.55link.com/images/mt_customize/dw_menu_bar.gif)
表示されるダイアログでは、エントリーやコメント毎にタグが分別され、目的のタグが探しやすくなっています。選択したタグに関する説明も表示されるので便利です。
ここから挿入ボタンを押すと、属性値を挿入するタグエディタが起動します。
詳しくはこちらで、
Dreamweaver 拡張機能 for Movable Type 3によるテンプレートカスタマイズについて
マクロメディア (2005/10/12)
おすすめ度の平均:
![4](http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif)
![4](http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif)
Web作成の業界標準ソフトのメジャーバージョンアップ
関連記事
└ DreamweaverでMovableTypeのテンプレートファイルを編集!
└ MovableTypeでスタイルシート(CSS)の編集を便利にする
└ Dreamweaver 8 がMovableType3.2に完全対応!
≪ 続きを隠す
投稿者 Locutus : 2005年06月14日 23:55
| コメント (0)
| トラックバック (0)
サーバー内がフォルダだらけってのも困りもんです。
大事なのは自分にとって一番管理しやすいと思える出力ファイル名にする事だと思います。
当ブログの設定では、インデックスページ以外は全部アーカイブ・フォルダに入るようになってます。その際に極力余分なフォルダは作らないのがスマートで有ると結論づけました。
各アーカイブの出力ファイル名は、ブログの設定よりアーカイブの出力フォーマットから行います。
![MovableType、アーカイブの出力フォーマット設定](http://www.55link.com/images/mt_customize/archivefile_format-thumb.gif)
以下備忘録代わりに設定例を明記。
個別アーカイブ
個別アーカイブについては、年別フォルダ/月別フォルダと作り、その中に各個別アーカイブを出力するように設定!
その際、各個別アーカイブについては、「日-時間.html」となるように設定しました。
<$MTArchiveDate format="%Y/%m/%d-%H%M"$>.html
◇出力ファイル名(例)
http://www.55link.com/archives/2005/12/21-1750.html
※ファイル名の設定では途中にスラッシュを入れると自動的にフォルダを生成してくれます。
▽関連記事
└ MovableTypeのPermalinkでのURL変更
月別アーカイブ
月別アーカイブは、archivesフォルダ直下に全部入れるように設定!
その際のファイル名は、「年_月.php」となるように設定しました。
<$MTArchiveDate format="%Y_%m"$>.php
◇出力ファイル名(例)
http://www.55link.com/archives/2005_12.php
スマートという事でいうと、format="%Y/%m" として、archivesフォルダに年別フォルダを作り、その中に月別アーカイブを作るというのも有りかと。
ただそれをやると、個別アーカイブを入れるべく作った年別フォルダに月別アーカイブと月別フォルダ(個別アーカイブ用)が混ざってしまいます。
カテゴリアーカイブ
カテゴリアーカイブについても月別と同じく、archivesフォルダ直下に全部入れるように設定!
その際のファイル名は、「cat_カテゴリ名.php」となるように設定しました。サブカテゴリの場合は、「cat_サブカテゴリ名.php」となり、主カテゴリ名は表示されません。
cat_<$MTArchiveCategory dirify="1"$>.php
◇出力ファイル名(例)
http://www.55link.com/archives/cat_019movabletype.php
この時に日本語名は正しく出力されないので、注意が必要です。但し、英数字名は問題なく出力されるので、先頭に数字を付けてソートしている場合は実用上問題ないでしょう。
└ カテゴリ並び替えで<$MTCategoryLabel$>をそのまま使える文字列置換プラグインを発見!
因みに dirify="1"ですが、これを付けないと、カテゴリ名に日本語を付けている場合に日本語がそのまま出力されてしまいます。![パンチ](http://www.55link.com/images/icons/punch.gif)
MovableTypeユーザーマニュアルによると、
1 を設定すると、タグを「dirify」します。すなわち、タグの値を、ファイル名や検索用に合わせたものに変換します。値は、小文字(abc...)に変換され、HTMLのタグやエンティティは除去され、普通でない文字 (アルファベット、数字、アンダースコア ( _ )、空白以外の文字) は除去され、空白はアンダースコア ( _ ) に変換されます。
との事なので、日本語は dirify属性によってすべて除去されます。URLに日本語が使える訳もなく、となるとカテゴリソート用の数字は必須かと思われます。
数字さえ打っておけばサーバー上でもソートしてくれるので実用上問題ないでしょう。
最後に個別ファイルのみ拡張子がhtml なのを断っておくと、SEO的な観点から若干有利ではとの判断です。あまり関係ないかもしれませんが ![汗](http://www.55link.com/images/icons/sweat.gif)
└ MovableType(ブログ)の拡張子をhtmlへと再変更しました
では何故他のアーカイブがPHPなのかと言うと、記事が増えた時にページ分割する為です。
└ カテゴリアーカイブをページ分割してみました
参考にさせて頂いたサイトさんはこちら、有り難うございました。![ウィンク](http://www.55link.com/images/icons/icon_wink.gif)
└ 各種アーカイブファイルを効率的に構築する
≪ 続きを隠す
投稿者 Locutus : 2005年02月25日 17:50
| コメント (0)
| トラックバック (0)
MovableTypeのカテゴリソート(並び替え)で便利なプラグインを発見しました!
カテゴリーソートにも使える文字列置換プラグイン~PM Labo
このプラグインを使うと、<$MTCategoryLabel$>タグで挿入されるカテゴリ名の"先頭文字"を置換できます。
どういう事かと言うと、通常カテゴリソートではカテゴリ名の先頭に数字を入力してカテゴリの並び替えを実施します。(010)カテゴリA、(020)カテゴリB、(030)カテゴリC、などの文字列です。
しかしこの方法を使うと、実際のカテゴリ表示には<$MTCategoryDescription$>を使う必要があります。<$MTCategoryLabel$>をそのまま使うと、(010)カテゴリA、(020)カテゴリB、(030)カテゴリC、と表示されてしまうからです。
アフィリエイトサイトの場合<$MTCategoryDescription$>は、カテゴリ独自の広告を挿入する時などに利用したいものです。なので<$MTCategoryLabel$>を出来ればそのまま利用したい訳です。
そんな時に上記のプラグインが非常に便利!使い方は以下の通りです。
指定プラグインをpluginsフォルダにアップします(パーミッションは705)。
まずカテゴリ名を次のように変更します。
010)カテゴリーA
次にサイドメニューなどの<$MTCategoryLabel$>を使っている部分を次のように変更します。
<$MTCategoryLabel$> → <$MTCategoryLabel pmhc=""$>
たったこれだけで、以下のように先頭文字列をカットして表示してくれます。これは便利です!
010)カテゴリーA → カテゴリーA
さらにこのプラグインを使うと、カテゴリページのタイトルで<$MTArchiveTitle$>タグをそのまま使えます。
先の説明からすると当プラグインを使わないと、(010)カテゴリA などと付けたカテゴリ名がそのままカテゴリページのタイトルに表示されてしまいます。これを回避する為に以下のように設定します。
MovableType標準では、<title><$MTArchiveTitle></title>となっているのを次の様に変更!
<title><$MTArchiveTitle pmhc=""$></title>
これでカテゴリ名の表示がずいぶんとスマートになりました。
≪ 続きを隠す
投稿者 Locutus : 2005年02月21日 19:19
| コメント (0)
| トラックバック (3)
トップページのメインコンテンツ部分で特定カテゴリ名だけを表示しないように設定してみました。
参考にさせて頂いたのはこちらです。
⇒ 特定のカテゴリを表示しないプラグイン ~クロスブリードさん
使用したプラグインはこちらです。
└ FilterCategories
プラグインフォルダにアップしたらメインページのカテゴリ表示部分に以下を追加します。
※以下はどのテンプレートに記述した場合も表示内容は同じになります。
<MTCategories>
<MTFilterCategories exclude="隠したいカテゴリ">
~ 略 ~
</MTFilterCategories>
</MTCategories>
複数指定したい場合はパイプで区切ります。こんな感じ、
"カテゴリA|カテゴリB"
逆に特定カテゴリだけ表示させたい場合は、以下のようにします。
<MTFilterCategories include="表示させたいカテゴリ">
ちなみにカテゴリ名に加えて、カテゴリ毎に属するエントリータイトルをリストアップしたい場合は、
<MTCategories>
<MTFilterCategories exclude="隠したいカテゴリ">
<div><$MTCategoryLabel$></div>
<MTEntries lastn="5">
<h2>
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>
</h2>
</MTEntries>
</MTFilterCategories>
</MTCategories>
ちなみにlastn="5"は最新エントリーを5件表示させる為のものです。
≪ 続きを隠す
投稿者 Locutus : 2005年02月15日 16:03
| コメント (0)
| トラックバック (2)
MovableType標準では個別アーカイブに<MTEntryPrevious>や<MTEntryNext>などのテンプレートタグを使って、時系列にのっとった前後記事へのリンクが付いています。
しかしカテゴリ分けして新エントリーを書いていく以上、前後記事ってのは必ずしも同一カテゴリの記事ではありません。
これについて何とかならないかとぼんやり思っていると、やっぱり世の中には同じ事を考える人って居るもんですね。色んなサイトを参考にチャレンジしてみました。
参考にさせて貰ったのはこちらです。感謝感謝です!m(_"_)m
├ 同一カテゴリの前後の記事へのリンクを表示と自動再構築 ~HiLOG
├ 同一カテゴリの前後ナビゲーションと自動再構築 ~nlog(n)
├ カテゴリ内の次・前リンク ~Play with Weblog!
├ 同一カテゴリーの前後記事を個別ページに表示 ~アフィリエイトは我が魂に及び
├ 同一カテゴリー内で記事の前後移動 ~なかよしこよし
└ 複数Categoryなページめくりの再構築(プラグインありなし判定) ~Ruby site
今回やりたい事のまとめ
☆個別ページでの同一カテゴリ内への前後移動。
☆個別ページでの前後移動のリンクタイトル数を増やす。標準では前後に各一つずつ。
使用するプラグインは以下の二つです。
・PreviousNextInCategory ~ 個別ページで同一カテゴリへの前後ナビゲーションを設置できます。
・Again Plugin ~ 個別ページで前後リンクのタイトル数を増やせます。
ただし、PreviousNextInCategoryプラグインはそのままでは複数カテゴリに対応してないので、PreviousNextInCategory.plを以下のように修正、青字部分を追加します。
sub _hdlr_entry_previous_in_category {
:
my $cat = $e->category
or return '';
if ($ctx->stash('category') ne '') {$cat = $ctx->stash('category');}
my $prev = $e->previous(1);
:
sub _hdlr_entry_next_in_category {
:
my $cat = $e->category
or return '';
if ($ctx->stash('category') ne '') {$cat = $ctx->stash('category');}
終わったら各プラグインをpluginsフォルダにアップします。
次に個別アーカイブに同一カテゴリ内への前後リンクを表示させる為に以下のコードを挿入します。エントリーが属するカテゴリ情報を表示させる為に、全体を<MTEntryCategories>で囲みます。また<MTAgain limit="3">では前後リンクの数を調整できます。
<MTEntryCategories>
▽カテゴリ<a href="<$MTCategoryArchiveLink$>">[<$MTCategoryLabel pmhc=""$>]</a>内の前後の記事<br />
<MTAgain limit="3">
<MTEntryNextInCategory>
<$MTAgainHere$>
↑ <a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a><br />
</MTEntryNextInCategory>
</MTAgain>
→ <$MTEntryTitle$><br />
<MTAgain limit="3">
<MTEntryPreviousInCategory>
↓ <a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>
<br />
<$MTAgainHere$>
</MTEntryPreviousInCategory>
</MTAgain>
</MTEntryCategories>
≪<a href="<$MTBlogURL$>">HOME</a>
これで終了と言いたい所ですが、このままでは新エントリーを投稿した時に、カテゴリ内の1つ前の記事は再構築されない、という重大な問題があります。つまりカテゴリ内で1つ前の記事からのリンクは更新されず、機能しないというトラブルが発生します。まぁ手動で別途再構築すれば済む話ですが正直面倒です。
これを解決する為に、lib/MT.pmを開き以下の修正を加えます。以下の修正はHiLOGさんの同一カテゴリの前後の記事へのリンクを表示と自動再構築を参考にしました。ちなみに以下は前後3つの記事を自動再構築する為の修正です。
return 1 unless $param{BuildDependencies};
#この下に次のコードを挿入します。
my $cats = $entry->categories;
for my $cat (@$cats) {
# previous 1
my $prev = $entry->previous(1);
if ($prev) {
if (!$prev->is_in_category($cat)){
do {
$prev = $prev->previous(1);
} while ($prev && !$prev->is_in_category($cat));
if ($prev) {
$mt->_rebuild_entry_archive_type(Entry => $prev,
Blog => $blog,
ArchiveType => 'Individual')
or die $mt->errstr;
}
}
# previous 2
if ($prev) {
do {
$prev = $prev->previous(1);
} while ($prev && !$prev->is_in_category($cat));
}
if ($prev) {
$mt->_rebuild_entry_archive_type(Entry => $prev,
Blog => $blog,
ArchiveType => 'Individual')
or die $mt->errstr;
# previous 3
do {
$prev = $prev->previous(1);
} while ($prev && !$prev->is_in_category($cat));
if ($prev) {
$mt->_rebuild_entry_archive_type(Entry => $prev,
Blog => $blog,
ArchiveType => 'Individual')
or die $mt->errstr;
}
}
}
# next 1
my $next = $entry->next(1);
if ($next) {
if (!$next->is_in_category($cat)){
do {
$next = $next->next(1);
} while ($next && !$next->is_in_category($cat));
if ($next) {
$mt->_rebuild_entry_archive_type(Entry => $next,
Blog => $blog,
ArchiveType => 'Individual')
or die $mt->errstr;
}
}
# next 2
if ($next) {
do {
$next = $next->next(1);
} while ($next && !$next->is_in_category($cat));
}
if ($next) {
$mt->_rebuild_entry_archive_type(Entry => $next,
Blog => $blog,
ArchiveType => 'Individual')
or die $mt->errstr;
# next 3
do {
$next = $next->next(1);
} while ($next && !$next->is_in_category($cat));
if ($next) {
$mt->_rebuild_entry_archive_type(Entry => $next,
Blog => $blog,
ArchiveType => 'Individual')
or die $mt->errstr;
}
}
}
}
これで終了です。但しlib/MT.pmを以上のように修正すると、PreviousNextInCategoryプラグインを使ってなくても、同カテゴリの前後の記事を自動再構築してしまいます。同プラグインを外す時は、元に戻すのを忘れないようにしましょう。
追記:
MT3.2以降では、lib/MT.pm ではなく /lib/MT/WeblogPublisher.pm を修正します。191行目あたりに、下記記述があるので、その下に丸々上記コードをコピペします。
return 1 unless $param{BuildDependencies} || $param{BuildIndexes} ||
$param{BuildArchives};
#ここに入れる!
全部完了して思ったのは、全体の再構築時間が増えてしまったのは正直マイナスでした。(MovableType 3.20以降では改善!)
ただ訪問者にとっては、こちらの方が優しいナビになっていると思います(思いたいです)。
≪ 続きを隠す
投稿者 Locutus : 2005年02月09日 17:44
| コメント (0)
| トラックバック (3)
3日前に3.15にアップしたばっかりなのに、もう3.151が出てます。ふ~、困るなーもう、こういうのは何ヶ月かに1回にしてもらわないと。
あんまり大して変更点もないみたいだし、どうしようかと迷っていると、そこはブログの有り難いところ。便利な記事を発見し、早速参考にバージョンアップを実施しました。
Movable Type 3.151日本語版公開 ~MovableTypeで行こう!
3.15からのバージョンアップはたった五つのファイルを上書きするだけで完了との事です。いやぁこれは本当に感謝!ありがとさんです。
≪ 続きを隠す
投稿者 Locutus : 2005年02月08日 16:57
| コメント (0)
| トラックバック (0)
当サイトはMovableTypeで運営されてるんですが、インストしてすぐの頃にコメントスパム対策は実施済みでした。しかし3.15にバージョンアップした事で元に戻ってしまったみたいです。ちゃんと備忘録として書いておかないと駄目ですね。
投稿者 Locutus : 2005年02月07日 16:59
| コメント (0)
| トラックバック (0)
Movable Typeの3.15が公開されていたのに5日遅れで気づき、当サイトでも早速アップグレードしました。主な変更点は更新履歴を見て貰うとして、先に3.122-jaの修正パッチをpluginsフォルダに入れてた場合は削除しておいた方が宜しいとの事です。⇒ dh's memoranda
去年の12月にこのブログを始めてから初めてのアップグレードだったので、大丈夫かと思いましたが、3.1以降からのバージョンアップはただファイルを上書きするだけで終了です。ちなみに初めての方はこちらが参考になります。
⇒ Movable Type 3.15になりました ~MagicWhite
しかし何故かフッターの<$MTVersion$>の表示が変わってないので不思議に思ってると、なんて事はないモジュール化して自動再構築を切ってあっただけでした(汗)。
≪ 続きを隠す
投稿者 Locutus : 2005年02月05日 19:28
| コメント (2)
| トラックバック (1)
せっかくMovableTypeを使っているのに、他の事に時間を取られて、なかなからしい事をやれてなかったんですが、ブログと言えば「Ping送信」なので、早速ちょちょっとやってみました。
改めて書く必要もないくらい有名ですが、
├ Blog People
└ Myblog japan
別に難しい事はなくMovableTypeだと、設定から「ウェブログが更新されたときに通知する」に各サイト指定のURLをペーストするだけです。新規エントリーを書く度に更新通知(Ping)が送られるので、両サイト上で自分のサイトの更新情報(エントリータイトル&サイト名)を表示してくれます。
どちらのサービスでも、気になるブログが更新されたらお知らせしてくれるRSSを使ったサービスを提供しているので、これを利用する事でブログサイト同士を繋ぐ相互リンクとしての効果も期待できます。よくブログサイトのサイドバーに表示されてるもので、見たことある人も多いと思います。
あんまりいろいろやり過ぎるのもどうかと思うので、有名な所だけでも参加しておく事にしました。
≪ 続きを隠す
投稿者 Locutus : 2005年01月27日 01:24
| コメント (0)
| トラックバック (1)
【重要】 Movable Typeの脆弱性と対策について
Movable Typeの脆弱性により、スパムメールの送信を幇助してしまう現象が発生することが分かりました。出荷済みのすべてのMovable Type日本語版に、この脆弱性があることが確認されました。
対策を施したMovable Typeの新版(バージョン3.15)を出荷する予定ですが、同時に出荷済みのMovable Type(英語版バージョン2.6x、日本語版バージョン3.01D、日本語版バージョン3.121)において、この脆弱性を回避するための方法(専用プラグイン・ソフトのインストール)を公開いたしますので、すみやかに対処をいただければと考えております。
一応指示通りにインストしましたが、バージョン表示は変わらず。近いうちにバージョン3.15が出るらしいので今回はこのままにします。
投稿者 Locutus : 2005年01月26日 17:02
| コメント (0)
| トラックバック (0)
相変わらずアフィリエイトと関係ないことに着手してます。
コメントを頂いた時にメアドを非公開にしないとまずいだろうと思い、ちょこっと修正しました。参考にしたのはこちらです。
⇒ コメント入力時のメアドを非公開に ~h@tezoneさん
個別アーカイブを開き、
<$MTCommentAuthorLink$>
を
<$MTCommentAuthorLink show_email="0"$>
に変更するだけです。
ほとんど宣伝らしい事してないのでコメント書く人もいないでしょうけど、h@tezoneさんに感謝です。m(_"_)m
ってこれMovable Typeスタイル&コンテンツデザインガイド―コンテンツ管理システム(CMS)ツールとしてのMovable Type活用術&実践サイトデザイン術におもいっきり載ってました(汗)。自分で買っといて忘れてました。テンプレートタグをもっと勉強しないとお話になりませんね。
≪ 続きを隠す
投稿者 Locutus : 2005年01月18日 18:06
| コメント (1)
| トラックバック (0)
せっかく高機能なDreamweaver MX 2004を持ってるのに使わないと損!
なのでMovableTypeのテンプレートもDreamweaverで編集できるようにしてみました。これをやるまでテンプレート編集画面で、「このテンプレートにリンクするファイル」の意味が判らなかったんですが、なるほど判ってしまえば簡単な事です。
要するにMovableTypeの処理として、サイト表示用と同期用の二つのファイルを生成するという事です。
![サイト表示用と同期用の二つのファイル名を指定!](http://www.55link.com/images/mt_customize/synchro_mt.gif)
「出力ファイル名」がサイト表示用で(テンプレートタグ変換済)、「このテンプレートにリンクするファイル」が同期用です(テンプレートタグはそのまま)。
同期用に吐き出されたファイルは、MovableType管理画面のテンプレートと同期しているので、こいつをローカルに落として編集後アップすればOKなんです。同期してるので編集結果がMovableType側に反映されます。
ごちゃごちゃ言っててもしゃあないので、早速とりかかる事に。
まずリモート側に適当な名前のディレクトリ(mt_templates)を作ります。今回はルート直下に作成しました。
MovableTypeで使うモジュールファイルなどもローカルで編集したいので、mt_templatesの中にmoduleディレクトリも作成しました。
次にテンプレート編集画面の、「このテンプレートにリンクするファイル」にサイトパスからの相対パスで適当なファイル名を入れてみます。例えばメインページならmt_templates/index.html、といった感じ。
終わったら保存&再起動!
そしたらさっき作ったmt_templatesディレクトリにindex.html が出来てます。
要するにMovableType側とこのmt_templatesディレクトリが同期できた訳です。
後はこれらのファイルをローカルに落とせばいいだけの話。ローカルに落とす事で必然的にバックアップにもなるので便利です。
必要なら他のテンプレート(アーカイブなど)も同様にします。
これからはドリで編集、リモートにアップ。MovableTypeで再起動となります。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
※stylesheetファイルはわざわざ再構築しなくても編集結果がサイトに反映されます(激しく便利!)。 stylesheetではテンプレートタグなどは使わないので、出力ファイルとリンクファイルは同じパスにしておきます。
この時、「インデックス・テンプレートを再構築するときにこのテンプレートを自動的に再構築する」はチェック外しておきましょう。付けておいても意味がありません。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
但し、これだけだとスタイルシート以外のテンプレートファイルの編集が煩わしくなる事必至です。なんといってもMovableType独自のテンプレートタグが数多くあるので編集がめんどくなります。なのでこちらをインスト、
⇒ HTML Editor extensions for MovableType
この拡張機能を使うとコード画面に元々ついてるタグ入力支援機能(コードヒント)にMovableTypeの独自テンプレートタグが追加されます。これで便利なMovableType用エディタの出来上がりです。
おまけとしてDreamweaverのデザインタイムスタイルシートでデザイン画面の見映えを調節できます。がしかしデザイン画面で編集するとテンプレートタグが文字化けする事があるらしいので、もひとつ役に立ちません。
マクロメディア (2005/10/12)
おすすめ度の平均:
![4](http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif)
![4](http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif)
Web作成の業界標準ソフトのメジャーバージョンアップ
関連記事
└ DreamweaverでMovableTypeのテンプレートファイルを編集!(2)
└ MovableTypeでスタイルシート(CSS)の編集を便利にする
└ DreamweaverがMovable Type 3を完全サポート--無償で拡張機能が利用可能
└ Dreamweaver 8 がMovableType3.2に完全対応!
≪ 続きを隠す
投稿者 Locutus : 2005年01月17日 17:35
| コメント (0)
| トラックバック (9)
カテゴリアーカイブをページ分割してみました。参考にさせて頂いたのはこちらです。
├ movable type 設定メモ ~きままにポロポロ、さん
├ カテゴリーアーカイブと月別アーカイブのページ分割 ~小粋空間、さん
├ PHP化とページ分割 ~我楽、さん
└ MTのPHP化とページ分割 ~クロスブリード、さん
設定方法は上記の各ページを参考にしてもらうとして、一番重要なのはページ分割したいアーカイブは全部PHP化しておく事です。そうしないと使えません。
使用するプラグインはこちらです。
⇒ MTPaginate
備忘録代わりにプラグイン独自の属性値も記しておきます。
各ページの記事数を調節する場合は以下を変更します。
<MTPaginateContent max_sections="5">
リンクの形式はテキストとプルダウンから選べます。プルダウンにする場合は以下をstyle="popup"に変更します。
<$MTPaginateNavigator style="links">
All pagesの文字列を変更する場合は以下を変更します。
<$MTPaginateNavigator format_all="All pages">
All pagesを先頭に持ってくる場合は、以下をplace_all="before"にします。
<$MTPaginateNavigator place_all="after">
≪ 続きを隠す
投稿者 Locutus : 2005年01月15日 21:26
| コメント (0)
| トラックバック (1)
引用文全体をblockquoteタグで囲み、さらに引用したページのタイトルを<div>タグで囲むように修正する方法を紹介します。
他のブログなどからの引用時に便利なクイック投稿(クイックポスト、QuickPost)をちょこっと変更しました。変更結果は上記の通りで、引用先リンクに target=_blank属性も付けてくれるように変更します。
書き出されるタグは以下の通り、
<BLOCKQUOTE>
<DIV class=quotetitle><A
title="引用ページのタイトル"
href="http://www.55link.com/archives/2005/01/11-1538.html"
target=_blank>引用ページのタイトル</A></DIV>
<P>ここに引用した本文が入ります。</P>
</BLOCKQUOTE>
変更する為にlib/MT/App/CMS.pmを開き、
$param{text} = sprintf qq(<a title="%s" href="%s">%s</a>¥n¥n%s),
を探します。その部分を以下のように変更します。
$param{text} = sprintf qq(<blockquote><div class="quotetitle"><a title="%s" href="%s" target="_blank">%s</a></div><p>%s</p></blockquote>),
本文を<p>タグで囲みたくない場合は、最後の方の%sを挟んだ<p></p>タグを削除します。但し、文章の途中で空白行を入れた場合は強制的に<p></p>タグが入ってしまうので注意が必要です。
└ Convert Line Breaksでの注意点
└ エントリーにpタグとbrタグが入る仕組み(その1:コード解析)
あとは出力されるタグに則して、スタイルシートを適当に変更しておしまいです。
参考サイト
└ HINAGATAとクイックポスト
追記1:
blockquote内で<BR>タグが付与されないケースがあるみたいで、以下を参考に修正しました。
└ エントリーにpタグとbrタグが入る仕組み(その2:blockquoteにbrタグを挿入)
どういう事かと言うと、MovableTypeのエントリー投稿画面でエンターキーを押して改行した気になってると、実際の出力画面では改行が効いておらず(<BR>が入らず!)、予想したものとは違っているというトラブルです。
どうやらblockquote開始タグの直前の空白行のあるなし等が影響を与えているようです。どんな書き様であれ<BR>タグを一律付与したいと思う場合は条件式から外すのが手っ取り早いとの事。
lib/MT/Util.pmを開いて、blockquoteを消します。
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|fiel
dset|select|blockquote|address|div|hr)@) {
$p =~ s!\r?\n!<br />\n!g;
$p = "<p>$p</p>";
}
}
join "\n\n", @paras;
}
反対の理屈で<textarea>~</textarea>など、常に改行タグ<BR>を打たせたくない場合は、こちらが参考になりそうです。
└ エントリーにpタグとbrタグが入る仕組み(その3:textareaにbrタグを挿入しない)
追記2:
うちだけかもしれませんが、クイック投稿を使う時に出るウィンドゥのサイズがどうも変で、右側の方が隠れてしまってます。なのでちょこっと広げて全部見えるように変更しました。
手順は同じく、lib/MT/App/CMS.pmを開き、
scrollbars=yes,width=400
この値を450ぐらいに変更してアップすれば完了です。
≪ 続きを隠す
投稿者 Locutus : 2005年01月11日 15:38
| コメント (0)
| トラックバック (14)
将来的に月別のアーカイブがどんどん増えてくるのは厄介な問題です。特にサイド・メニューとして表示させていると月が経つ毎に縦長になるので、プルダウン化してすっきりさせる事にしました。
以下のスクリプトを各ページの適当な所にペースト。よく<head>部に書いてるのを見かけますが、別に下の<body>部でも構いません。要は呼び出しコードよりも先に書いておけば機能します。今回はプルダウンメニューなので、<form>タグの直前に書いておけばメンテナンスし易くなるでしょう。うちの場合はモジュール化してあるので、そこにだけペーストしました。
<script language="javascript" type="text/javascript">
function MM_jumpMenu(targ,selObj,restore){
//v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0;
}
</script>
javascriptをよく使う人は外部ファイル化して呼び出しましょう。
<script type="text/javascript" src="http://自分がスクリプトをおいた場所/pulldown.js"></script>
最後にプルダウンメニューを表示させたい場所に以下のフォーム・タグを追加して完了です。月別アーカイブの他にカテゴリアーカイブ用のタグも紹介しておきます。
<!--月別アーカイブ -->
<form name="pulldown_monthlyarchives">
<select name="menu" onChange="MM_jumpMenu('parent',this,0)">
<option value="自サイトのアドレス" selected>【月別ログ】 </option>
<MTArchiveList archive_type="Monthly">
<option value="<$MTArchiveLink$>">
・<$MTArchiveTitle$></option></MTArchiveList>
</select>
</form>
<!--カテゴリアーカイブ -->
<form name="pulldown_category">
<select name="menu" onChange="MM_jumpMenu('parent',this,0)">
<option value="自サイトのアドレス"selected>【カテゴリー別ログ】 </option>
<MTCategories show_empty="1">
<option value="<$MTCategoryArchiveLink$>">
・<$MTCategoryLabel$>[<$MTCategoryCount$>]</option>
</MTCategories>
</select>
</form>
参考にしたのはこちらです。
├ プルダウンメニュー化、我楽さん
└ プルダウンメニュー、HWP blogさん
≪ 続きを隠す
投稿者 Locutus : 2005年01月10日 21:35
| コメント (0)
| トラックバック (1)
RSSで取り込んだニュースの記事を自動更新させる事にしました。
mt-rssfeed.tar.gzを解凍して得られるmt-rebuild.plを使用します。
単体で欲しい場合はこちらで、
└ mt-rebuild
mt-rebuild.plをMovableTypeをインストしたフォルダ(mt.cgiなどがある所)にアップします。アクセス権は「700」
後はサーバー側でcron jobを設定します。cron(クーロン)って何かと言うと、UNIXで指定した日時、曜日に特定のプログラムを起動する機能なんです。殆どのサーバー業者はUNIX系OSを使ってるので、ご利用のサーバー業者でもcronを実行できる可能性があります。私が使ってるエックスサーバー(Xserver)
でも対応しています。
このcronのコマンドで引数を渡すことで任意テンプレートの自動再構築が可能となります。通常はコマンドラインから実行しますが、エックスサーバー
ではGUI環境が用意されています。コマンドは以下のように指定します。引数のダブルコーテーションは削除しておきましょう。でないと恐らく動きません。
/MovableTypeインストールパス/mt-rebuild.pl -mode="index" -blog_id="1" -template="News"
こうしておくと、指定した時間ごとにニュース記事が更新されていきます。
※指定コマンドの書き方についてはmt-rebuild.plを開いて確認できます。
≪ 続きを隠す
投稿者 Locutus : 2005年01月07日 16:59
| コメント (2)
| トラックバック (0)
各ニュースサイトなどで提供されているRSSフィードを使って、サイドメニューにニュースの最新記事を表示してみました。参考にしたのはこちら、
├ mt-rssfeedでニュース表示
└ mt-rssfeed.pl & mt-list.pl
What's RSS
RSSとは簡単に言うと、他サイトの更新記事を自分のサイトに取り込んで表示させる機能の事です。基本的に更新記事タイトルだけを公開しておいて、それを取り込んだサイトには更新記事タイトルのみを表示させます。実際の記事内容は本サイトへ飛んでもらって読む仕組みです。
RSSは、XMLという相互にデータを受け渡すのに便利なフォーマットで提供されていて、MovableTypeでも標準でRSSを書き出すテンプレートが用意されています。これを使えば自分のブログの更新記事をRSSとして提供することができます。さらにプラグインを使えば自サイトに他のブログの更新記事を表示させるのも簡単です。
今回はニュースサイトの更新記事を表示させてみました。利用したのはこちらのプラグインです。
├ mt-rssfeed
└ mt-list
RSSフィードはUTF8で提供されるのが殆どなので、ブログがEUC環境だと文字化けします。
設置手順
まずはプラグインを使って取得する事になるRSSのキャッシュファイルの書き込み先となるフォルダを指定します。mt-rssfeed.plから15行目、
# my $RSSFEED_DATA_DIR = "./db/";
を編集します。基本的にどこでも良いようですが、私の場合はこんな感じです。コメント記号#を外すのを忘れずに。
my $RSSFEED_DATA_DIR = "/home/ユーザー名/public_html/cgis/mt/rssfeed/";
これが終わればmt-rssfeed.pl、mt-list.plをpluginsフォルダにアップします。さらにmt-rssfeed.tar.gzを解凍して得られるLP.pmを以下のフォルダにアップします。RSSフォルダは多分ないので作ります。フォルダには書込み権限を付与。
/MT/extlib/XML/RSS/
次にMovableTypeのテンプレートに以下のコードを追加します。<MTList name="feeds">には実際に利用するRSSフィードのURLをコピペします。このあたりて取得できます。
├ rss-jp.net
└ Bulknews
<MTList name="feeds">
http://bulknews.net/rss/rdf.cgi?ITmedia
http://japan.cnet.com/rss/index.rdf
http://pcweb.mycom.co.jp/haishin/rss/index.rdf
</MTList>
<MTListLoop name="feeds">
<MTRSSFeed>
<h3>
<a href="<$MTRSSFeedLink$>" target="_blank"><$MTRSSFeedTitle $></a>
</h3>
<ul>
<MTRSSFeedItems lastn="6">
<li><a href="<$MTRSSFeedItemLink>" target="_blank"><$MTRSSFeedItemTitle></a></li>
</MTRSSFeedItems>
</ul>
</MTRSSFeed>
</MTListLoop>
恐らくニュース記事以外の部分が文字化けする筈なので、新たにPHPモジュールを作ってincludeさせます。よく分からない方はこちら、よく使う部分をモジュール化
表示させるだけならこれで完了です。しかしモジュールを更新しない限りニュース記事も更新されません。なので自動更新用の設定を施します。詳しくはこちらから、mt-rebuildを使ってcron jobを実行
※こちらで解説したものはUTF8用の手順です。EUCの場合は他のサイトを参考にして下さい。
これで簡単に自分のブログに新たなコンテンツを加える事が出来ました。自分のお気に入りのニュースサイトやブログがRSSを提供していたら、その更新状況をいちいち閲覧しに行かなくても済みます。インデックス・テンプレートを使って注目ブログやニュースサイトの更新情報を一覧できるページを作ってみるのも面白いかもしれません。
なにかアフィリエイトとは全く関係ない事をやってるような。まぁひまつぶしに付けただけなので、近い将来おそらく外しているでしょう。
≪ 続きを隠す
投稿者 Locutus : 2005年01月07日 00:07
| コメント (0)
| トラックバック (0)
ひと通りPHP化を終えた所で将来的な事を考えてみました。記事の数が増えれば増えるほどアーカイブの数は増えるわけで、今は良くてもこの先困らない為にはどうするべきか、と考えているとこんな記事を発見。
MTがサーバーにかける負荷を減らす方法
▽Berkeley DBではなくMySQLを使う。
▽“Rebuild this template automatically…” にチェックを入れるテンプレートの数を減らす。
▽MTIncludeの代わりにPHPのIncludeを使う。
▽MTCalendarやMTArchiveListのような負荷のかかるタグを使わない。
▽Archive-Related Templatesの種類を減らす。
PHPIncludeの「自動的に再構築オフ」は当然として、やはりというか当然というかアーカイブの扱いが肝らしいです。エントリーが貯まれば貯まるほどArchiveListで呼び出される内容は増えますからこればっかりは致し方がないのかも。
ただこのサイトはアフィリエイト・サイトでもあるので、古いエントリーをいつまでも放ったらかしにするというのは考え辛いです。将来的にはエントリーに入る日付も外す予定なので、やたらと新エントリーが増えていく事もないでしょう。
また月別アーカイブの有無についても一考の価値あり。アフィリエイト・サイトである以上は、個別記事と各カテゴリへ案内できれば済む話で、膨大な量の月別アーカイブは殆ど意味を成しません。
それからカレンダーですが、うちのサイトでは要らないような気がします。他のブログサイト見に行ってもあれ使う事って殆どないんですよね。思い切って外すのも負荷対策として有効かもしれません。だいたいカレンダーがあるとブログっていうのが丸わかりでアフィリエイトには逆効果もいいとこです。
まぁとにかく試行錯誤しながらも続けていければと思います。
≪ 続きを隠す
投稿者 Locutus : 2005年01月02日 19:09
| コメント (0)
| トラックバック (0)
うちのブログ(MovableType)は各テンプレートを外部ファイルで同期させて、Dreamweaverからテンプレ編集できるようにしています。しかし編集したテンプレートをDreamweaverからアップすると、どういう訳か本文下のコメントやらトラックバックのリンクがエラーになってしまいます。
何でっ!Why not!
意味が分からず元のテンプレートと比較してみました。
が、分からない(>.<)
しかし絶対にどこか違う筈、でなければエラーになる訳ないっ!
激しく見比べる事10分余。ありましたっ!
<a href="<$MTEntryPermalink archive_type="Individual"$>#comments">コメント (<$MTEntryCommentCount$>)</a>
これがこんな風にDreamweaverによって書き換えられていました。
<a href="<$MTEntryPermalink archive_type="individual"$>#comments">コメント (<$MTEntryCommentCount$>)</a>
よりによって属性値が小文字にっ!これではエラーになること必至です。Dreamweaverは便利この上ないツールですが、時にこういうポカやります。ってちゃんと設定しておかなかった自分が悪いんですけども。
早速、環境設定 - コードフォーマットで問題解決。
![dreamweaver_codeformat_small.jpg](http://www.55link.com/images/mt_trouble/dreamweaver_codeformat_small.jpg)
「常に無視する」を両方ともオフに。これで既存ファイルを開いても大文字、小文字を書き換えません。
↓こんな便利なテキストエディターありました。
「NoEditor」
テキスト比較やGREP検索・置換機能を搭載しています。窓の杜で賞も取ってる有名ソフトらしいです。
≪ 続きを隠す
投稿者 Locutus : 2005年01月02日 14:10
| コメント (2)
| トラックバック (1)
MovableTypeの出力ファイルをPHPしたのはつい昨日の事ですが、参考にさせて頂いたサイトさんの多くで必ず話題にされてるのが、本文(MTEntryBody)部分のモジュール化です。
確かにエントリー部分はメインページもアーカイブも同じものを利用しています。各ページで共通した部分は外部ファイルとしてモジュール化する事で、ファイルサイズも小さくなるし、再構築時間も短縮できる筈です。今はまだMovableTypeを始めたばかりなので気にする程ではありませんが、最初にちゃんとしとかないと後から困ってしまうのが世の常、さっそく取り掛かることに。
ちなみに今回参考にしたのはこちらです。
└ リビルドなんて怖くない
└ あなたのmovabletype、重たくないですか?
新しいアーカイブ・テンプレートを作る
「新しいアーカイブ・テンプレートを作る」から、エントリー本文用のテンプレートを作成します。名前は適当に(うちはEntryBody)つけます。テンプレートの中身には、
<$MTEntryBody$>
とだけ記述します。
※「追記」を多用する人はMTEntryMore用のテンプレートも用意します。追記用の説明はこれ以降省きます。
個別アーカイブに追加
新たに作ったアーカイブテンプレート(EntryBody)を個別アーカイブに追加します。アーカイブの設定 - 「新しく、テンプレートとアーカイブを関連付ける」から以下の設定で追加!
アーカイブの種類 : 個別
テンプレート : EntryBody
出力ファイル名を設定
EntryBodyが個別アーカイブとして書き出すファイル名を指定します。
![EntryBodyが個別アーカイブとして書き出すファイル名を指定](http://www.55link.com/images/mt_customize/entrybody_module_s.gif)
私の場合はこんな感じです。
<$MTArchiveDate format="%Y/body/%m%d-%H%M_body"$>.php
ここで設定するEntryBodyは何をするかと言いますと、メインページや各アーカイブページが共通で読みに行くファイルを作成する事になります。
読込み文を入れる!
メイン、アーカイブの各ファイルに読み込みコードを挿入します。うちのサーバーでは以下のように設定しました。
メイン
<?php include("archives/<$MTArchiveDate format="%Y/body/%m%d-%H%M_body"$>.php"); ?>
個別
<?php include("../../../archives/<$MTArchiveDate format="%Y/body/%m%d-%H%M_body"$>.php"); ?>
日付け
<?php include("../../../archives/<$MTArchiveDate format="%Y/body/%m%d-%H%M_body"$>.php"); ?>
カテゴリ
<?php include("../../archives/<$MTArchiveDate format="%Y/body/%m%d-%H%M_body"$>.php"); ?>
再構築すれば完了です。
どうなんでしょ?
これで全ページで同じ<$MTEntryBody$>を読み込んで共通利用する事になりました。しかしだからどうした的な感じがします。たしかにファイルサイズは少し小さくなった気がしますが、うちみたいにサーバー容量が1G以上
もあると、メリットは感じません。それでもリビルド時間が短縮できるなら意味があるんですが、今の所は特に変わらず。将来的に劇的な変化があるんでしょうか?
それより新たに個別アーカイブ(EntryBody)を追加した事により、出力ファイル数がエントリー分だけ増えてしまうのはどうなんでしょ。暫く使ってみてメリットがなければ元に戻す事にします。
≪ 続きを隠す
投稿者 Locutus : 2005年01月01日 22:19
| コメント (0)
| トラックバック (3)
MovableTypeの出力ファイルをPHPにした(MovableTypeのPermalinkでのURL変更)のを契機に、各ページで共通利用できる部分をモジュール化する事に。
参考にしたのはCROSSBREEDさんのMTのPHP化とページ分割 です。
まず各インデックス、アーカイブ共に使い回せそうな部分はどこかと考えると、バナー、サイドメニュー、フッターです。これらをそれぞれモジュール化!と言ってもテンプレート・モジュール(MTInclude)を使うのではなく、インデックス・テンプレートで新たに出力ファイルを作成し、各ページで読み込ませます(PHPInclude)。こうする事で全体のファイルサイズを相当軽量化できます。
PHPモジュールを作る!
早速バナー部分をまるごと新たに作ったインデックス・テンプレートにカット&ペースト。ファイル名は適当で良いのですが、この時、"自動で再構築する"を切っておくのがポイント。モジュール単独でリビルドかけられる様になるので、記事を投稿する時の時間を短縮できます。これが一番のPHPメリットでしょうか。またモジュールファイルは一括りに同じフォルダに入れたいので、出力ファイル名はmodule/banner.phpとします。
読込み文を入れる!
メインページの該当箇所に以下のコードを挿入。
<? include("module/banner.php"); ?>
メイン以外にもアーカイブページに挿入する場合はパス名を調節します。こんな感じ、(あくまでうちの場合)
↓カテゴリページ
<? include("../../module/banner.php"); ?>
↓個別&月別ページ
<? include("../../../module/banner.php"); ?>
以上の作業で、PHPモジュールファイルだけを編集&再構築する事が可能で、尚かつ編集結果が全ファイルに反映されます。後のファイルは再構築不要です。
外部ファイルをhtml にした場合は以下のコードを挿入します。
<$MTInclude file="module/banner.html"$>
似たような機能にテンプレート・モジュール(MTInclude module)がありますが、こちらは利便性はあってもファイル軽量化には殆ど役に立ちません。あくまでテンプレートタグの関係でPHPモジュールで対応できない場合のもしも用です。
↓追記)
実際にモジュール化してみて気付いたのですが、"自動で再構築する"を切っておくと確かに再構築時間は短縮できます。がしかし今度は最近の記事やカレンダー、最近のトラックバックなどが入っているサイドメニューなどをモジュール個別にリビルドしないといけません。そうしないと例えば新しい記事を書いてもサイドメニューに新記事がリストアップされません(悲)。要は更新させたい部分はチェックしときなさい、という事です。
≪ 続きを隠す
投稿者 Locutus : 2005年01月01日 11:34
| コメント (0)
| トラックバック (2)
MovableTypeデフォルトの設定ではMTEntryPermalinkで個別アーカイブへと飛ぶようになっています。しかしPermalink(永久的なリンク)とは名ばかりで、デフォルト設定での出力ファイル名は、
http://www.55link.com/archives/2005/1/post_1.html
などの記事番号によるファイル名になります。
先達のMovableTypeサイトさんによると、どうやらこれではまずいらしい。
デフォルトの記事番号によるPermalinkは、サーバーの引っ越しなどで、exportしてimportすると、記事番号がずれることがあるため、自分でPermalinkの名前をつけられるようにしたほうがいいのです。
ARTIFACT ―人工事実― - MovableTypeのページ分割-Permalinkの変更
サーバーの引っ越し、これは大きな問題です。
実際に最近エックスサーバー(Xserver)
にサーバー移転した私にとっては人ごとではありません。サーバー移転の際にファイル名が変わってしまわないように手直しする事に。
拡張子をPHPに変更!
その際に、どうやら出力拡張子をPHPに変更した方が宜しいとの事。PHPの方がサーバーにかかる負荷は軽くなるようです。またPHPにする事で各アーカイブで共通利用できる部分をモジュール(外部ファイル)化できるとの事で、こちらもサーバー負荷の軽減、再構築時間の短縮、さらにファイルサイズの節約が期待できます。この手の事はサイトの作り始めにちゃんとやっとくのが肝腎です。
善は急げ!さっそくブログの設定からアーカイブファイルの拡張子をphpに変更。またテンプレートの編集画面でインデックス・テンプレートから、使っているインデックスページに対しても出力ファイルをphpに変更します。
再構築後FTPでローカルサイトパスに接続、index.phpが生成されているのを確認します。この時、元のindex.htmlは削除しておきます。残しておくとスラッシュエンドのURLでindex.htmlを先読みしてしまい、index.phpにアクセスしません。またアーカイブ・ディレクトリの中にあるhtmlファイルも削除しておきます。
個別アーカイブのファイル名を変更!
最終段階です。個別アーカイブのファイル名を変更します。アーカイブの出力フォーマット設定から個別エントリーアーカイブを以下のように変更。
<$MTArchiveDate format="%Y/%m/%d-%H%M"$><$MTEntryKeywords dirify="1"$>.php
これは一体なにかと言いますと、個別アーカイブとして出力されるファイル名をここで指定している訳です。
これで出力される個別ファイル名は、
http://www.55link.com/archives/年/月/日-時分.php
となります。ファイル名の設定では途中にスラッシュを入れると自動的にフォルダを生成してくれます。しかしアーカイブに余分なフォルダは作りたくありません。上のように記述すると、元々存在する月別アーカイブ用のフォルダに個別記事を入れてくれます。まぁ標準の設定でもそうなってるんですがね。
最後に付いてるMTEntryKeywordsは、エントリー投稿時にキーワードを設定する事により個別ファイル名に付け足して生成してくれます。SEOやアーカイブファイルの管理に役立つかもしれません。
キーワードを設定しなければキーワードなしで表示されるだけです。キーワード投稿欄は、エントリー投稿画面の下に方にある「この画面の表示をカスタマイズする」で出せます。
取り敢えずこれで、サーバー引っ越しやMovableType再インストなどのアクシデントがあっても、記事名が変わらないのでリンク切れを防げます。MovableTypeではリンク切れが一番困りますよね。
参考にさせて頂いたのはこちらです。
└MovableTypeのページ分割/Permalinkの変更
└MTのPHP化とページ分割
└Permalinkを変更
追記↓
個別アーカイブの拡張子をphp から html へと変更しました。どうもSEO的には、html の方が宜しいようなので。
≪ 続きを隠す
投稿者 Locutus : 2004年12月31日 18:58
| コメント (0)
| トラックバック (1)
エントリー投稿時に<textarea>~</textarea>を使うと出力ページで<br>、<p>タグが挿入されてしまいます。こういう時の為にテキストフォーマット「なし」が用意されてる訳ですが、これが面倒くさいという方は多いようですね。この辺が参考になりそうです。
小粋空間~エントリーにpタグとbrタグが入る仕組み
投稿者 Locutus : 2004年12月31日 17:19
| コメント (0)
| トラックバック (0)
このページの手順よりスマートなリンク挿入が可能です。
└ リンク挿入をよりスマートにカスタマイズ!~ MovableType
MovableType Ver3.20以降用です。
エントリー投稿画面のリンクボタンを利用した時に「target="_blank"」を自動的に入れるように改造しました。
参考にしたのはこちら、
└ (MT3.2)リンクを別ウィンドウで開く設定 <target="_blank">
└ URLボタンの手直し
mt-static/mt_ja.jsを開き、function insertLink の中の、setSelectionの行を探します。
setSelection(e, '<a href="' + my_link + '">' + str + '</a>');
これに差し替え!
setSelection(e, '<a href="' + my_link + '" target="_blank">' + str + '</a>');
これでエントリー投稿画面からのリンクは全てtarget="_blank"がつきます。
投稿者 Locutus : 2004年12月31日 16:43
| コメント (0)
| トラックバック (10)
タグやコードを紹介する時の< >を変換してくれるDecodeボタンを投稿画面に付けてみました。MovableType 3.2以降用です。
参考にしたのはこちらです。
└ 3.17でのDecodeボタン
└ Decodeボタンをつける
MovableTypeをインストしたフォルダにあるtmpl/cms/edit_entry.tmpl、bm_entry.tmplを開いて、次の箇所を探します。
write('<a title="<MT_TRANS phrase="Bold">"
edit_entry.tmpl でふたつ、bm_entry.tmpl でひとつ見つかる筈です。
これの上に以下の行を挿入します。
write('<a title="<MT_TRANS phrase="Decode">" href="#" onclick="return Decode(document.entry_form.text)"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-decode.gif" alt="<MT_TRANS phrase="Decode">" width="22" height="16" border="0" /></a>');
edit_entry.tmplの二つ目だけは青字部分を、document.entry_form.text_more に変更します。
因みにedit_entry.tmpl は通常のエントリー投稿画面で使うもので、二つあるのは一つめが通常投稿する部分で(body)、二つ目は追記(more)に使われるものです。bm_entry.tmpl の方はクイック投稿(クイックポスト、QuickPost)の投稿ウィンドゥで使います。
次にmtフォルダのmt-static/mt_ja.jsを開き、
function formatStr (e, v)
がある辺りに次の関数をペースト!
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"), " ");
str = str.replace(new RegExp(' ',"g"), " ");
setSelection(e, str);
return false;
}
最後にDecodeボタン画像をインストフォルダのmt-static/imagesにアップして完了です。自分で画像作る場合は、アップする時に画像の名前間違えないようにね!
これでエントリー編集画面にデコードボタンが追加されます。
![decode-button.gif](http://www.55link.com/cgis/mt/mt-static/images/html-decode.gif)
デフォルトのボタンが気に入らないのでアップとリンク、blockquoteボタンも変更してみました。こんなのです。
![html-file.gif](http://www.55link.com/cgis/mt/mt-static/images/html-file.gif)
![html-link.gif](http://www.55link.com/cgis/mt/mt-static/images/html-link.gif)
![html-quote.gif](http://www.55link.com/cgis/mt/mt-static/images/html-quote.gif)
≪ 続きを隠す
投稿者 Locutus : 2004年12月31日 16:20
| コメント (0)
| トラックバック (3)
この手順よりもっとスマートな方法に変更しました。![スター](http://www.55link.com/images/icons/star3.gif)
└ BetterFileUploaderプラグインで画像アップロードの手間を省く!
「ファイルをアップロード」ボタンを押した時に出る別ウィンドゥを以下のように変更しました。
archivesディレクトリの中に画像をアップしている人にとっては、デフォルトのままで問題ありませんが、そうでない人にとっては変更しておく事をお薦めします!
また、アップロード先を自分が普段アップするディレクトリに変更しておくと分かりやすいかもしれません。ただこちらはオートコレクトが働くので、実用上必須という訳でもありませんが。
参考にしたのは、
└ ごみのやま Upload先を指定です。
![画像をアップロードする時の手間を減らす!](http://www.55link.com/images/mt_customize/capture_imageup.gif)
mt/tmpl/cms の中にあるupload.tmplの20行目あたりを以下のように変更すればOKです。value="~"の中は自分の利用しているディレクトリ名に変えて下さい。
<input type="radio" name="site_path" value="0" />
<<MT_TRANS phrase="Local Archive Path">>/
<input name="extra_path_archive" /><br />
<input type="radio" name="site_path" value="1" checked="checked" />
<<MT_TRANS phrase="Local Site Path">>/
<input name="extra_path_site" value="images" />
≪ 続きを隠す
投稿者 Locutus : 2004年12月31日 12:00
| コメント (0)
| トラックバック (1)
MovableTypeでエントリー投稿(編集)画面の文字サイズが小さいのが気になってきました。このままでは自然と前屈みになってしまいます。なのでテキストエリアの文字サイズを直しました。
mt-static/styles.cssを開き、以下のセレクタを探します。MovableTypeのバージョンアップ等でセレクタの名前が変わってる場合は自力で相当箇所を探して下さい。
#edit-entry .full-width {
width: 577px;
}
これにフォントサイズを追加します。
#edit-entry .full-width {
width: 577px;
font-size: 17px;
}
次にエントリー投稿(編集)欄の高さを変更します。
「エントリーの内容(body)」の欄は、同じく #edit-entry .full-width に高さ指定を追加します。
#edit-entry .full-width {
width: 577px;
font-size:17px;
height:350px;
}
但しこれだけだと追記、概要、キーワードも同じ高さになってしまうので、以下の設定を新たに追加します。
/* --- 追記(extend) -- */
#edit-entry .full-width#text_more{
height:150px;
}
/* --- 概要(excerpt) -- */
#edit-entry .full-width#excerpt{
height:70px;
}
/* --- キーワード -- */
#edit-entry .full-width#keywords{
height:20px;
}
追記はid=text_more、概要はid=excerpt、キーワードはid=keywords、とMovableType標準でid指定されてるにも関わらず、スタイルシートにスタイル指定がないので自作追加してみました。
ついでにスクロールバーも投稿画面の色に合わせて変更しました。(Firefoxでは無効!)
#edit-entry{
scrollbar-face-color:#EAF2FF;
}
この際ついでにテンプレート編集画面のテキストエリアも文字サイズを変更!同じくmt-static/styles.cssにて以下のセレクタを探します。
#edit-template textarea.wide {
width: 618px;
}
これにフォントサイズを追加します。
#edit-template textarea.wide {
width: 618px;
font-size: 17px;
}
何にせよ、これで書きやすくなったーヾ(^o^)
≪ 続きを隠す
投稿者 Locutus : 2004年12月31日 11:56
| コメント (0)
| トラックバック (1)
検索結果が表示されるページを直そうと思ったら編集画面にないっ!どこを直せばいいんだろうと悩んでいると、こちらにヒントがありました。
MovableTypeをインストしたフォルダにあるsearch_templates/default.tmpl を直せば良いとの事。ただ編集時に日本語を入れる時は注意が必要!MovableTypeインスト時に設定した文字コードの関係で通常のテキストエディタで編集しただけではアップしても文字化けします。秀丸など新規保存時に文字コードを指定できるエディタで保存し直してアップという面倒くさい作業が必要になります。
うちはDreamweaver MX 2004があるので、ドリで開いて、ページプロパティで文字コードがUTF-8なのを確認して修正。そのままアップするだけで完了です。
≪ 続きを隠す
投稿者 Locutus : 2004年12月24日 17:47
| コメント (0)
| トラックバック (1)
MovableTypeをインストしました。
ここは元々通常のアフィリエイト・サイトだったんですが、最近流行りのブログへと全面的に改良!
従来のホムペに限界を感じ、丸ごと全部ブログで作ってしまおうという結論に達したのが一週間ほど前。あれこれと試行錯誤を繰り返し、なんとか着手する事に。
ただブログソフトはデフォルトでは日記用に特化されてるような所があるので、いきおい日記的な匂いも出てしまうと思いますが、本来はアフィリエイト・サイトだったりもします。なので徐々に本来テーマに近づけていければと思っています。
なかなか手強そうですが、やってやれない事はないでしょう。ぼちぼちとやります。3ヶ月後には投げてるかもしれませんが、w。
インストールで参考にしたのはこちらです。
⇒Movable Type 3.x 導入手順
≪ 続きを隠す
投稿者 Locutus : 2004年12月23日 01:06
| コメント (3)
| トラックバック (1)
1 |
2 |
3 |
4 |
5 |
6 | All pages
≪HOME(21世紀のアフィリエイト通販生活)