BlogTop > MovableType Archive
MovableType Archive
all of 7
今月のいらんことしい(2022年 4月)
- 2022年4月21日 16:59
- Last update: Apr 21, 2022 17:04
- MTカスタマイズ | MovableType | mt6 | myown

今月(2022年 4月)、サイトでカスタマイズした点をまとめたページです。
- * テンプレートテーマ mt.Vicuna-HTML5 を lab に適用
- * lab の Google Analytics を GA4タグに移行
MovableType向けテーマは、 HashiM 運営の mt.Vicuna 専用サイトにて配布されています。
mt.Vicuna-HTML5 ですと、Googleアナリティクス向けモジュールの読み込みが、</head> 付近にあったと思いますが、
GA側で指定されていますように、HAED 開始タグの直下にインクルードモジュールされた方が良いかと思われます。
(おそらく後で修正してくださるかと)
GA4 は、Google アナリティクス ユニバーサル アナリティクス 終了するとのアナウンスがありましたので対応しています。
https://support.google.com/analytics/answer/11583528
今月のカスタマイズは以上です。バックナンバーは以下です。
レンタルサーバーでのMovableType のオープンソース版の簡単インストール機能を終了する動き
- 2015年6月29日 16:22
- Last update: Jun 29, 2015 16:22
- MovableType

Movable Type のオープンソース、MTOSがレンタルサーバーでの簡単インストールの機能から外される、といった動きがあります。
- Movable Type 簡単インストール機能提供終了のご案内(2015/06/16 12:00) - レンタルサーバー「heteml(ヘテムル)」
- Movable Type 簡単インストール機能提供終了のご案内 - 2015年06月01日 / 新着情報 / お知らせ - レンタルサーバーならロリポップ!
以前、プロダクトライフサイクルに関して、下記のエントリにて言及していましたが。
流れとしては、現実として必然と申しますか、主要なレンタルサーバ会社で行動がおきていますから、他社も追随されることは予想されます。
すでに理由はそれぞれ示されていますが、まとめると
- Movable Type のライセンスが変更となった
- MTOSの製品ライフサイクル終了日を過ぎて以降、最新版の提供がされなくなる
- これにより、セキュリティパッチが配布されないことになる
- セキュリティ面の考慮
セキュリティ面でのことが触れられてはいますが、要因として一番大きいのは、ライセンスの変更にあると考えられます。
「簡単インストール機能」は、不特定のユーザー(サーバの収容アカウント数にはリミットがあるものとして)に再配布および、複数製品をインストールするものですので、新しくなったライセンスでは、現実としてホスティングサービス側がこれまでの機能として提供することが不可能だとおもいます。
レンタルサーバーとしては、言い方はよくないけど、簡単インストールという機能は、集客に貢献するものですからやむなく切る、といったところでしょうか。
既存のユーザーは、継続して使用するには、Movable Type 6 へのアップグレードが必要となってきます。その際に、必要とするライセンスのほうを選択ということになります。
また、Movable Type は、ウェブサービス型のものが提供されています。
- MovableType.net | ウェブサービス型高機能CMS
ライセンスを検討すると場合によっては、こちらのほうがあっているということもありそうです。
事実の部分以外は全くまとまっていませんが、簡単インストール機能の終了の件は以上です。
Movable TypeでoEmbed提供 (仮)
- 2015年5月12日 14:43
- Last update: May 12, 2015 14:43
- MTカスタマイズ | MovableType

oEmbed は、URLよりページに埋め込み可能なコードを得るのに便利なしくみです。Movable Typeのサイトでこれを提供するための方法(正式なものではありませんが)のメモです。
oEmbed については、以下のページが詳しく解説されています。
設計の概要は以下の通りです。
- URL情報から、必要な情報を取得するのに Data-API を使用する
- Data-API から、URLに対応する記事の情報を返すAPIのカスタムインデックステンプレートを作る。APIはとりあえず、PHPで作成する
- APIは外部サイトからのクロスドメインアクセスの都合上、 Access-Control-Allow-Originヘッダー 出力で対策しておく
- APIで返す内容は、パーマリンク、ページタイトル、ページコンテンツくらいでよい。タイプはrich(iframe 利用)にすることで、概要・記事で使用している画像サムネイル等も掲載できる
- ページコンテンツは EntryExcerpt (Data-API でのキーは excerpt)を利用する(毎記事適切な概要入力されていること前提として)
- iframe で返すためのアーカイブテンプレートが必要
- エンベッド用アーカイブをアーカイブテンプレートに追加する
- エンベッド用アーカイブのURIと元記事のURIを紐付けしないと呼び出しができない。このブログではパーマリンクに記事IDを含めていないため、そのままでは無理
- 元記事のURI(/path/to/archives/記事ファイルネーム/)は /path/to/archives/embed/記事ファイルネーム/ のように置換する方針とする
- /embed/* は robots.txt 等に検索でインデックスされないようにしておく
- エンベッド用アーカイブは、使用頻度からダイナミックパブリッシングのほうで採用。表示パフォーマンスは不利になるが、仕組上、エンベッド記事の実体(静的なファイル)はないので、全体の再構築のときに響かない
流れとして、もう少し簡単にまとめます。
- Data-APIをつかって、記事に関係するデータをJSON形式であらかじめ出力しておく
- 記事URLのリクエストから、記事情報を得る
- 必要な情報をパースして、oEmbedの仕様に合った形式で返す
- エンベッド用のアーカイブを用意してこれを iframe にて埋め込む形にする
概説になりましたが、oEmbed対応については以上です。
以下に API のテンプレートのサンプルがあります。実際に使用しているもので、直に記述している部分をテンプレートタグに置き換えしたものです。
※ このブログのURLの構成に基づいているので、そのままコピーしただけでは使えません。
※ Movable Typeのテンプレートタグが入っていますので、他のCMSでも同様にそのままの状態では使用できません。
※ Data-APIの同梱されていない Movable Typeでは動作しません。出力のJSONのキャッシュとして、bit-part/mt-plugin-DataAPIPHPCache を使っています。
※ 作成したのが Data-API のバージョンが 1のときのもので現在は v2 が出ていますが、/v1/ のフォルダがのこっていればそのまま使えています。
実際に使用している記事は以下にあります。WordPressでは、標準で、oEmbedのサイトはホワイトリスト方式になっていますので、wp_oembed_add_provider()に追加しておくなどします。
(上の記事は出力結果の例で、oEmbed の使用は、記事作成の画面のところで記事URLのコピーを貼付けします)
MT:Plugin:RegexList:リスト作成に便利なRegular Expression拡張プラグイン
- 2012年6月20日 19:07
- Last update: Jan 12, 2015 23:07
- MovableType | plugins

Movable Typeのテンプレートの置換を拡張したRegexListプラグインについてです
RegexList はRick Bychowsk (Hiranyaloka)氏(http://hiranyaloka.com)によりリリースされたプラグインです。
この記事のタイトルでは、「リスト作成」とかつけてしまいましたが、正確には Regex でマッチ(サーチ?)したものを配列にpushしてくれるといった動作のプラグインのようです。
ダウンロード
- Hiranyaloka/mt-plugin-RegexList · GitHub
Downloads のところより入手可能です。
ファイル展開後のRegexListをpluginsディレクトリに収めます。
動作確認
使ってみないことにはご紹介というわけにもいかないので、とりあえずインデックステンプレートでカスタムテンプレートを組んで動作を確認してみました。
当方がが試したのは、MTOS-5.14-ja 上で、特に外部の依存モジュールはないようなので、ローカルで設置したMTOSのみで確認を行いました。
基本的な書式は、regex_replace のように、regex_list="","","" 3つ目の値に区切りとなる文字列のマッチパターンを書きます。
グローバルフィルターなので、任意のテンプレートタグに付与して使うことが出来ます。
プラグインの詳細は、README.markdown に記載されています。これを参考にサンプルを作りました。
1. カンマ区切りな文字列からリストを生成する
<mt:Setvar name="test1" value="apple,bannana,melon,kiwifruit"> <$mt:Var name="test1" regex_list="/(.+)/","$1","/([^,]+)/" setvar="thelist1"$> <$mt:var name="thelist1"$> <ul> <mt:Loop name="thelist1"> <li><mt:Var name="__value__"></li> </mt:Loop>
2. \u \l \U \L プレフィックスをつかった置換
\u \l がそれぞれ upper-case と lower-case。
大文字のほうの\U \Lですが、小文字のほうとの違いは、キャプチャされている文字全部に(\Eがつけられる前まで)その影響がおよびます。
以上を踏まえて、文字列を先頭1文字を大文字、以降を小文字に整形して出力するものが以下のテンプレートです。
<mt:Setvar name="test2" value="aPple,baNNnana,Melon,kiWiFruit"> <$mt:Var name="test2" regex_list="/(.)(.+)/","\u$1\L$2\E","/([^,]+)/" setvar="thelist2"$> <ul> <mt:Loop name="thelist2"> <li><mt:Var name="__value__"></li> </mt:Loop> </ul>
3. キー、ハッシュ風の記法からページ内リンクリストを生成
「フラグメント」: 「タイトル」, 「フラグメント」: 「タイトル」
といったルールのテキストを変数にセットしておいて、これを元にして、ページ内リンクを生成するというテンプレートです。
<mt:SetVars> internal=t2:Title2, t3:Title3, t4:Title4, t5:Title5 </mt:SetVars> <$mt:Var name="internal" regex_list="/(?:[\s]+)?(.+):[\s+]?(.+)/","<a href="#$1">$2</a>","/([^,]+)/" setvar="thelist3"$> <ul> <mt:Loop name="thelist3"> <li><mt:Var name="__value__"></li> </mt:Loop> </ul>
まとめ
もう少し複雑な例とか思いついたのですが、当方のスキルがいっぱいいっぱいなのでこの辺で。
RegexList をうまく活用すると標準のテンプレートタグのみでは複雑に組まなくてはならない場合を解決できることがあります。
なお、このプラグインはどの値を push したかをブログのログに記録するようになっています。ログはブログのツール>ログ からみられます。
- Comments
- TrackBack Closed
Movable Typeの各ヴァージョンごとの管理画面を体験できるデモサイト
- 2011年2月24日 08:20
- Last update: Feb 24, 2011 08:20
- MovableType

movabletypedemo.orgにてMovable Typeのヴァージョンごとの管理ページのデモページが提供されています
だいぶ前に見つけたのですが、Movable Typeの1.xとか過去の版などを体験できるサイトがありました。
例えば、3.xですとこちら
のJust login to: のリンク先から管理画面にログインできます。入るときのアカウントとパスもそのページに記載されています。※Rulesページは目を通してください
ログイン後はこんな感じです。英語だけど
Open Melodyのデモページもありました。
- Comments
- TrackBack Closed
MT:lower_caseグローバル・モディファイア
- 2010年12月17日 13:16
- Last update: May 24, 2016 07:46
- MovableType

lower_caseモディファイアを使用すると小文字で出力されます。
lower_case="1"を設定したときの出力のメモです。というよりはほぼ遊びに近くなってしまいました。グローバル・モディファイアリファレンスにあるとおりで、このモディファイアを利用するとアルファベットの大文字であるものが小文字で出力されるようになります。
お試しのテンプレートですがフォームで入力した値をlower_caseをつかって小文字での出力を試みるというものです。
CGIでの受け渡しを考えていたのですが、簡単に済ますためにMTのダイナミックパブリッシングを使ったテンプレートを作成してみました。GETとPOSTを動的に受け取りたいのですが、たしかGETの値など取得するようなプラグインがあったように記憶していたんですが、Smartyによる値の取得方法をmt ダイナミックテンプレート SmartyでGET/POSTなどの外部パラメータを取得 - wed@においてシンプルに提示くださってましたので今回参考にいたしました。
テンプレートは以下のとおりです。action属性には作成したテンプレートのパスでもいれるとします。LOLといれると、結果としてlolがかえるかとおもいます。
<MTSetVarBlock name="str">
{{$smarty.post.string}}
</MTSetVarBlock>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>lower_case=1 のテスト</title>
<style> em {color: blue;}</style>
</head>
<body>
<form action="path/to/this_page" method="post">
<fieldset>
<h1>フォーム</h1>
<p><input name="string" type="text"></p>
<p><input type="submit" value="Submit"></p>
</fieldset>
</form>
<p>Your Input: <em><MTVar name="str" encode_html="1" /></em></p>
<p>Lowercase : <MTVar name="str" encode_html="1" lower_case="1" /></p>
</body></html>
*テンプレートはテスト環境向けのものです。
- Comments
- TrackBack Closed
スタティックページにおける関連記事表示について
- 2010年11月 3日 18:56
- Last update: Nov 03, 2010 18:56
- MovableType

静的ページ内にカスタマイズした関連記事表示をおこなっている場合に関してです。
わかりきっているようなことなので簡単にすませようかとおもいます。。こちらの認識がまちがっているかもしれませんが。
以下のような要望を叶える場合についてなのですが
- 過去記事でコメントやトラックバックを受けることはないが、コンスタントにアクセスがある
- この記事に類似しそうな記事を新規に作成し、過去の記事の関連記事リストに表示されるようにしたい
ここで管理者がおこなえることは、例えば記事につけられたタグをもとにリストを作っているものとして、(1)ターゲットの過去記事につけられたタグと同じタグを新規の記事にもつける(2)過去の記事を管理画面の記事一覧のリストよりチェックボックスにチェックをいれて更新する(=再構築) あたりでしょうか。
これらのことは、TagSupplementalsプラグインを用いた関連記事表示でも、Movable Typeのテンプレートタグのみで実現した関連記事表示でも静的なページで構築されている場合では同じことがいえるのでないかと思います(静的ページなわけなので)。
- Comments
- TrackBack Closed
キャッシュとSSIでの失敗談
- 2010年6月10日 22:21
- Last update: May 24, 2016 07:46
- MovableType | mt4

Movable Type4.2からのキャッシュとサーバーサイドインクルード機能を利用していて失敗したときのことを記します
キャッシュとSSI(サーバーサイドインクルード)機能の説明はここでは省略します。以下を参照してみてください。
- テンプレートモジュールのキャッシュ
- http://bizcaz.com/archives/2008/08/03-000022.php Movable Type 備忘録 - Movable Type 4.2 のキャッシュとサーバサイドインクルードについて
この前サーヴァ間移動をおこなったときのことなのですが、ページを表示するとWarningがでているんですねえ。
でそのWarningの内容を見ると、パスのところに移動もとのほうのアカウントが。インクルードするファイルを読み込めないために警告されているようでした。
サイトパスとかブログの設定で書き換えた(移動のときサーヴァのアカウントも変えたので)ハズなんだけどおかしいなあと思っていたら、SSIのところだったというオチでした。*ヴァージョンは4.27にてということにしておきます。
キャッシュ設定がPHPでおこなわれたとすると、そのモジュールの出力ページは保存用のディレクトリに保存されて、読み込む側のページにおいて以下のように置き換わるようです。
<?php include("/path/to/site/includes_c/includemodule.php") ?>
これが静的ページに残ってるということですね。ちなみに保存用ディレクトリincludes_cは環境変数(IncludesDir)により変更可能です。新しいほうのサーヴァのパスになるためにはファイルが更新されないといけないので、結局のところ再構築をおこなう必要があります。
つまるところ、サーヴァ移動をおこなったときの全再構築を執り行うのを怠っていたワタくシのミスでした。
なんというか、テンプレート編集画面を見てもモジュールインクルードの箇所はSSIが展開されて表示されているのではないのでうっかりしてました。サーヴァ移動後の注意点としてはそんなところです。
- Comments
- TrackBack Closed
メモ: MTEntriesでcounter変数による分岐
- 2010年3月27日 08:56
- Last update: May 24, 2016 07:46
- MovableType

MTEntriesで最初のN件とそれ以降のM件との処理の分岐の方法を試してみました。
タイトルと冒頭の記述のとおりですが、よく記事の最初だけ「全文表示」でそれ以降は「概要」を表示するといったカスタマイズがあります。
これを実装するに、offsetモディファイアを利用して除外する件数を指定して処理する方法があります。以下にサンプルを示します。
例えば、ブログ全体で記事が5件あり、最初の2件は記事本文(entrybody)を表示し、それ以降の3件については、記事概要(entryexcerpt)を表示する、といった処理をおこないたいとしましょう。(#たまたま自分のテスト環境が記事5件分しかなかったりするのでそうなっただけですが)それを、最初のほうで2件分のエントリを取り出し記事本文を表示。2回目のEntriesのループでは、先頭2つをoffsetにより除外、そのうち3件分を出力するコードが以下となります。
カウントの部分は趣味でいれてるので無視してくださってかまいません。マークアップはいい加減なものなのでそのまますぐ使えるというものでもないです。
<mt:entries lastn="2"> <div style="background:none #eee; border:1px padding:3em;"> <h2><mt:var name="__counter__" /></h2> <h3><$mt:entrytitle$></h3> <$mt:entrybody$> </div> </mt:entries> <mt:entries lasn="3" offset="2"> <mt:setvar name="count" value="3" op="++"> <div> <h2><mt:var name="count"></h2> <h3><$mt:entrytitle$></h3> <$mt:entryexcerpt$> </div> </mt:entries>
MT4以降でしたかちょっとヴァージョンが定かでないんですが、ループ処理に__counter__とかいった変数がセットされています。
この変数をMTIfを使い、最初2件までentrybodyでそれ以降はentryexcerptにしてみます。
<mt:entries lastn="5"> <mt:if name="__counter__" le="2"> <div style="background:none #eee; border:1px padding:3em;"> <h2><mt:var name="__counter__" /></h2> <h3><$mt:entrytitle$></h3> <div><$mt:entrybody$></div> </div> <mt:Else> <div> <h2><mt:var name="__counter__" /></h2> <h3><$mt:entrytitle$></h3> <p><$mt:entryexcerpt$></p> </div> </mt:if> </mt:entries>
le="2"で、__counter__が2以下ならば、entrybody、そうでなければ、excerptといった感じです。サンプルではわざわざ__counter__の値も表示させてるますから、エントリ数とカウントの数値を確かめてみることができるかと。
MTIf/MTElseのタグがある分、先に示したコードのほうがすっきりしているように感じますが、1つのループ処理で完結してるところが違う点というか、そんなところです。以上です。
どうでもいい話とか
たまにMTIfとはなんぞ?みたいな検索でこられるかたもいらっしゃるようなので、おさらいといいましょうか、勉強を兼ねて試してみました。
最近はローカルで簡単なサンプルのテンプレートを作るときはダイナミックパブリッシングで作成して確認することが多くなってるなあとかなんとか。ファイルがやたら生成されてきては削除してくのもなんだし。。
09:28 +9:00 追記 : サンプルでcounter変数をいれたものが抜けていましたので追加しました。
- Comments
- TrackBack Closed
タグリストのXMLファイルを作ってみる
- 2009年12月23日 18:32
- Last update: Jan 12, 2015 21:35
- MovableType

Movable Typeで単にタグの一覧をXMLで出力するテンプレートを作成してみました。
<?xml version="1.0" encoding="UTF-8"?>
<tagcloud><MTTags sort_by="name">
<items>
<tagName><$MTTagName encode_xml="1"$></tagName>
<tagCount><$MTTagCount$></tagCount>
<link><$MTTagSearchLink$></link>
<tagRank><$MTTagRank max="10"$></tagRank>
</items></MTTags>
</tagcloud>
何かのカスタマイズとか、特にどうっていうものもないのですけれど、これをベースにちょっと学んでみようかなと考えています(わりとテキトウです)。
- Comments
- TrackBack Closed
MT:PubSubHubbubプラグインについて
- 2009年9月 4日 17:45
- Last update: Apr 21, 2014 09:08
- MovableType | net | plugins

Movable Typeのプラグイン、PubSubHubbubの紹介と導入について書きます。
「PubSubHubbub」って何?といわれてもよくわかってなかったりしますが、RSSの更新情報の反映をRSSリーダーなどでの時差を解消しようとするものです。
説明不足でアレなので、PubSubHubbubについては、以下のページを参考リンクとして示します。
- ライブドア、ブログとRSSリーダー時差解消にPubSubHubbub対応 -INTERNET Watch(internet.watch.impress.co.jp)
- http://labs.unoh.net/2009/08/what-is-pubsubhubbub.html">ウノウラボ Unoh Labs: PubSubHubbubとは(labs.unoh.net)(注:リンク先ページ不明)
追記:livedoor reader については、記事投稿のときのPing送信先に、http://rpc.reader.livedoor.com/ping を指定されたほうが早いとおもわれます。
PubSubHubbubプラグイン
PubSubHubbubプラグインは、miyagawa(Tatsuhiko Miyagawa)氏の提供するMovable Type用プラグインです。Movable Type4以降で利用可能のようです。プラグインの入手は以下からダウンロードすることができます。
導入について
ダウンロードしたファイルを解凍し、フォルダごとMTシステムのディレクトリのpluginsディレクトリ内にアップロードします。アップロード後に、プラグインの設定画面にて設定をおこないます。なおプラグインはブログ単位で設定をおこなうようになっています。
以下のキャプチャはMT5.0ベータ1によるものです。
設定画面にて、pingを打つ先のURLを入力して、設定を完了します。今のところ、「http://pubsubhubbub.appspot.com/」が利用可能のようです。
設定が済んだら、「最新記事のフィード(feed_recent)」(atom.xml)テンプレートの<link rel="self" ... />以下に<$mt:PubSubHubbubLinks$>を埋め込み、保存・再構築をおこないます。
再構築後のフィードのソースを見ると、<link rel="hub" href="..." />というコードが追加されています。 W3C Feed Validation Service で確認すると、Recommendationsとして、「Unregistered link relationship」が指摘されるのですが、御愛嬌ということで。
あとは、記事を更新するのみです。以上です。
- Comments
- TrackBack Closed
Movable Type5.0ベータ1、InstaMTにインストールしたよ、のメモと注意点
- 2009年9月 3日 06:33
- Last update: May 24, 2016 07:46
- MTカスタマイズ | MovableType | mt5

Movable Type 5 のベータテストが始まりました。そこでInstaMTにて構築してみました。少しだけ注意する部分があります。
追記:【2009・12・01】Movable Type 5が正式リリースされました。これに伴い、本記事内容を凍結とさせていただきます。なお、InstaMTについてまとめたページについては時間をみて更新させていただきます。
InstaMTはMovable Typeの環境を簡易的に構築するためのツールです。Movable Type 5(beta)での最低限の動作環境は満たしているようなので、インストールしてみることにしました。
「InstaMT」については、手前味噌ですが、以下のページにてまとめておきました。
環境としましては、InstaMTにMT4.2以降のヴァージョンにアップし、ユーザの利用環境を日本語に設定しておいたうえでのアップグレードという形です。プラグインについては、初期の状態とします。なお、使用したMT5のヴァージョン表記は、「Movable Type Pro version 5.0b1 」。
Movable Type 5 のベータテスト開始に関する情報およびベータ版ダウンロードについては以下を参照します。
- Movable Type 5.0 ベータ1を公開 | MovableType.jp(movabletype.jp)
InstaMTでのヴァージョンアップの方法ですが、簡単におさらいしておくと、
- /cgi-bin/mt/ 以下に新しいほうの/cgi-bin/mt/ のmt-staticを除いたフォルダをコピーして上書きする
- /www/にmt-staticフォルダのコピーを上書きする
- 新しいほうのMTの各CGIファイルを開き、パスを
#!C:/InstaMT/perl/bin/perl -wに書き換えておく - 書き換え済みのCGIファイルを含めたフォルダ以外のファイル群をmtフォルダに上書きする
- InstaMTを起動させるとアップグレードの動作がはじまる
以上の作業後のアップグレードの流れは以下のようにおこなわれました。
次に注意する点ですが、Movable Type5よりウェブサイト単位の管理というものが設けられましたので、そのあたりでの設定です。
アップグレード後の状態でブログを再構築すると、エラーで止る現象がおこりました。これはブログの公開パスの設定が正しくないことによるものです。
そこで「システム」のメニューからウェブサイト一覧を開き、「Generic Website」と書かれた(初期状態でそのような名称になっています)サイトの設定画面に移動します。以下のキャプチャのようにルートの公開パスを設定しておきます。
ちなみにルートのサイトパスはC:\InstaMT\www\となります。
設定後にGeneric Websiteの管理画面にいきます。上のメニューのうぐいす色のところにGeneric Websiteと書かれている状態です。この時点では1つもテンプレートが登録されていない筈です。ここでインデックステンプレートを1つだけ作成しておきます。
作成するのは、InstaMT起動時に「Sending you to the InstaMT dashboard...」のメッセージのでるジャンプページで、/www/直下のindex.htmlのソースをそのままコピーして貼り付けします。ファイルの出力はindex.htmlとしておき登録します。これで、Generic Websiteのほうの設定は完了です。
今度はInstaMTにはじめから登録されているブログ(My MT Blog)のほうの設定に移動します。ブログの全般の設定にいき、サイトパス、アーカイブパスを正しいものにすれば完了です。設定後に全再構築してエラーがでていなければあとは弄り倒しに、という流れです。以上です。
- Comments
- TrackBack Closed
はてブ:エントリーページのURI変更にあわせたEntryPermalinkの書き方なのだが。。
- 2009年7月 6日 17:32
- Last update: Jan 12, 2015 19:24
- MovableType | net

はてなブックマークでエントリーページのURIが変更とのこと。既に張られていた旧URI からは全てリダイレクトされるようです。
URI変更については、はてなブックマーク日記の記事を参照します。
「http://」がURIに含まれない形になるということと、rel="canonical"により正規化されたURIを指定、また既存のURIについては永続的にリダイレクトをおこなうようであります。
ということから、Movable Typeでの「↑B」ボタン設置のリンクについてはこれまでどおりで問題はなさそうです。
で、もしこの変更にあわせた形とするのですと、以下のような感じになるかと。テスト用の簡素なものですから運用レヴェルのものではないです。
<ul> <mt:Entries lastn="5"> <li><MTEntryTitle> <a href="http://b.hatena.ne.jp/entry/<$MTEntryPermalink regex_replace="/http:///",""$>" rel="nofollow"> <img src="←「↑B」画像までのパス→" width="16" height="12" alt="このエントリーを含むはてなブックマーク" title="このエントリーを含むはてなブックマーク" /> </a> </li> </mt:Entries> </ul>
例のごとく(?)でregex_replaceによる置換です。スラッシュが続いてヘンテコな感じですが期待どおり(何?)な結果がでます。いちおう、nofollowつきで。
んー、あまりスッキリしないですね。リダイレクトしてくれるというのですから、こちらがわざわざ合わせる必要もないのですけれども。
追記:2013/02/24 http スキームを取り除くグローバルモディファイアをつくりました。
以下のようにつかいます
<a href="http://b.hatena.ne.jp/entry/<$mt:EntryPermalink RemovehttpScheme="1"$>">
- Comments
- TrackBack Closed
MT:アーカイブインデックスにAjax検索を取り入れて改造した
- 2009年6月 3日 11:36
- Last update: Jun 03, 2009 11:36
- JavaScript | MovableType

Movable Typeのアーカイブインデックスを改修してみました。Ajax JSON Searchの検索用テキストを再利用することでアーカイブリストを表示します。
Ajax JSON Searchって何よ、というかたは以下のページをご覧ください。で、設置した上でのハナシとして以下進めさせていただきます。
- 今日のMovable Type:Ajaxを利用したMT用超高速検索システムはスゴすぎる! 世界中の1%の人々へ(dakiny.com)
この検索で利用するテキストデータ(search_data.txt)なのですが、実はやってることが全アーカイブリストの出力。コレが意味するのは、コアの部分はアーカイブインデックスとほぼ同一内容のリストを作っているようなもの、ということになるのでは。。
それと、Ajax検索で検索ボックスに何も検索語をいれずに実行すると、全エントリが出力されるようになってます。入力されていないことをアラートで警告することもできるのでしょうが、恐らく敢えてやっていないのだと思われます。
以上のことをふまえて、search_data.txtを使い回ししてアーカイブ全出力するテンプレートをおもいついたというわけです(#くだらないけど)。
まずは、その元となるテンプレートを作ってみました。ページを開いて、ボタンを押すとエントリの検索が実行されて全エントリのリストが表示されます。
しくみは簡単です。blog_ajax_json_search.jsは本来、検索することが目的ですので、検索に関わる出力部分を少し改造します。具体的には、「○件ヒット」とかを表示しないように、build_search_result_html関数のところを書き換えます。
あとは、blogAjaxJsonSearch関数の第二引数を「,''」にして検索語のない状態として実行するだけです。
余談で、show_all_backnumbersみたいなのがあるのですけど、多分全リストを表示させるようなものだと思うのですがコレ動くんですかね。試してないですが。
てすとページでは、ボタン押下でblogAjaxJsonSearchを実行してますが、body要素のonload属性を使って実行のようにもできます。あえてやっていないのは、ナヴィゲーションリンクとかから、現在見ているページに流し込みできるんじゃね、みたいなハナシがしたかったからとか(#...ブツブツ)。
実際のページは、テンプレートのグローバルナビの「Archives」より確認できます。あとおまけでタグ検索の検索窓もつけてみました。以上です。
- Comments
- TrackBack Closed
今月のいらんことしい(2009年5月)
- 2009年5月22日 09:46
- Last update: Jan 12, 2015 19:34
- MTカスタマイズ | MovableType

今月(2009年5月)、テンプレートなどをカスタマイズしたところをまとめておきます。
Movable Typeをアップグレードさせたこともあって、あれこれ弄ってた気がするのですが主な変更箇所等は以下のとおりです。
- 「タグアーカイブページ」で関連タグがでるようにした
- 4.25にアップグレードとコメント認証のサービスを追加
- ダッシュボードのウィジェットを作成してみた
- 検索をmt-search.cgiからAjax+JSONによる全文検索に変更した。
- スタイルシートのファイル構成の変更
- フッター(#footer)の背景色・リンクカラーを変更
TagSupplementals PluginおよびMT-XSearchによるタグアーカイブですが、MTRelatedTagsを利用した、関連タグをサイドカラムに表示するようにしました。
以下のページ等で確認できます。
Movable Typeのヴァージョンを4.25にしました。これまで、コミュニティ機能なしのMovable Type Commercial を利用していましたが、今回よりmotion等コミュニティ機能つきのProとしました(今のところコミュニティ機能の使い道が無いんですけど)。
アップグレードについては、いつものように圧縮ファイルアップロード、SSH接続でunzipと、pluginsフォルダ、/mt-static/plugins/ 内のフォルダ等のコピー、configファイルのコピー、cgiファイルのパーミッション設定といった手順です。
アップグレードにともない、認証サーヴィスの追加をおこないました。確認できているものでgoogle、yahoo、livedoor、はてな等が利用可能です。
ダッシュボードウィジェットは、プラグインという形で現在、最近の記事で使われている、「カスタムフィールドの内容」を出力するウィジェットを作成して使っています。(後日紹介のつもり)
Movable Typeの全文検索ですが、以下のページを参照しました。
- 参考ページ
導入方法についても解説されているままです。あと、記事ページに1カラムレイアウトを採用している関係で、検索結果をページ内に流し込む方法だと検索窓をページ上部にもってこないと不都合だったりするので専用ページを設けることにしました。これについては、WolaWola(author:oscarさん)さまのテンプレートを参考につくりました。
検索ページを見た限りですと、ページ遷移すると検索が始まるようでしたので、たぶんパラメタの値でもってごにょごにょやってるのだろうと思い、自分なりの解釈で作ってみました。
スタイルシートの構成については先日書きました。
フッターの背景を黒系にしてヘッダーとあわせるとしました。ソースは以下のとおり。
div#footer {
color: <em>#CCCCCC</em>;
background-image: none;
background-color: #000000;
padding: 1px 0;
}
div#footer ul.support {
color: #CCCCCC; /* + maRk */
margin: 0em 10px;
text-align: right;
}
/* + maRk */
div#footer ul.support li a:link {
color: #0198CA; }
div#footer ul.support li a:hover,
div#footer ul.support li a:active {
color: #00B8FD; }
/* + maRk */
- Comments
- TrackBack Closed
RenameLabel Pluginを使って編集画面のラベルを漢字表記にしてみた
- 2009年5月17日 08:17
- Last update: Jul 03, 2016 16:37
- MovableType | plugins

エムロジック放課後プロジェクト提供のRenameLabel Pluginは、Movable Typeの編集画面のフィールド名を任意の名称に変更するためのプラグインです。ためしにこれを使って漢字のラベルにしてみました。
プラグインを入手する
プラグインは、エムロジック放課後プロジェクト(エムロジック株式会社)さまの以下のページからダウンロードできます。
説明のHTMLファイル等も同梱されていましたので、導入方法などはそちらを参考にします。
ラベル表記を変更する
プラグインが導入できますと、ブログのプラグイン設定の画面にRenameLabel Pluginが表示されているはずですので、そこから「設定のタブ」を表示させると、設定画面が表示されます。
利用の状況に応じて適切なラベル名を付ける、というのがこのプラグインの本来の目的なのですが、今回は昨今の漢字ブームにあやかって(?)ラベルを漢字にしてみました。漢字訳ですが、かなりテキトーです。漢字訳については、いちおう以下のサイト等を利用しています。#ネタですいません(汗;
スクリーンショットを示します。
管理画面は以下のようになりました。ちょっとやばいカンジです。
今回ためした件のラベルとその値の対応は以下のファイルとなってます。訳はコチラのイメージとかによるので、妥当ではないとおもいます。「トラックバック/言及通知」とか。
- Download
- Comments
- TrackBack Closed
今月のいらんことしい(2009年4月)
- 2009年4月21日 06:21
- Last update: Aug 06, 2009 09:07
- MTカスタマイズ | MovableType

今月(2009年4月)テンプレートカスタマイズの箇所をまとめた記事です
- タグ検索のテンプレートをキーワード検索と分離した
- hAtomを各テンプレートに仮導入
今月はテンプレートを少しだけカスタマイズしてます。最初のほうは、TagSupplementalsプラグインのバージョンアップに伴うものです。内容等は以下記事にて
あと、VicunaのmicroformatsのhAtom対応をおこないました。いちおう仮対応ということであとで変わるかもしれないし放置するかもというところです。Vicunaでは、アーカイブリストページと記事ページが構造が変わる点があったりで、microformatsのための要素追加するかどうかで迷う部分はあります。対応については、Microformats Wikiのサンプルを参考にしたらよいかと。
- Comments
- TrackBack Closed
mt.Vicuna:MT-Xsearch用のテンプレートモジュールを試作。
- 2009年4月 6日 08:14
- Last update: Jul 08, 2015 18:58
- MTカスタマイズ | MovableType

mt.Vicunaテンプレートで、mt-xsearch.cgiを使ったタグアーカイブテンプレートを作成してみました。TagSupplementalsプラグイン(0.22)との組み合わせで利用します。
先日、Ogawa::Memorandaにて、TagSupplementalsプラグインのバージョンアップとの記事がありました。「MT-XSearchを使ったタグ検索」とのことでMT-XSearchを使った方法を試すことにしました。
今回、タグ検索結果のテンプレートモジュールをカスタマイズしてmt.Vicunaテンプレートにあわせたものにするということをおこないました。おことわりですが、本記事ではMTXSearchの導入方法は省略させていただきます。
なお、TagSupplementalsプラグインとおよび、MT-XSearchを使った動的アーカイブの実現方法等は以下を参照するとよいかと思います。(#自分も3.2のころMT-XSearchを使っていたのですがやりかたを忘れておりました)
- TagSupplementals Plugin 0.22公開 - Ogawa::Memoranda
- TagwireとMT-XSearchによる動的タグアーカイブ - Ogawa::Memoranda
- 「Tagwire」と「MT-XSearch」で『Tag Cloud』のページを作る : Project MultiBurst
注:今回、Tagwire PluginはつかわずMTのタグ機能のみです。あと、appnel.comより、mt-xsearch.cgi等の含まれる、mt-plus-1.01.zipをダウンロードする必要があるのですが、ワタくシが確認したところ、リンク先のファイル(mt-plus-1.01.zip)がロードされずにページ遷移になっていました。当方では以前導入していたときのファイルを探してきて使用しております。
タグ検索結果のテンプレートサンプル
テンプレートモジュールを新規作成して、テンプレート名を、XSearch TagSupplementalsとします。search_key=にはTagSupplementalsを記入しています。
InstaMT+Movable Type4.24-enでのみで動作確認をおこなったものです。
<__trans_section component="mtVicuna"> <MTSetVar name="tempName" value="system_search"> <MTSetVarBlock name="topicPathTagSearch"> <p class="topicPath"> <a href="<$MTBlogURL$>" rel="nofollow">Home</a> > <span class="current">Search results for Tag : <$MTSearchString$></span> </p> </MTSetVarBlock> <?xml version="1.0" encoding="<$MTPublishCharset$>" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="<$MTDefaultLanguage$>" xml:lang="<$MTDefaultLanguage$>"> <head profile="http://purl.org/net/ns/metaprof"> <MTInclude module="<__trans phrase="HTML Header">"> <title>Search Results for Tag : <$MTSearchString$> - <MTBlogName encode_html="1"$></title> </head> <body class="individual system double"> <$MTInclude module="<__trans phrase="Header">"$> <div id="content"> <div id="main"> <$MTVar name="topicPathTagSearch"$> <h1>Search Results for Tag : <$MTSearchString$></h1> <div class="entry"> <ul class="info"> <li>Tag: <em><$MTSearchString$></em></li> <li><em><span class="count"><$MTSearchResultCount$></span></em> Hits</li> </ul> <dl class="headline"> <MTSearchResults> <dt><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a><span class="date"> - Posted date: <$MTEntryDate></span></dt> <dd> <ul> <li class="textBody"><$MTEntryExcerpt$></li> <MTIfNonEmpty tag="EntryAuthorDisplayName"> <li class="author">Posted by: <span class="name"><$MTEntryAuthorDisplayName$></span></li> </MTIfNonEmpty> <MTIfNonEmpty tag="MTEntryCategory"><li class="category">Category: <MTEntryCategories glue=" | "><a href="<$MTCategoryArchiveLink$>" title="<MTCategoryLabel> Index"><MTCategoryLabel></a></MTEntryCategories></li></MTIfNonEmpty> <MTEntryIfTagged><li class="tag">Tag: <MTEntryTags glue=", "><a href="<$MTCGIPath$>mt-xsearch.cgi?blog_id=<$MTBlogID$>&search_key=TagSupplementals&search=<$MTTagName encode_url="1"$>" rel="nofollow"><$MTTagName$></a></MTEntryTags></li></MTEntryIfTagged> </ul> </dd> </MTSearchResults> </dl> </div> <MTNoSearch> <div class="section entry"> <h2>Error</h2> <div class="textBody"> <p><__trans phrase="You did not enter anything to search for. Please try again"></p> </div> </div> </MTNoSearch> <MTNoSearchResults> <div class="section entry"> <h2>Search Result</h2> <div class="textBody"> <p>タグ:<em><$MTSearchString$></em> のつけられた記事は見つかりませんでした。</p> <p>ヒント:</p> <ul> <li>タイプミスはありませんか?</li> <li>他のタグを検索してみてください</li> <li>キーワード検索をお試しください</li> </ul> </div> </div> </MTNoSearchResults> <div class="section option"> <h2>Search Tags</h2> <form method="get" action="<$MTCGIPath$>mt-xsearch.cgi"> <fieldset> <legend><label for="search">Tag Search</label></legend> <div> <input type="hidden" name="blog_id" value="<$MTBlogID$>" /> <input type="hidden" name="search_key" value="TagSupplementals" /> <input type="text" class="inputField" id="search" name="search" size="20" value="<$MTSearchString decode_url="1" encode_html="1"$>" /> <input type="submit" class="submit" value="Search" /> </div> </fieldset> </form> <!-- option end --></div> <$MTVar name="topicPathTagSearch"$> </div> <!-- end div#main --> <$MTInclude module="<__trans phrase="Utilities">"$> <$MTInclude module="<__trans phrase="Return to page top">"$> </div> <!-- end div#content --> <$MTInclude module="<__trans phrase="Footer">"$> </body> </html> </__trans_section>
インデントは当方で左詰めしました。mt.Vicuna向けですのでmt.Vicunaテンプレートセットを利用していることを前提としています。
追記:2009/04/08 title要素の表示がsetvarblockを使っていたのを訂正した関係でおかしくなっていたので変更しました。
変更前
<title>Search Results for Tag : <$MTVar name="tagname"$> -
変更後
<title>Search Results for Tag : <$MTSearchString$> -
なお、当ブログでのMT-XSearch対応の準備が整いましたので、タグのページで確認することができます。
- Comments
- TrackBack Closed
今月のいらんことしい(2009年3月)
- 2009年3月21日 14:27
- Last update: May 24, 2016 07:46
- MTカスタマイズ | MovableType

今月(2009年3月)サイトやブログのテンプレートをカスタマイズした点をまとめた記事です
- 月別アーカイブページを作り、サイドバーメニューの月別アーカイブリンクをやめた
- 月別アーカイブページの先頭はページ内リンクという形にした。
- 個別記事ページでtitle要素を「記事タイトル」、「ブログ名」の順にした
- 検索結果のページを分割表示にした
月別のアーカイブページですが、あまりにも読まれることがなく、リンクがあっても辿るひとがいないわけでして、このようなページへのリンクは無駄だろうということから、サイドバーメニューから外すことにしました。勝手は悪くなるけど、かわりに月別アーカイブ一覧ページを作りそのページへリンクするようにしてみました。
月別ページで、目的の記事への移動がしやすいように、MTBlogIDを利用し、フラグメント識別子によりページ内リンクすることにしました。説明するより見てもらったほうが早いかと。2009年3月アーカイブ
検索結果のページはmt.Vicunaでは、分割表示されていないのでデフォルトの検索結果ページのソースをみながら修正を加えてみました。
ページ分割については、HashiM氏の以下の記事を参考にしました。簡単にまとめると、mt.Vicunaテンプレートでは検索フォーム内でlimitの設定をおこなわないといけない、ということです。
説明しようとおもったのですが無駄に長くなるだけですので、サンプルテンプレートということで提示します。mt.Vicuna 2.2.0の検索結果テンプレートをベースとしたものですからmt.Vicunaテンプレートセットと一緒に使う必要があります。
- download
- Comments
- TrackBack Closed
Actionstreamsとはてなブックマークが関係してログフィードで不具合(?)
- 2009年3月11日 09:57
- Last update: Mar 11, 2009 09:59
- MovableType | plugins

Movable TypeのシステムのログフィードをFirefoxに登録しているのですが、ライブブックマークを読み込めない状態がおこっていましたので原因を確かめてみました。
順を追って説明しますと。
- システムのログフィードが「ライブブックマークを読み込めませんでした」となっていた
- ログフィードを確認。謎の文字列が入っていて、ActionStreamsプラグインで、はてなブックマークでブックマークしたエントリに問題がある様子。
- 実際にエントリページを確認に行く。(はてなブックマーク - 新倉イワオ - Wikipedia)
- 概要の部分にエラーログの内容にある文字列が入っていることを確認。
- 当該のブックマークを削除してみる
- ログ自体に文字列が残っているために、フィードが正しく生成できていないようである
- ログフィードをCSVファイルに吐き出してから、リセットをおこなう。
- 正常の状態に戻る
原因がどこにあるのか特定しにくいというか、レアケースと思われるのでフィードバックはおこなってません。環境は、Movable Type Commercial version 4.24-ja +プラグイン1.0+audiofan.netさまにて公開されていたはてな用config.yamlです。
はてなブックマークのエントリページの問題と思われる箇所のキャプチャを示します。

ログをエクスポートしたCSVファイルから見たキャプチャは以下となっています。(ログインのユーザ名の部分は当方で修正)
ブックマークしたページがアノかただけに......というオチはないです。以上です。
- Comments
- TrackBack Closed
ブロックタグとファンクションタグと書式のこと
- 2009年3月 5日 10:39
- Last update: May 24, 2016 07:46
- MovableType

Movable Typeのテンプレートタグには「ブロックタグ」と「ファンクションタグ」があり、書式においてファンクションタグではブロックタグとの区別として$マークを使えることになっています。
この$の記述をブロックタグのときに使って、ファンクションタグのときは$を使わないとどうなるのかといいますと、テキトーですが以下のようなテンプレートで試してみます。
$がついたブロックタグでの出力
ブロックタグ、MTEntriesに$をつけた形のテンプレートです。(バージョン、4.24-en)
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>TEST MT tag</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link rel="start" href="./" />
<link rev="made" href="mailto:me@example.org" />
</head>
<body>
<table summary="Test of Movable Type template tag" border="1"><tbody>
<tr><th abbr="title">Entry Title</th><th abbr="link">Entry Permalink</th></tr>
<$mt:Entries lastn="10"$>
<tr><td><mt:EntryTitle remove_html="1"></td><td><mt:EntryPermaLink></td></tr>
</mt:Entries>
</tbody>
</table>
</body>
</html>
上に示したテンプレートにおいて、mt:Entriesの終了タグには$を付けずにおこなうとこのテンプレートは正常にビルドできました。
ではここで、終了タグに$を付けてみます
<$mt:Entries lastn="10"$>
do something...
<$/mt:Entries$>
Movable Typeのハイライト表示でみるとmt:Entriesの終了タグのハイライトが正常におこなわれてないことがわかるかと思います。それを再構築してみると「終了タグがない」と、エラー警告がでてしまいます。
One or more errors were found in this template.<mt:Entries>with no</mt:Entries>on line 18.
ということから、ブロックタグには$を使わないほうがよいということは明確でしょう。
自分ルールを決めておきたい
編集のときにMovable Typeの編集画面でのタグのハイライト表示を利用しない、というのもあるのですけれど、自分がテンプレート編集するときに、例えばXMLファイルですと、ブロックタグが他の要素と紛れてわかりにくかったり、<mt:~ />のような空要素タグのような書き方にしても、img要素の近くにこのように空要素タグの書きかたをしたテンプレートタグがいくつかでてくると見分けが付きにくのでないかという感じがします。
ですので、自分が編集していて見やすい書き方を決めておくというのも一つの方法ではないでしょうか。自分以外のひとでもテンプレート編集されるという場合も書式は統一しておいたほうがいいのかもしれません。
ファンクションタグについては、Movable Type テンプレートタグの種類と働き(Movable Type 4 ドキュメント)にて、書式等の説明があります。
- Comments
- TrackBack Closed
メモ:MTEntryIDでpad=1として桁オーバーしたときの表示は?
- 2009年2月27日 22:14
- Last update: May 24, 2016 07:46
- MovableType | myown

テンプレートタグMTEntryIDでpad=の値を「1」としたとき、桁が6桁を超えた場合の表示がどうなるかやってみました。あくまでもネタなんですが。
MTEntryIDは主にアーカイブページなんかでエントリーへのリンクとして利用されるテンプレートタグですが、pad="1"を設定しているときは、常に6桁の表示となります。
桁数が足りないとき、0 で埋めて表示します。ID が 8 なら 0 を 5 つ追加し、000008 と表示されます。
で、IDが6桁を超えたとき表示はどうなるの?というギモンがおこり(謎)、実際に試してみる、てことにしました。
とはいえ、個人のユーザが6桁越え(削除等含め100万エントリ!!)のエントリを作成するのは現実的な数字ではありません。#なんか健全でない使い方のひとだとEntryID7桁以上を見れるような気が。なんとなく。
普通に記事書くくらいでは再現は無理ですので、データベースを書き換えてしまったほうが早いでしょう。あ・これは、ネタのためだけにおこなってるので(念の為)。
普通にテンプレートタグでEntryIDを出力させてもいいのですが、EntryIDを記事ファイル名にする、という使い方を想定して試してみるとします。
エントリーアーカイブのマッピングでカスタムを選択して以下のように設定しておきました。
%y/%m/<mt:EntryID pad="1">.html
phpMyAdminとかで、任意の記事のテーブル、`mt_entry`を操作してフィールド、entry_idの値を1000000にします。
で、管理ページのエントリーリストのところから、その記事だけをPublishにします。
その記事のURLを確かめてみますと。

・・・・・・って、0で埋められなくてそのまま表示されるだけでないすか。。というか普通に考えたらそうだよね。
- Comments
- TrackBack Closed
Select Export:指定した記事をエクスポート。(説明キャプチャなし)
- 2009年2月 8日 11:09
- Last update: Feb 10, 2009 08:16
- MovableType | plugins

Movable Typeにはブログ記事のエクスポート機能がありますが、特定の記事だけエクスポートするプラグインがSelective Exportです
Batch Publishing Optionsと同じく地味な部類に入りそうな(失礼。)プラグインなのですが、Selective Exportプラグインを使うと特定の記事のみエクスポートすることができるようになります。以下のページからダウンロードすることができます。
- Selective Export - Code Monkey Ramblings(codemonkeyramblings.com)
以下、バージョン1.0にもとづいて簡単ですが使い方メモです。
- ファイルを解凍してできたpluginsフォルダ内のSelectiveExportフォルダごとMTシステムのディレクトリのpluginsディレクトリにアップロード
- システムメニューのプラグイン一覧にSelect Exportがでていることを確認
- settingsのタブのところで設定する(具体的な設定は下に示します[説明↓])
- Save Changesボタンで設定完了
- 記事一覧や記事検索の結果一覧および各エントリの編集画面に、ドロップダウンメニューで(記事の)Exportが追加される
Selective Exportプラグインの設定について
- Location for exporting your selected exports
- エクスポートファイルの出力先のパスです。共用サーバの場合自分の領域に。
- Combine all of the exported entries into a single export file.
- 初期設定ではチェックオフで、エクスポートファイルは記事単位で個別に出力されます。チェックオンにすると、選択された記事が1ファイルにまとめて出力されます。
- Use the rich text editor for managing the look, linebreaks, etc.
- ラインブレイク(強制改行)オプションを反映させるかどうかの設定。リッチテキストを使うときに
追記:Selective Exportの間違いでした。修正しました
- Comments
- TrackBack Closed
今月のいらんことしい(2009年1月)
- 2009年1月28日 16:53
- Last update: Aug 06, 2009 09:12
- MTカスタマイズ | MovableType

今月(2009年1月)サイトやブログでカスタマイズしたものをまとめた記事です
今月は年始から多忙につき、あまりいじってなくて以下のとおりです。
- TagSupplementalsプラグイン、バージョンアップにつき0.20を導入した
- Actionstreamsのリンクの出力にrel="bookmark"
TagSupplementalsプラグインは、提供もとのOgawa::Memorandaより、バージョンアップされたとの記事があがっていました。
詳細とダウンロードは上記ページから。これまでのバージョンで4.2で動作していたのですが、4.2移行サポートということで導入することにしました。これまで使っていたTagSupplementals Plugin(.plファイル)を削除してから、解凍して作成されたフォルダ(TagSupplementals)ごとpluginsディレクトリにアップロードしました。
その後、記事ページのみ再構築を試して動作を確認。このときついでで関連記事をul liでマークアップするように変更しました。
何回かカスタマイズしてるActionStreamsプラグインですが、リンク出力を変えるのはどうやらconfig.yamlをいじる必要があるみたいでした。config.yamlファイルをいじるのはあまり好ましくはないのですが試験的にということで。config.yamlで使っているサービスの<a href="[_2]">[_3]</a>'と記述されているところにrel="bookmark"を追加しています。
これにより、先に書いた記事のhAtom.jsを使ったとき「Firefox でブックマークする」という動作を使うことができるようになります。
- Comments
- TrackBack Closed
Yahoo!検索カスタムサーチをvicunaに設置する練習。
- 2009年1月22日 09:10
- Last update: May 24, 2016 07:46
- MTカスタマイズ | MovableType

Yahoo!のカスタムサーチ検索窓をmt.Vicunaに設置するテストをやったことのメモです
作業メモ程度なので細かい部分は省略しています。あと、カスタム検索の仕様変更等で内容が当てはまらない部分がでてくることがあります。
1.カスタムサーチ窓の作成
カスタムサーチは、Yahoo! JAPANの検索を自分のサイトにあった検索窓を作成することができます。以下のページからYahoo!JAPANのIDを用意して作成します。
説明にしたがって作成していけば数分で検索窓設置用のコードが作成されます。検索窓の設定数の上限は5つで、今回用に新たに作成しました。幾つか種類があるのですが、ウォーターマークタイプを選択してみました。
2.コードのスタイルとJavaScriptを分離する
カスタムサーチの説明では、作成されたコードをそのまま貼り付けることで動作することになっていますが(コードを改変すると動作しなくなることがある、といった注意書きがあります)、スタイルシートの部分と検索フォームの部分とを分離させて作業することにしました。
スタイルシートの箇所は<style type="text/css">から</style>の間の部分でstyleタグを除いた部分を一旦コピーしてテキストエディタを起動させペーストしておきます。(すぐに作業するのであればファイル保存してなくてもおk)
JavaScriptの部分も同様にscriptタグを除いたJavaScriptのコードをコピーしてエディタに貼ります。
テンプレートの作成
はじめに環境を説明しておきますと、テンプレートはmt.Vicuna(2.2.0)、Vicunaのスキンはテンプレートセット同梱のSmart Canvas、Movable Typeは、MTOS version 4.23-en をInstaMTにておこなってます。
インデックステンプレートでJavaScriptの部分とCSSの部分のテンプレートを作成。MTLinkタグで楽をしたいだけなので、普通に.cssファイルと.jsファイルを作ってしまってもかまわないのですが。

フッターテンプレートにコードを貼り付ける
スタイルシートとJavaScriptを除いた部分、即ち先頭の<div id="srchBox">と<img src="" ... /></div>までのコードをフッターのテンプレートに貼り付けします。フッターにこだわる必要は特にないですが、ヘッダーから記事にかけての構造を崩したくなかったので。スタイルシートで画面上部にもっていくということで対応してみます。

JavaScriptの部分は、</body>の上付近に外部.jsファイルの読み込みを記述しておきます。
<script type="text/javascript" src="<MTlink template="インデックステンプレートでY!検索のJavaScriptのコードの部分を作成した時のテンプレート名">"></script>
スタイルシートの調節
ヘッダーのlink要素が入っているテンプレートモジュールに先に作成したCSSファイルを読み込むコードをうめておく必要があります。
<link rel="stylesheet" href="<$MTLink template="インデックステンプレートでY!検索のCSSのコードの部分を作成した時のテンプレート名"$>" type="text/css" />
カスタム検索のタイプにより調整箇所が異なったり、細かい部分が多いので詳しいことは省略しますが(というか今ココみたいな感じで調整中なので)、要は検索フォームの部分をposition: absoluteで上部にくるように調節します。
以下のような形になりました。

追記:2009/08/23 実際に設置されているカスタム検索窓は、このブログ上ではなく、サイトトップなどです。確認されたいかたは以下よりどうぞ。
- Comments
- TrackBack Closed
Powered by Movable TypeのリンクとCMS判断
- 2009年1月19日 08:30
- Last update: Jan 19, 2009 08:30
- MovableType | myown

Powered by Movable Typeというテキストリンクが張られていないサイトを自分がどのようにMovable Typeで構築されているというのを判断していのかを書きます
閲覧ページがどのようなCMSで構築されているか判定してくれるようなFirefoxアドオンがphpspot開発日記に紹介されていました。
アドオンについてはそういうのがあるのか、程度の感想だったんですけど、(自分が)閲覧するページでMovable Typeを使っていると思われるけどPowered by――のリンク(以下、この記事内で「リンクを張る」という表現は、「Powered by Movable Type」のテキストリンクのことを指すとします)がないサイトというのがたまにあったりします。
Movable Typeを使う際に規約というのがありまして、ECバイヤーズさんのところからダウンロードする前に読んだ(はず。)個人ライセンス・無償の「利用許諾契約書」の条項に以下のような記述があります。
第2条 【リンク】
あなたは、本Softwareによって生成された各サイトにおいてSix Apart の製品紹介サイトへ「Powered by Movable Type」のテキスト表示でリンクを張らなければなりません。但し、Six Apartが認める場合には、あなたは、リンクを張る必要はありません。
http://www.ecbuyers.com/b2c/catalog/images/campaign/six_apart/free_dl/free_dl_kiyaku.htmlより第2条【リンク】を抜粋
なお、上記ページは本来、ECバイヤーズのMovable Typeダウンロードページにおいてiframeにて差し込まれているページです。実際はページ内で特定のエリアをスクロールさせて読むことになるのですが、個人的に読みにくいということで当該ページのほうを示しました。
でもって、最後の文言にリンクを張らなくてもよいケースが示されていますので、張られていないサイトさまはそういった事情があるものと当方で勝手に判断するとしました。
さて、本題にまいりますが、そのようにリンクが張られていないサイトを自分がどうやってMovable Typeでないかとあたりをつけていたのか、といいますと。
- フィードのURLをブラウザで表示してソースを見る
この方法が割りとわかりがよかったようでした。「トラックバックURIをみる」とか、「サイト内検索のURI」をみるとか、というのんは環境変数で変えることができますし、METAタグのGENERATOR属性なんてのも自分で削除して使うコトは可能ですしね。フィードのテンプレートのほうはあまり弄られていないことが結構あったというところですか。
蛇足ながら、Movable Typeの情報をネットで調べるのに検索で「"Powered by Movable Type"」を含めて検索したらいいよ、とかいうのを昔読んだ書籍だったかに書かれてあったような。ま、「MT使ってます」を示していないサイトであればコンテンツはMT関連ではないと判断して終わり。というお話ではありました。
- Comments
- TrackBack Closed
MovableTypeテンプレートリファレンスへのリンクについての追記
- 2008年12月24日 09:38
- Last update: May 24, 2016 07:46
- MovableType

Movable Typeのタグリファレンスでわかりやすくなったほうのリンクの活用のために以前このブログで書いた記事の補足です
上に示しました記事において、テンプレートタグリファレンスリンクの紹介をさせていただきましたが、このリンクにつきまして、以下のようにしてみました。
- rel-tagを付与
- スタイルシートでタグであることを明示してみる
microformatsのrel-tagを使うとしたら、リファレンスへのパーマリンクよりも短縮された(便宜上での表現です)URIのほうが適しているようです。
あと、これは特にやっておくことではありませんが、文章中にタグとして埋め込んだということを少しわかりやすくするために、以下のようなスタイルを適用させてみました。
/* tags */
p > a[rel="tag"]:before {
content:url("タグを表す画像までのURL"); }
記事内でタグへのリンクにrel="tag"があるものに対してタグを表現した画像が前につくというものです。
見た感じではわかりにくいですが、以下の様な形になります。
*どちらもリンク先は同じですが、「タグ」についてみると、上のほうは「MTEntries」というタグ、下では「entries」というタグが対象となります。
- Comments
- TrackBack Closed
InstaMTで編集したテンプレートを任意のフォルダに
- 2008年12月10日 12:36
- Last update: May 24, 2016 07:46
- MovableType | mt4

InstaMTで編集しているテンプレートを特定のフォルダ内に収めて同期させるといった使い方についてです。
検索語から何かを勝手に読み取って答えるようなエントリ、みたいな企画を考えてまして。今回はその予行練習とでもいいましょうか、まぁそんな感じです。
検索されたワードは特に公開しないというお約束ですすめていこうと思います。
InstaMTに「このテンプレートにリンクするファイル」を設定してみる
さて、「あらかじめローカルで編集しテストをおこなったのち本番環境で使ってみる」、というようなとき一寸したものでしたら、InstaMTでも実現は可能です。
で、編集したテンプレートをバックアップ目的等でフォルダにまとめてローカルに保存したい、というようなときは「このテンプレートにリンクするファイル」(以下この記述を、「Link to File」とします)という機能をつかってみる、というのはどうでしょうか。
Link to Fileについては、「小粋空間」さまの以下の記事にて、その機能の詳細が説明されています。
こちらが特に説明することはないのですが、InstaMTにおいての設定は以下のようになります。
ローカルディスク(C:)直下にInstaMTをインストールしたとして、mtVicunaというフォルダにStylesheetテンプレートを「styles.mtml」というファイル名にて任意フォルダにリンクさせるという場合です。
Link to Fileの項目には以下のように記述して保存または再構築します。
C:\instamt\www\mtVicuna\styles.mtml
*パスが適正でないと、保存のときにエラー表示がでますのでご注意。保存がうまくいっているようならば、実際のフォルダを確認します。上の例ではmtVicunaフォルダ内にstyles.mtmlが入っているはずです。このファイルをテキストエディタ開いて直接編集してみます。そして、InstaMTを起動してテンプレートを見にいけばそのファイルを変更したテンプレートはその変更が反映されます。
ワタくシの環境で可能であったというものですので、その点はご承知おきください。あとInstaMTをUSBで使う場合は想定してません。
なお、InstaMTについては以下のページを参照します。
- Comments
- TrackBack Closed
情報が古くなった記事の管理とシークレットタグ
- 2008年12月 3日 14:06
- Last update: Dec 08, 2008 07:25
- MovableType

情報の古い記事をどう扱っていくのか、およびシークレットタグによる記事管理についてです
Open MagicVox.net (www.magicvox.net)さまのシークレットタグの使いドコロ~古い記事であることを示すという記事にシークレットタグを使った記事の管理方法などが紹介されています。
長い間,ブログを続けていると,様々な事情で記事内容が古くなってしまっていることがあります。例えば,プログラムのバージョンが変わったりするなどして,その紹介記事が現在のものと則さなくなってしまっているなどの理由です。そんな時にも,シークレット タグを上手く使って,古い記事の管理を簡単にすることができます。
シークレットタグの使いドコロ~古い記事であることを示す - Open MagicVox.net
人さまのサイトの運営方針などによる部分がありますので、おそらくはこれが正解という無二の答えのない問題なのですが、自分ならどうしようか、といったものを以下に記しておきます。
古い記事を示す文言について
やや本質から離れてしまいますが、常に情報は流れていくことですし、記事に記載されている情報が古くなることは当然のことのように思われます。
この記事は時間経過やプログラムのバージョンアップなどの諸々の事情によって,現状に正しくそぐわない内容になっている可能性があります。
そこで、ズルい方法ですが、上記の文言を少しオールマイティな言い回しにしておいて(ex.「本サイトに記載されている記事は作成時点に基づく内容であり、適用されない可能性があります。最新の情報を参照するようにしてください」といったもの)、ブログのサイドカラムやら、はたまたブログの説明の箇所あたりに常に表示させておくことで記事内容が古くなることに気をつかうことなくやっていけるのではないでしょうか。
ただし、この方法だと例外となる記事がでてくることもあります。例えば、小粋空間さんのところの、ダジャレ記事のような普遍的な内容の記事などです。
あと、古い記事に対し最新の情報を提供する方法として、古い記事にむけて新しい内容の記事をトラックバックさせておく、といった手法もわりと使われているようです。古い記事は編集する派(?)の自分としては、「どこがどういう理由で適用できなくなったのかの説明を入れてあげたい」、という思いがあるために記事は編集するという形にしています。
余談:Movable Typeの記事検索の挙動に関して、管理ページで記事検索をおこなって、結果が1つのみの場合は、エディットリンクが展開され、直接記事の編集画面へと遷移されるもよう。どのバージョンからそうなっていたのかは不明ですが。
シークレットタグによる管理と記事編集について
ところで、Movable Typeでは、一旦公開された記事は公開の状態を設定(未公開・日時指定)できるものの、「後で編集する予定のある」ことを記事にマークしておくものがありません。(もしかして......プラグインとかあるのかな?)
そこで、編集することの多い記事やあとから編集する予定のある記事にはシークレットタグを付与して管理するというのはアリかと思いました。
例えば、編集予定のあるような記事に@flagといったタグをつけておいて、メニューの「一覧」>「タグ」とすれば記事一覧のなかに@flagのついたものも表示されますから、そこから当該記事を編集するといった管理ができるというわけです。
- Comments
- TrackBack Closed
[MT]テンプレートタグリファレンスへのリンクを張りやすく
- 2008年9月 6日 00:44
- Last update: May 24, 2016 07:46
- MovableType

Movable TypeのタグリファレンスのURLがわかりやすい形になったようです。ということで、ブログ記事編集画面からでもタグリファレンスへのリンクを簡単に貼れる様にCustom Editor Buttonプラグイン用のボタンを作ってみました
タグリファレンスのリンクについては、MovableType.jpで以下のように説明があります。
URL の https://www.movabletype.jp/tags/ までは共通ですが、そのあとのタグ名は、頭の MT が抜けても、mt: という表記でも、全体が大文字でも小文字でも、それらが混ざっても、そのタグがあればリファレンスページに移動できます。
わかりやすい URL でタグリファレンスを参照できるようになりました
ということで、CustomEditorButton2 (blog.aklaswad.com)用にボタンを作ってみたり。
バージョン0.3で動作確認はFirefox3.0でしかおこなってません。config.yamlに書くソースは特に面倒なことはしてなくこんな感じで
buttons:
tagreflink:
image: images/tagref_link.png
title: TagReference
code: |
function ceb_tagreflink ( text ) {
var mttag = var mttag = text.replace(/^mt\:?/,"").toLowerCase();
return '<a rel="tag" href="https://www.movabletype.jp/tags/' + text + '">' + text + '</a>';
}
あまり需要はなさそうですけど、リファレンスページへ確認にいかなくてもリンク張れたりするのがいいかなといったところです(スペルミスには注意ですが)。
一応、Firefoxアドオン、Make Link用にも書いていてこんなです。リファレンスページから簡略化されたリンクに直したいようなときに
- 名前:
- MTTagReference
- フォーマット:
- <a href="https://www.movabletype.jp/tag/%text%">%text%</a>
- HTMLエンティティを使用する:
- チェックせず
テストとして、タグリファレンスへのリンクを貼ってみます。
MovableType.jpの記事に書かれていますが、初めのhttps://www.movabletype.jp/tags/まで共通、以下テンプレートタグが入っていたときに当該のリファレンスページが表示されるとのことです。あと、Open Search プラグインもアップデートと併記されていますね。
たまにテンプレートタグ検索を選択しているのを忘れてて普段ののキーワード検索をそのままやってしまうはおそらく私です。
【追記:2008/09/07】使っているボタン画像だけ置いておきます。config.yamlのソースは既存のものに追加するなどして使います。
追記:2013/04/18 URLの戻り値をmt接頭辞なしに合わせるようにしました。
- Comments
- TrackBack Closed
MT4.1xからMT4.21にアップグレード完了
- 2008年8月25日 08:06
- Last update: Aug 25, 2008 08:06
- MovableType | mt4

使っているMovable TypeのバージョンをMT4.21にアップグレードしました。
シックスアパート(SixApart)よりMovable Type4.21出荷とのアナウンスがありました。
というわけで、バージョンを4.21にすることにしました。ダウンロードはECバイヤーズにて、コミュニティ管理機能を持たない、Movable Type Commercial 4.21のほうでダウンロードしました。
購入等についてはシックスアパートの以下のページを参照
メモのようなもの
データバックアップ等済ませたあとに、MT4.21をアップロード。アップロードには、zipファイルをサーバ上で解凍する- あにめはっく.jpにて、zipファイルでサーバ側で解凍できるとのことなので参考にしましてSSH接続を使ってやってみましたらうまくできてアップロードの時間は短縮することが出来ました。#情報thanks
解凍後、これまでのプラグインの引継ぎ作業、今までのmtconfig.cgiをアップ。準備が整ったら、旧バージョンのディレクトリ名を変更しておき、新しいほうのディレクトリをこれまでのものに変えるとここまでは解説どおりに。あとは、MTシステムにログインしてみるとアップグレード作業が進むという感じです。
ActionStreams入れてる人は、プラグインのアップのとき、extlibのフォルダのアップを忘れてると、アップグレードの作業の開始早々に止るのでご注意。
このおかげでいきなりやっちまっただー><になってしまいました。単にプラグインを入れたときの事思い出したらなんでもないことなんですけどね。
あと、感想として、カスタムフィールド使ってるためなのかわからないけど、データベースの更新のあたりが4.1にあげたときよりちょっと長い感じはしました。
#アップグレード完了とはいえ、あちこち微調整が残っていたりというのが現在の状況です。テンプレートの修正などは日を改めて。
- Comments
- TrackBack Closed
InstaMTで4.2使ってみた
- 2008年8月16日 19:35
- Last update: May 24, 2016 07:46
- MovableType | mt4

ローカルで簡単にMovable Typeが動作するデモ環境を構築する、InstaMTでバージョン4.2を動かしてみました
ダウンロードとインストール
InstaMTのダウンロード・インストールの説明はwww.movabletype.jpの以下のページに記載されています。
MTOS4.2をwww.movabletype.orgからダウンロードします。
4.2へのアップグレード
MT4.2へのアップグレードの具体的な方法が、The blog of H.Fujimotoさまにて紹介されています。
手順のとおり、必要なフォルダを上書きし、[ mt-static ]フォルダは、[ www ]フォルダ内のmt-staticに上書しました。
ログインすると、ウィザードが起動してアップグレードがおこなわれました。
尚、当方アップグレード前にログインしてInstaMT同梱のMTOS4.1テンプレートでブログを構築していましたので、テンプレートの編集のところでRefresh Blog Templateをおこないリビルドしたら、MT4.2のほうのテンプレートが反映されました。
mt.Vicunaとか
あと、mt.VicunaのテンプレートセットもInstaMT環境で使えるようでした。
MTOS4.2ですと、デフォルトでウィジェットセットがセットされてないようなので、空のwidgets.cfgを作らなくてもそのままRefresh Blog Templatesからインストールできました。フォルダを入れる場所は、Vicunaの説明のとおりで、pluginsフォルダはinstamt/cgi-bin/mt/plugins/に、Vicunaのテーマは、instamt/www/mt-static/themesに入れました。
【追記:2009/1/22】 movabletype.orgのほうで4.23をダウンロードできるようになってましたので書いておきます。4.23の場合でも先述の方法と同様でフォルダの差し替えをするだけです。ログインしようとしたときに、アップデートが開始されます。4.23よりプラグインとしてTypePad AntiSpamが同梱されてますが、使うことのなさそうなプラグインを無効にしておきます。
- Comments
- TrackBack Closed
セキュリティアップデートとMovable Type 4.2 RC5の提供始まる
- 2008年8月 7日 18:52
- Last update: May 24, 2016 07:46
- MovableType

Six Apart(シックスアパート)が、Movable Type 4.2 RC5およびセキュリティアップデートを開始とのことです。
Six Apart - Movable Type News: [重要] Movable Type 4.2 RC5 とセキュリティアップデートの提供を開始より
Movable Type においてクロスサイトスクリプティングによる脆弱性が確認されました。この問題に対処するため、Movable Type の修正バージョンを公開いたします。脆弱性の修正バージョンとなりますので、対応するバージョンへのアップデートを 強く推奨 いたします。
ということで、セキュリティアップデートをおこなってみました(*ホットリリース)。アップデート後のMTのバージョンですが、MT4.1ですと4.14となっています(対応表が示されていますのでそれに従って利用中のバージョンにあったものを選択します)。
なお、後日正式なアップデートとしてリリースされるようでして、「ホットリリースへのアップデート後、テスト完了版が公開された際には、再度のアップデートをお願いいたします。
」との説明があります。
【追記】
正式版の提供を開始されたとのこと。
Movable Type 4.2 RC5 とセキュリティアップデートは以下より提供されています。(正式版提供されましたので上記のリンクを参照ください。)
- Comments
- TrackBack Closed
記事ページに新着記事を表示することについて
- 2008年8月 3日 22:51
- Last update: May 01, 2012 21:06
- MovableType | myown

今さらなのですが、個別記事のところのサイドバー等に最新記事リストを表示させることについて自分なりの考えとかまとめてみます
以前、INSTINCのおもちゃ箱のmonbikkeさんの「INSTINCのおもちゃ箱 - 「最近の記事」リストはいるか?」というエントリにてコメントさせていただいたかと思ったんですが、名無しさんになっているので、自分のコメントかどうか確認できないけど、monbikkeさんがレスしているところをみるとコメントしていた模様。
今頃になってなんですが、この件について少し考えなどをこの記事にて述べてみたいと思います。
最近書いたことを辿るような重要な事を書いていない
これは訪問者の立場でみていくと、記事の重要度はひとによって違うようなきがするんですね。自分の書く記事すべてが重要でもないと思っていても、もしかしたら、ほかのひとには何か役に立つとか心にとまるところがあるとかはあるのでないかなー、と考えてます(#とかいって自分のとこは棚にあげておくとします)。記事内容を重視するのならば、特定カテゴリに絞った新着記事を表示みたいにするのがいいのかも。
カテゴリーを多く設けたので万が一何か探す時もこれでよかろうかと
カテゴリ分けはどのブログでもおこなわれていることですし、新着一覧よりはカテゴリ一覧のほうが利用価値はありそう。探すことに関していうと、一応、動作が遅いとかいわれていたりしますがMovable Typeの検索を利用するという手もあります。タグを設けて絞り込むということも出来ますね。コメントに書いたかどうか忘れたのですが、記事の関連記事を設けていると当該記事以外のページにも興味のある方は読んでいただけるのでないかと思います。#このあたり運営方針と絡んでくる箇所ですけど。
あとmonbikkeさんの挙げた新着記事を表示させていない理由のほかに、リビルドに関しての問題もあるのでないかと思います。
ダイナミックパブリッシングは別として、新着記事リストをモジュールとして取り込んだ場合、過去記事にはその時点での新着記事になるので、過去記事において常に最新記事を表示させるためには、「サーバサイドインクルード」による表示をおこなう必要がでてくるわけです。このあたりについては以下のエントリなどが参考になります。
- MT4.1以下で実現するサーバー・サイド・インクルード[to-R]
- http://bizcaz.com/archives/2008/08/03-000022.php Movable Type 備忘録 - Movable Type 4.2 のキャッシュとサーバサイドインクルードについ
- 複雑なキャッシュとその効果 - The blog of H.Fujimoto
記事ページで新着記事表示している理由
理由の前に、いるか・いらないか、の2択でしたら、まず「いらない」と答えておきます。それでも表示しているその主たる理由は以下のようになります。
- このブログがアクティブなブログかどうかを判断する材料のひとつとするため
訪問者が見たブログをアクティブかどうか気にするものなのかもわからないんですけど(links for~ とか~(BlogPet)みたいな自動投稿の記事が新着記事リストに並んでるのを見たら、アクティブなブログってあまり感じないのではないかと)。あまり無いとは思いますが、アクティブなブログということで継続して購読されるかたがもしかしたらいらっしゃるのではないかと。これはどうでも必要という積極的な理由ではないんですけどね。
- Comments
- TrackBack Closed
検索結果フィードのページを検索エンジンへの登録拒否
- 2008年7月18日 11:56
- Last update: May 23, 2016 08:34
- MovableType

検索エンジンがMTの検索結果ページで出力される、検索結果フィードをクロールしていたようです。その際にMTのシステムログに記録されてしまうのでちょっと対策してみました
Movable Typeのシステムログをみたところ、検索のところにいくつか同一IPのものが並んでいました。そこまでは、よくあることなんですが。
上のキャプチャ画像のアクセスはIPを調べた結果(というよりは、サーバの生ログからたどったのが実際なんですけど)、Yahoo!の検索ロボットであるということがわかりました。
MTのシステムログでは、「検索」という文字があるだけで実際のページのURIが示されていないものですから、実際の検索結果のページがタグ検索なのか、キーワード検索かといった区別が見た感じではわかりにくいです。そこで、サーバのログを使いまして同じIPのアクセスを調べたわけです
結果として、Yahoo!によるもので、URIは例えばpluginというタグをつけたページの検索結果ページで出力されているような場合、
/mt/mt-search.cgi?tag=plugin&Template=feed&IncludeBlogs=1
といったページをクロールしていたもようです。どのようなページかというと、タグ検索の結果をフィードで出力するページです。タグ検索結果のページで、link要素に記述されているURIです。
さて、検索ロボットのアクセスが毎回システムログにあがるのは、ちょっとうっとうしい感じ。なのでこの際、MTの検索結果ページそのものが検索エンジンに登録されないように調整してみることにしました。
robots.txtに以下のような記述でちょっと様子見ということにしています。
User-agent: Slurp Disallow: /*mt-search.cgi
[追記 2008/07/30] msnbot-mediaも巡回するっぽいです。
[28/Jul/2008:00:13:50 +0900] "GET /mt/mt-search.cgi?tag=driver&Template=feed& IncludeBlogs=1 HTTP/1.0" 200 1958 "-" "msnbot-media/1.0 (+http://search.msn.com /msnbot.htm)"
- Comments
- TrackBack Closed
「続きを読む」リンクで思っていること
- 2008年5月24日 11:00
- Last update: Sep 21, 2008 16:37
- MovableType | net

ブログなどでよくある、続きを読ませるためのリンク。たまに煩わしさを感じるのですが、閲覧する側からみるとどうなのかと考えてみました
続きを読むリンクは必要?
人力検索はてなのアンケートに以下のようなものがありました。
再アンケートです。
ブログでよくある「続きを読む」のリンク。
トップページをすっきりさせるという意味ではいいと思いますが、クリックが増えるので煩わしく感じることもあります。
ただ、「続きが読む」がない場合はスクロールし続ければ全部読めますが縦に長くなってしまいます。
「続きを読むためのリンクがあったほうがよい」という考えのかたは少なめのよようで、「記事が長い場合にあったほうがよい」という考えの方が多いという結果のようです。
はてなユーザの層とかあるのでこれだけで判断できるものでもないですけどね。
個人的には、ページが縦長になることへはそれほど煩わしさを感じませんから、極力続きを読ませるためのリンクは使わないほうがいい、という考えを持っています。
縦に長くなっても構わないよ、というのはキー操作の部分でカバーできることによります。例えば、PageUP/PageDownキーとかスペースバーによるページスクロール、マウスでもページスクロールをボタンに適用できる機能を備えたものもあります。
記事ページが長い場合にあったほうがいい、という意見には、それは仕方ないかなと思うけれども、それならば記事を分割させてもいいのではと思います。ただIT関連のニュースサイト系に多い、無駄にページ分割が多いというのもちょっと困りますが。
続きのためのエントリ?
話は変わりますが、ワタくシがBloglinesに登録してるフィードのなかで、このようなものがあります。
タイトルとリンクのみが配信されていて、リンクをクリックすると、情報のサマリー。全文を読むには、全文を読むためのリンクをクリックしないといけない(しかも内容はどこぞのサイトの転載記事だったり)。
この場合に、中間にある、記事のサマリーが掲載されているページが閲覧者にとっての余分なページのように思います。せっかくのフィードですのでせめてサマリーくらいは配信してもいいのではないか、と思うのあります。
ところで、Movable Typeでは、記事本文を表示させるためのテンプレートタグと追記部分を表示させるためのテンプレートタグがそれぞれ用意されています。
<MTEntryBody>タグと<MTEntryMore>タグなどがそうです。
MTEntryMoreは追記のために使われているかと思うと、ひとによっては、本文のところがサマリー、内容全体が追記(EntryMore)のような使われかたをされているケースは結構あります。
これは、アーカイブページや、メインインデックスページなどのエントリが羅列されるページにおいて、ページの量を抑えると意味で、記事のサマリーを表示させているのではないかなと思います。
アーカイブページで全文が載ってしまうと縦長になるという問題は、アーカイブページのページ分割をおこなうとか、サマリーを載せるのにMTEntryExcerptを使うというやりかたで解決できそうではあります。
あと、個別記事ページにおいて、追記部分を折りたたむ形にするというカスタマイズが紹介されていたりするんですが、何故にこのようなものが需要があるのか不思議に思っています。例えばです。追記部分に重要な内容がある場合だとします。このようなとき、はじめから隠された状態よりも寧ろページが表示されたときにわかりやすい箇所に明示されているほうが親切なのではないでしょうか。
で、結局どうするか
MT4になってから、本文と追記はタブ切り替え式で縦方向のサイズは可変となってます。前は本文のテキストエリアが狭く、追記のほうが広くとられていたので、追記のほうがメインで書くべきなのかなとは思っていました。
ということで記事内容によっては追記エントリもありとするのですが、ひとつの記事は1ページ完結になるようにMTEntryBodyでおさめられたらいいのでないかなと。その前になるべく簡潔に記事を書く能力を養わないとですが><
【追記:2008/09/21】 Open MagicVox.netさまが、関連エントリをアップしてくださいました。
- Comments
- TrackBack Closed
ActionStreamでFlickrの登録のIDについて
- 2008年5月 3日 17:37
- Last update: May 03, 2008 17:41
- MovableType | net

ActionStreamの登録するサービスのうち、Flickrがあるんですけど、アカウントの表示名で登録して、Flickr側でURLを設定してないと、プロフィールページが見つからなくなるようです
いつの間にか影をひそめた感のある、「ActionStreamsプラグイン」なのですけど、今日たまたまきづたので修正をおこないました。
ActionStreamsを使っていないかたはわかりにくいかとおもうんですが、ActionStreamsプラグインには、「Find Me Elsewhere」といって、登録しているサービス群をリストアップするwidgetsがあります。
この出力で、Flickrに登録する際、FlickrのIDを表示名(screen name)に(自分のでいうとmaRkdesuですが)してしまいますと、
- http://flickr.com/photos/<表示名(screen name)>/
のようになってしまいます。Flickr側のYour account(http://flickr.com/account/)で、Your Flickr web addresses の設定をせずに@つきのままつかっていますと、リンク先(=profileおよびphotostream)がPage Not foundになってしまいます。
ワタくシは、一旦登録済みのFlickrをMTのプロフィール設定の「Other Profiles」のところより削除して、あらたに、@つきのアカウントにて登録しなおしをしました。
Flickr側にてURLを設定された場合にどういった挙動になるのか、試してませんのでわかりません。ちなみに、表示名にて登録していても、ちゃんとFlickrの投稿は拾ってくれておりました。
#でもよくみたら、Flickrを登録する時点で説明に、「For example: 36381329@N00」と書いてありました。調子に乗って登録しまくったので見落としてしまったかも。
- Comments
- TrackBack Closed
フィード配信しない内容をカスタムフィールドにて
- 2008年4月 6日 14:34
- Last update: May 24, 2016 07:46
- MTカスタムフィールド | MovableType

MT4.1のカスタムフィールドで生成されるタグを記述しないとカスタムフィールドの内容は表示されません。このことから、カスタムフィールド内にフィード配信しないコンテンツを含めて利用しよう、という使い方です。
W3CのFeed Validation Service を利用して、フィードチェックをすると、フィードの要素内に、scriptタグが含まれてると、以下のような警告が出ます。
element should not contain script tag
この警告についての説明ページをみますと、
http://validator.w3.org/feed/docs/warning/SecurityRisk.html より引用
Some feed elements are allowed to contain HTML.However, some HTML tags, like script, are potentially dangerous and could cause unwanted side effects in browser-based news aggregators.For this reason, these potentially dangerous tags are often stripped out on the client side.
JavaScriptのように危険なコードが含まれる可能性のあるタグは、クライアント側で除去されることがありますよ。といったところでしょうか。
例えば、ブログパーツを記事で紹介するようなとき記事内に公開されているソースコードを埋めたいようなことがあります。
ところが、記事本文内にscriptタグで埋め込みますと、Feed Validation Serviceで上記の警告がでてしまいます。
これを回避するのに、feedのテンプレートで、MTEntryExcerptは配信しないようにして、追記部分にソースコードを埋め込む、というのを以前やっていたことがありました。
そのほかには、フィードを概要配信に変えてしまうという手もあります。
この辺のお話は、WingMemoさまの記事、「RSSを配信するということ(2)」が参考になると思います。
ただこれらの方法ですと、全文配信派(この場合、読み手の立場からになるのか?)なひとからすると、一寸不満な部分はあると思います。
そのような場面で、カスタムフィールドを使うというのを考えました。
カスタムフィールドの説明などは、www.movabletype.jpのドキュメントにあるとおりなので、細かな説明は省略します。
冒頭に書いたとおりですが、カスタムフィールドを作成して生成されたタグをページに埋め込まないことには、カスタムフィールドの内容は表示されません。
記事ページ用のカスタムフィールドとして登録しておき、フィードのテンプレートはそのまま何も手を加えなければ、フィードでJavaScriptコードは出力されなくなるというわけです。
以上はカスタムフィールドを利用したほんの一例でしかありません。サイトの運営方針などもありますし。JavaScriptの動作確認をするのなら、テストページを作成して記事内でリンクの形のほうがいいのかも知れません。
おまけですが、例えば、なぞかけエントリなどで、「そのこころは」の部分をカスタムフィールドでといった使い方も考えられるでしょうね(これだけのために使うというのもアレなのでようせんけど)。
- Comments
- TrackBack Closed
RSS:あえて改行しないという選択
- 2008年3月28日 08:34
- Last update: Mar 28, 2008 08:35
- MovableType

RSSフィードの配信で、改行されていると確かに読み手にとって読みやすいです。ですが、改行せずに配信しても問題ないのではないかと思いました。
ほとんどネタっぽいのですが、その理由としてはこうです。
- 体裁がよくないために、購読者をサイトに誘導することができる(かも)から
- Movable TypeのRSS(2.0)で、記事部分(CDATAセクション)はdescription要素なので(あくまでも?)
- Comments
- TrackBack Closed
ウェブページで特定のフォルダのトップページを作成してみる
- 2008年3月 8日 15:13
- Last update: May 24, 2016 07:46
- MTカスタマイズ | MovableType | mt4

MT4では、ウェブページを管理することができるようになりましたが、作成したウェブページを特定のフォルダで管理する場合に、そのフォルダのトップページとして、フォルダ一覧のページがあればいいかなと思い作成してみることにしました
追記: このページでは、Movable Type バージョン 4.x においてのフォルダ管理に関してを記しているものです。
MT4で、ウェブページは、特にアーカイブマッピングで指定しない場合、ブログトップページのディレクトリ配下にウェブページが出来ます。
MT4では、フォルダ管理機能があります。フォルダを作成してウェブページを整理していくことも可能なわけです。
このように、フォルダごとでウェブページを管理していく場合に、作成したフォルダのトップページ(例えばindex.html)があって、フォルダ内の一覧を出力してあるようなものがあったらいいかと考えました。
おおまかな手順メモとして示します
フォルダを管理してみる
メニューの [一覧] > [フォルダ] で、フォルダ管理画面になります
例えば、「web」という名前のフォルダを作成したいとき、「トップレベルフォルダを作成」をクリックします。 表示する名前にwebと入力して、「新規作成」をクリックで、<$MTBlogURL$>配下にwebディレクトリが作成されます。
フォルダの編集については以下のドキュメントを参照します。
*フォルダ名は「英語で表記することをお奨めします」とのことなので、この点に注意する必要があります
実際にウェブページでフォルダを指定して使うには、ブログ公開の[フォルダの変更](MT4.1で右ペインにあります)をクリックして表示されている任意のフォルダ名のラジオボタンをチェックします
フォルダトップページをインデックステンプレートで作る
ここでは、webという名のフォルダを作ってあるという例で/web/index.htmlというインデックステンプレートを作成することを説明していきます
インデックステンプレートを新規作成します。設定等はこのような感じです
- テンプレート名
- webのインデックス*1
- テンプレートの種類
- カスタムインデックステンプレート
- 再構築オプション
- 任意で設定*2
*1 何でもいいです。 *2 ワタくシはウェブページを作成後に手動でこのテンプレートを再構築するようにするので、インデックステンプレート再構築と同時に再構築しないようにしています。この辺はサイトの運営方法など絡んでくるかと思います
テンプレートの中身をつくる
基本的に、ウェブページアーカイブのテンプレートを丸ごとコピーして貼り付けです。
部分的な修正箇所は、ページタイトルなど、SetVarにタイトル名など指定してあるものを適切な値が得られるように変更します。
ページのコンテンツには、webフォルダ内のウェブページ一覧を示すための記述をいれておきます。例として、以下のようなものです
<MTPages folder="web" lastn="99"> <h2><a href="<$MTPagePermalink$>"><$MTPageTitle$></a></h2> </MTPages>
folderモディファイアで任意のフォルダを指定します(ここではweb)。 lastn="n" は少なくとも、現在作成してあるウェブページの総ページ数以上は指定することになります。
<MTPages folder="web" lastn="99"> <MTPagesHeader><ul></MTPagesHeader> <li><a href="<$MTPagePermalink$>"><$MTPageTitle$></a></li> <MTPagesFooter></ul></MTPagesFooter> </MTPages>
MTPagesHeader、MTPagesFooterが最初と最後に実行させるためのテンプレートタグです。
作成できたら、リビルドして作業完了です。
作成したページの例
[ 追記:2008年9月15日 ] The blog of H.Fujimotoさまにて、WriteToFileプラグインを利用したフォルダアーカイブページの作成方法が紹介されています。興味のある方は参考にされるとよいでしょう。
- 今回利用したテンプレートタグ
- Comments
- TrackBack Closed
ログフィード取得でスケジュール処理可能に
- 2008年3月 7日 00:50
- Last update: May 24, 2016 07:46
- MovableType

Movable Typeでは、run-periodic-tasksスクリプトを実行することで、スケジュール処理が可能なのですが、MTのログフィードを取得することで、同様の処理がなされるそうです
密かに(?)Action Streamプラグインを仕込んでおりました。設定そのものはできていましたが、登録したものが更新されてなくて、やっぱりcronの設定しないとだめなのか、と思っていたんです(利用しているサーバでcronは許可されています。負荷等を考慮して使わないようにしていただけですが)。なんとcronの設定しなくても、タスク処理ができるのだそうです。
MovableType.jpブログの「ログフィードの取得によるスケジュール処理の実行」より引用
Action Streams を常に最新の状態に保つには、Movable Type のアプリケーションディレクトリ (通常 mt.cgi のあるディレクトリ) にある tool ディレクトリに格納された run-periodic-task スクリプトを cron などを使用して定期的に実行する他、Movable Type のログフィードをフィードリーダなどで Subscribe (購読) しておき、そのフィードの取得時にスケジュール処理を実行するなどの方法があります。
システムメニュー > ログ >ログフィードのリンクを購読 ということです。これで、フィードが読まれたとき、Action Streamsが最新の情報となるんだそうです。
ログフィードをブラウザで読み込んでから、上の、「こんにちはxxxxxさん」のリンクから、プロフィール管理のページでAction Streamsをみましたところ、最新の状態となっているのを確認できました。
こんな方法があるとは、さすがにわからなかったです。これならば、cronが使えないサーバでも使えますね。とてもナイスな情報でした。
4.2のかたは。。ログフィード取得のみではテンプレートの再構築ができませんので、以下のドキュメンテーションを参考にCronの設定等をする必要があります。
- Comments
- TrackBack Closed
MT4のリッチテキストフォーマットとリストボタン
- 2008年3月 4日 21:51
- Last update: Jan 12, 2015 17:45
- MovableType

MT4のリッチテキストフォーマットで、箇条書きボタンをつかったときの動作およびマークアップについて確かめてみました
MT4にリスト要素のための入力補助ボタンがあります。いまひとつ使い方とか動作がよくわからなかったため、いろいろといじってみることにしました。
リッチテキストフォーマットでの操作について
リッチテキストフォーマットには、HTMLをがディスプレイで見た状態に表示する、WYSIWYGモードと、HTMLタグつきで表示されるHTMLモードとあります。
WYSIWYGモードのとき、箇条書きリストボタンを押下し、リストの内容を入力していき、改行により、リストマークで区切られるようになります。
リストを入れ子にしてみる
さて、リストを入れ子で使うときもあります。この場合、WYSIWYGモードですと、Tabキーをおすとインデントになるようでした。
ところがです、この状態から、HTMLモードにしてソースを眺めると少し気になることがありました。以下のようなソースでした。
<ul><li>りんご</li><li>みかん</li><ul><li>バナナ<br /></li></ul></ul>
このリスト要素の構造、本来ならば、期待されるソースは以下のようものではないかと思います。ブラウザでは、上記のマークアップでも、入れ子の表示になってはくれますが。
<ul><li>りんご</li><li>みかん<ul><li>バナナ</li></ul></li></ul>
フォーマットなしの場合でやってみる
さて、フォーマットなしの場合(または、リッチテキストでHTMLモード)ですが、箇条書きボタンを押すのは、先にリストを書き上げて、それに対して選択してから、箇条書きリストボタンを押すことで、リスト表示のマークアップになるようです。
因みに何も入力せずに箇条書きボタンを押すと、ul,li要素の組がそのまま入力されます。li要素のインデントには、タブ文字が使われているようです。
で、先に示したような、入れ子にするときですが、例のように、「みかん」の子要素にバナナを入れる場合、「みかん」の後ろにカーソルをもっていき、バナナと打って選択状態にしてから、箇条書きボタンを押すと以下のような状態になります。ちょっと、見た目が変な整形ですが、一応入れ子の形は出来ているかと思います。
- Comments
- TrackBack Closed
ブログのテンプレート初期化とAtomフィードのid要素
- 2008年2月18日 12:09
- Last update: May 24, 2016 07:46
- MovableType

ブログのテンプレートをプラグインを利用して、初期化したときのAtomフィードのid要素を眺めていますと、初期化した日にちがid要素の内容に入っていたようです
Movable TypeのAtomフィードのid要素については、以前 Movable Type 3.x デフォルト・テンプレートのAtomフィードの不具合について にてアナウンスされ、drry+@-> さまのMovable Type のデフォルト Atom フィードテンプレートを駄目出しというエントリで詳しく解説されておりました。
で、MT4では、このid要素は、テンプレート作成日が反映されるようになっています。以下がデフォルトテンプレートからid要素の箇所を抜粋したソースです
<id>tag:<$MTBlogHost exclude_port="1" encode_xml="1"$>,<$MTTemplateCreatedOn format="%Y-%m-%d"$>:<$MTBlogRelativeURL encode_xml="1"$>/<$MTBlogID$></id>
実際のこのブログのAtomフィードで出力されたid要素はこのようなものでした。
<id>tag:www.markdiary.com,2008-02-02:/blog//1</id>
ここで、先般このブログでテンプレートを初期化させたのですが、(idが)そのときの日にちになっているのではないかということに気づいたのです。
これはどういうことかというと、テンプレート初期化で、Atomフィードがこれまでのものと入れ換わり、新たに作成されたということで、id要素が書き換わったということなのではないでしょうか。
テンプレート初期化のたびに、id要素が書き換わるということになると、先に紹介しました不具合につながらないかという疑問が。
これがこれまでのidと同一のidにするためには、あらかじめ差し替え予定のatom.mtmlだけ編集してid要素(/feed/id)の<$MTTemplateCreatedOn format="%Y-%m-%d"$>を今まで出力されていたものに(この場合だと、「2008-02-02」)直書きにしてからテンプレートセットプラグインのディレクトリにアップしたらどうなのだろうかと思った次第。
テンプレートタグ: MTTemplateCreatedOn
- Comments
- TrackBack Closed
memo:コメントRSSについて
- 2008年2月13日 17:28
- Last update: Jan 12, 2015 16:43
- MTカスタマイズ | MovableType

コメントのRSSを生成するテンプレートを紹介されているサイトさまをメモしてみました。
ところどころで見られる、コメントRSSなんですが(WordPressとかでよくみるような気が)、ものは試しというか、作ってみることに。過去にMTでコメントのRSSの作成方法を紹介されているサイトさまがいくつかみられましたので、当エントリにてメモという形とさせていただきます。
- コメントRSSの設定とエントリー評価の仕組みを導入(Movable Type) (smashmedia)
- Modern Syntax : MTのコメントをRSS化
- 小粋空間: Movable Type でコメント用 RSS フィードを出力する
以上は、RSS2.0で作られた場合のテンプレートです。
RSS1.0 で RDFファイルにて生成される方法を紹介されているサイトさまはこちら。
フィードの配信でRSSのバージョンはどちらでも構わないと思います。
で、ワタくシの場合は、RSS1.0のほうでやってみました。拙作のテンプレートは以下。上記のサイトさまとほとんど変わりがないというか、MT3のときにあったrdfファイルをベースにしたようなものなので。。。好みのものをお使いになったらいいのではないでしょうか。
- Comments
- TrackBack Closed
MT4.1:カスタムフィールドを追加してみる
- 2008年2月 4日 17:07
- Last update: May 24, 2016 07:46
- MTカスタマイズ | MovableType

MovableType4.1で追加された、カスタムフィールドの機能を試してみました。
カスタムフィールドは、独自の入力項目を各管画面に追加できる機能です。
参考にしたのは、Movable Type 4.1 カスタムフィールドの使用方法 :小粋空間です。
詳細にわたり解説されていますので、とてもわかりやすいです。
ここでは例に倣いまして、参考リンクのフィールドを追加してみました。
名前変えただけなんですが、このような感じです。
- システムオブジェクト
- ブログ記事
- 名前
- 参考リンク
- 説明
- エントリ内で参考にしたサイトのリンクを入力
- 種類
- テキスト(複数行)
- テンプレートタグ
- feferencelinks
ブログ記事の詳細のテンプレートモジュールに以下のように追記してリビルドして完了です。一応、Vicunaテンプレートにあわせクラス名などつけています。
<MTIfNonEmpty tag="ReferenceLinks">
<div class="textBody">
<dl>
<dt>参考リンク:</dt>
<dd><MTReferenceLinks></dd>
</dl>
</div>
</MTIfNonEmpty>
カスタムフィールドの内容のバックアップについては、MT4ドキュメントの
カスタムフィールドを使用する
によりますと、ブログの完全バックアップと、バックアップしたブログの復元を利用するみたいです。
カスタムフィールドが作成されると、データベースにmt_fieldというテーブルが作成されていました。
Movable Type カスタムフィールドの DB スキーマ:小粋空間
にて、内容が示されていますので参考になります。
本記事の内容は、Movable Type 4.1のものとします。
- Comments
- TrackBack Closed
MTで「はてなでOpenID」とMyはてなについて
- 2008年1月26日 17:29
- Last update: May 24, 2016 07:46
- MovableType | net

MovableTypeでのはてなOpenIDでの認証を検証してみた。(検証日は、2008年1月26日)
はてなのOpenIDについての詳細は、
はてなでOpenIDを参照します。
まずは、MT4のコメントの認証設定で認証コメントを選択しており、かつ認証でOpenIDが選択されていることが前提としてあります。
認証コメントについては、以下のエントリなどを参照します。
安心かつ手軽にコメントができるようになった Movable Type 4 - MovableType.jp
MT4のエントリのコメントフォーム内のサインインのためのリンクからサインインをおこないます。
http://www.hatena.ne.jp/<ユーザ名>/
を入力して、サインインします。サインインすると、ログイン確認ページに遷移します。
ここで、「常に許可」を選ぶと、この認証以降、はてなのOpenIDでのログインを許可するか聞かれなくなるとのことです。なお、許可したサイトはMyはてなのユーザー設定のところで確認でき、取り消しすることもできます。
[ 02/06/2008 10:15 +0900 ] 検証日の西暦が間違っていたので修正
- Comments
- TrackBack Closed
RSSフィードで改行するの事
- 2008年1月23日 11:44
- Last update: May 24, 2016 07:46
- MTカスタマイズ | MovableType

既にあちこちで幾つものエントリがあがっているのですが、MTのRSSフィードを購読したとき、改行されないため読みにくいのを解消するというお話です。
ブログのRSSフィードをきちんと改行する方法 | 近江商人JINBLOG より
1.atom/RSSのフィードテンプレートの中の「MTEntryBody」を見つける
2.デフォルトで「<$MTEntryBody encode_xml="1" convert_breaks="0"$>」となっているので、このconvert_breaks="0"のパラメータを1にする
フィードのテンプレート内でMTEntryBodyタグを探して、convert_breaksの値を1にするとよいとのこと。
しかしながら、ここのブログでは開設当初からこの設定は「0」のままですがきちんと改行されております。一応、Bloglinesでこのブログのフィード(rss.xml)を試し見したときのスクリーンショットがこれです。↓
自動改行されていなくても改行されているのは、記事を作るときテキストフォーマットを「なし」(=改行変換をしない)でおこない、p要素や改行タグなどをいれて記事をあげているためかと。
このことはだいぶ前にわかっていたんですけど、あまりこういった使い方されるかたは少ないと思うし(タグ打ちが面倒っていうのはあるだろうし)、まあどうでもいいかなと。
参考:MTEntryBody | テンプレートタグリファレンス
- Comments
- TrackBack Closed
MovableType:新バージョンの提供とパッチ
- 2008年1月16日 12:04
- Last update: Jan 17, 2008 21:12
- MovableType

Movable Typeの新バージョンとパッチが提供されました。
【重要】 Movable Type 新バージョンとパッチの提供について: SixApart 2008年01月15日付記事より
本日より、以下の製品アップデートの提供を開始します。
* Movable Type 4.01a
* Movable Type 3.36
* Movable Type Enterprise 4.01a
* Movable Type Enterprise 1.54
3.21に対してのパッチも提供されています。こちらは割愛します。
また、mt-view.cgi を削除するよう、アナウンスされています。
mt-view.cgi を利用していないユーザーは、このファイルを削除してください。mt-view.cgi を利用したダイナミックパブリッシングはドキュメントされていない機能であり、意図的に、手動で利用する設定をしない限りは利用されません。
MT標準のダイナミックパブリッシングを使ってくださいな、という解釈でいいのでしょうか。
というわけで当ブログのバージョンアップを完了させました。
- Comments
- TrackBack Closed
MT4:ウェブページの拡張子とアーカイブマッピング
- 2008年1月15日 21:22
- Last update: May 24, 2016 07:46
- MTカスタマイズ | MovableType

MT4.01において、ブログの設定で、アーカイブの拡張子をphpにしたとき、および、アーカイブマッピングについてです。
MTのphp化の説明でよくブログの設定のところで「アーカイブの拡張子をphpに」と書かれています。これをphpにした場合に、ウェブページのアーカイブマッピングには以下のようになっています。
ここで、「phpしか利用できないのか」、と今まで疑問におもっていたのですが、アーカイブマッピングを追加して拡張子を.htmlになるようにすることで、拡張子.htmlのウェブページを作成することができるようです。
アーカイブマッピングを「ウェブページ」として追加します。
ここでは、%-c/%-b.htmlとしました。内容は、
サブカテゴリーのパス(区切り「-」)/ エントリーの出力ファイル名(区切り「-」).html
という形です。追加したほうが、優先されるよう左のチェックボックスにチェックを入れておきました。【補足】:アンダーバー区切りにするときは、%_b.htmlのようにしてください。
【追記】(2008/03/27 15:33 +09:00) 補足です。スクリーンショットのように、.phpのマッピングと、.htmlのマッピングを2つ作っていると、ウェブページを作成したときに、hoge.htmlとhoge.phpの2種類のファイルが出来ます。拡張子.phpのファイルが必要ない場合は、.phpのほうのマッピングを削除します。
アーカイブマッピングについては、以下のドキュメントを参考にしています。
実際に新規でウェブページを作ってみますと、拡張子が、設定のところに指定したphpしか表示されていませんでした。
この問題は、小粋空間さまにてすでに指摘されております。「Movable Type 4 の PHP 化で XML 宣言を自動的に切り替える」より
アーカイブの拡張子を php にすると、ウェブページは .html と .php の両方が選択できるようです。が、ウェブページ新規作成画面の出力ファイル名には php しか表示されません(フィードバック済)。
ですが、生成されているページを確認しますと、拡張子はアーカイブマッピングのとおりに.htmlとなっています。
- Comments
- TrackBack Closed
ダイナミックパブリッシングでページ分割をアーカイブ一覧ページに導入
- 2008年1月13日 16:08
- Last update: May 24, 2016 07:46
- MTカスタマイズ | MovableType

ダイナミックパブリッシングでのページ分割をやってみました。適用はアーカイブ一覧(archives.html)
2009/06/03 追記、現在アーカイブインデックスページでは、ページ分割をおこなっていません。興味のある方は、「MT:アーカイブインデックスにAjax検索を取り入れて改造した」をご参照ください。
少しですが、ブログ記事が溜まってきましたので、ページ分割でもためそうかな、と思いつきでやってしまいました。
ページ分割には、プラグインをもちいる方法などいろいろとあるのですが、今回おこなったのは、ダイナミックページで分割するという方法です。
参考にしたのは、WingMemoさまの「ダイナミック・パブリッシングで頁分割(1)」というエントリです。
例によって、説明はWingMemoさまの記事のとおりです。とかいうと、手抜きみたいなので、メモ程度に記録しておきます。
まずは、archives.htmlのページをダイナミックパブリッシングに切り替えます。設定後、まともに表示されていることを確認。
MTEntriesの置き換えですが、Vicuna(mt.Vicuna2x)では、テンプレートモジュールの、「ヘッドライン」のMTEntriesを記事で紹介されているように置換します。
<MTEntries sort_order="descend" lastn="9999">
{{assign var="epp" value=10}}
<MTEntries lastn="10" offset="`$smarty.request.offset`">
ここでは、10件ごとで分割にすることにしたので、value=10, lastn="10"のようにしました。
次は、ページ分割表示したい箇所(ようするに、「1|2|3...というリンクを埋めるところ)に、分割表示のためのソースコードを埋め込みます。
ここでは、直接アーカイブインデックスのところに埋め込んでおきました。
<$MTInclude module="ヘッドライン"$> <!-- 頁分割ここから --> <P class="pagenate"> ・ ・ ・ </p> <!-- 頁分割ここまで --> </div>
という具合です。p要素内に記事にあるソースをいれました。<$MTArchiveCount$>の記述は、全エントリのアーカイブなので、<$MTBlogEntryCount$>のほうを使いました。
追記:2009/02/19
導入後、気づいた点をあげておきます。
movabletype.jpにて公式のタグによる方法が解説されており、現在はそちらのほうでおこなっています。
アーカイブインデックスをダイナミックにした場合に、ブログのディレクトリに.htaccessが生成されます。(ここでいうと/blog/以下)ですので、404・403などのエラーページは全てダイナミックエラーのテンプレートが適用になることになります。
上記の関係でトップページがhttp://example.com/ であった場合、エラーページがダイナミックエラーのページでは都合の悪いことがありますので、ダイナミックパブリッシングでのページ分割はおこなわず、PageButeプラグインなど検討されるといいかと思います。
- Comments
- TrackBack Closed
テンプレートでオモタこと書くます
- 2007年11月 6日 17:13
- Last update: Nov 06, 2007 17:27
- MovableType

Vicuna2.0ベータ版登場以来、Vicuna CMS のテンプレート使わせてもらっています。ここでVicunaを使っていておもったことをあげておきます。
- Vicuaのカタカナ表記で「ビクーニャ」て書いてあるのと「ビクーナ(ー)」と書いてあるのをみるけど、どっちなんだろうか。カタカナではこう書いてください、というのを示してほしいかも
- フォーラムはたまに目を通してますけど、ワタくシみたいなヴァカにはとてもついていけるレヴェルぢゃないでつね。ハードル高げ(・。・|||)
- フォーラムついでで、最初に見たとき、あ。これは関わらないほうがよさげだと思いました。こまかな理由とかとくになくてただもう見た感覚だけで。:-p
リンク :
あ、全体的に、とてもいい感じですよ。ところで、このままベータ版で続けていくのかなぁ。
- Comments
- TrackBack Closed
テンプレートタグが使われているリストのソースとか
- 2007年11月 5日 23:32
- Last update: Jan 12, 2015 16:53
- MovableType | plugins

Movable Typeのテンプレートタグを利用しているul,li要素のリストのソースについてためしてみました。
例えば、新着記事のリストがあったとします。その部分のソースを眺めていますと、li要素でそれぞれが1行ずつあいているものがあることに気づきました。
このことは自分のところだけかと思っていましたら、ほかの人のところでも1行空きのソースになっているみたいです。
当方として、やりたいことは、
<ul> <li>ほげほげ</li> <li>げほげほ</li> </ul>
のように、該当部分で出力されたソースをみたときに、li要素の行間が詰めて表示されるようにするということです。
そこで、いろいろとテンプレートタグの位置などを変えたりなどして、どのようなソースになるのか実験してみました。
以下のような簡単なソースでテンプレートを作成しました。インデックステンプレートの新規作成でカスタムテンプレートとして、適当に名前をつけて再構築します。
「Recent Entries #1」から「Recent Entries #4」まで新着記事を並列列挙リストを出力させる、4つのパターンを作成してみました。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>UL LI のテスト</title>
</head>
<body>
<div>
<h1>UL LI のテスト</h1>
<h2>Recent Entries #1</h2>
<ul>
<MTEntries lastn="3"><li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li></MTEntries>
</ul>
<h2>Recent Entries #2</h2>
<ul>
<MTEntries lastn="3">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
</MTEntries>
</ul>
<h2>Recent Entries #3</h2>
<ul><MTEntries lastn="3">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li></MTEntries>
</ul>
<h2>Recent Entries #4</h2>
<ul>
<MTEntries lastn="3"><li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li></MTEntries>
</ul>
</div>
</body>
</html>
- Comments
- TrackBack Closed
MT4にEntityRefButtonプラグインを導入
- 2007年10月28日 17:04
- Last update: Feb 04, 2008 17:44
- MovableType

エムロジック放課後プロジェクトさま提供の「MovableType用EntityRefButtonプラグイン」を導入してみました。
MT4では、記事作成画面で編集のフォーマットをリッチテキストなど自分の使い方にあわせて選択することができます。
ワタくシは「フォーマットなし」をデフォルトで設定しているのですが、HTMLタグはともかく煩わしいのが、「文字実体参照」です。
フォーマットなしで実体参照で記述させるのに、一旦、リッチテキストで対象となる文字をいれてから、フォーマットなしに切り替えをおこないながらやっていたのですけれども、結構手間な作業でもあり、対象の文字だけ変えればいいものを作成した記事全体まで変換されてしまうというのも、何かスッキリしないものがありました。
そこで、文字実体参照を変換できるプラグインを導入してみることにしました。エムロジック放課後プロジェクトにて「EntityRefButtonプラグイン」が提供されています。
MovableType用EntityRefButtonプラグイン v0.2.0
ダウンロードして解凍したフォルダを開いて、pluginsフォルダの「EntityRefButton」は/mt/pluginsに、mt-staticフォルダの「EntityRefButton」は/mt-static/pluginsにそれぞれアップロードします。
アップロードしますと、プラグインの一覧に表示されます
文字実体参照に変換したい文字を選択して、&ボタンを押すと変換されます。なお、リッチテキストを選択しているときはこのボタンが表示されません(Movable Type 4)。
- Comments
- TrackBack Closed
MT4再インストール。
- 2007年10月 6日 20:43
- Last update: Oct 06, 2007 21:11
- MovableType

今日、MTを弄りましたら、管理ページから操作できなくなってしまいました(涙)。
CGI実行すると、全滅で500エラー連発という状態で、どうにもならなくなりました。
で、結局再度MT4をインストールしなおししまして、データベースのほうも初期化してやり直ししました。
どうも、VicunaのテンプレートをインストールしようとTemplate Installer Pluginをインストール後に、不具合が発生しているっぽいのです。
仕方ないので、Vicunaテンプレートは手動でコピペ作戦にて導入しました。
あとでわかったことなのですが、mt-configファイルを削除することで、ウィザードから初期のブログの設定をしなおすことができたようです。
- Comments
- TrackBack Closed
MTEntryTrackbackDataの削除
- 2007年9月16日 17:54
- Last update: Sep 03, 2008 16:02
- MTカスタマイズ | MovableType

MTEntryTrackbackDataを削除しましたというお話です。
このブログでは、トラックバックを受け付けないという設定にしています。しかしながら、どういうわけかソースをみますと、トラックバックのオートディスカバリのソースが残っておりました。
システム側でトラックバックを受け付けない設定にしているときは、特にMTEntryTrackBackDataタグを削除しなくても問題ないようです(MT4.1x および MT4.12にて確認)。
MTEntryTrackbackDataというテンプレート・タグは、トラックバックスパム対策でよく削除したほうがいい、といった事を聞いたりします。この辺はサイト運営上でのことですので、一概にいえないところです。
で、ここのブログ、はじめからトラックバックを受付ないという設定をおこなっていますが、どうもソースを眺めていると、トラックバックデータのRDF出力がなされているようでした。
トラックバックを受け付けていないのに、トラックバックデータを出力させるのは、意味がなさそうですので、おもいきって削除することにしました。
テンプレートを検索しますと、以下の3箇所で記述があったようです(version 4.0でのことです)。
- » インデックステンプレート
- メインページ
- » アーカイブテンプレート
- ブログ記事リスト
- » テンプレートモジュール
- ヘッダー
テンプレートで、<$MTEntryTrackbackData$>というテンプレート・タグを検索してタグを削除して、再構築して作業は終了です。
削除するほかに、<$MTEntryTrackbackData$>をmt:Ignoreタグで囲むという方法もあります。
*Vicuna2.0b1については、以下の箇所でした
main_index.mtml (メインページ), entry_listing.mtml(記事リスト), header.mtml(ヘッダー)
- Comments
- TrackBack Closed
Movable TypeにWordPress Open ID pluginの設置
- 2007年9月15日 15:38
- Last update: Jan 12, 2015 16:48
- MTカスタマイズ | MovableType

Movable TypeにWordPress Open ID pluginの設置をやってみました。
MT4でOpen IDでのコメント認証がシステムに入っております。
Open IDをベースとした認証に対応したサービスに対応されたプラグインがいくつかでているようです。
【追記:2009/05/15 】Movable Type4.25 ではプラグインなしではじめからWordPressのアカウントを認証サービスとして利用できます。従いまして、プラグイン(WordPress OpenID Plugin)をインストールする必要はありません。また、4.25より前のヴァージョンで既にプラグインを入れているた場合はプラグインを削除しておくか、設定画面で無効にしておきます。
その中で、WordPressのアカウントに対応させるためのプラグインを試してみました。
以下のページからダウンロードできます。現時点で、tar.gz形式の圧縮ファイルしか見当たらないようでしたので、Windowsな環境のかたは、tar.gzを解凍できるソフトが必要かと。
WordPress OpenID Plugin | Plugin Directory | movabletype.orgダウンロードして解凍しますと、
+ mt-static + plugins - WordPressOpenId + plugins - WordPressOpenId
といったディレクトリが作成されています。
MTのシステムのmt-staticのところのpluginsディレクトリ内に、WordPressOpenIdのフォルダごとアップロードします。このフォルダはWordPressのアイコンが入ってます。
MTのpluginsディレクトリ内に、pluginsフォルダのWordPressOpenIdという、フォルダをフォルダごとアップロードします。
- Comments
- TrackBack Closed
BlogTop > MovableType Archive
- Feeds
- Elsewhere
- logo