45式::雑記
45式::雑記は、日々の事を記してないから日記ではなく雑記です。

[Movable Type]カテゴリ[87]

再構築のすすめ

おまえらの再構築設定は間違っている、とは言いません。再構築の時間を短くするための基本的な設定を紹介します。

MTの環境変数を知ろう

Movable Typeには環境変数という設定があります。環境変数になれてMTへの理解を深めましょう。この記事はMovable Type Advent Calendar 2013の12日目です。

アップグレード時に"新規ユーザー向けウェブサイト"が作られた

Movable Typeのアップグレード時に「新規ユーザ向けウェブサイト」というものが作られるケースに巡り合いました。

エントリ一覧に日付けごとの見出しをつける方法

日付け順のエントリ一覧で、年別や月別など、日付けごとの見出しをつける方法を紹介します。

Action Streams 2.3

Movable Type5にも対応したAction Streamsプラグイン2.3がリリースされました。
MT5対応の他にバグ修正と機能追加も行われています。

投稿日時順の記事一覧から最新更新日時を探す方法

投稿日時順のブログ記事から最新更新日時を取得する方法を二つ紹介します。

MTタグで日時を比較する方法とMTDateタグとtsモディファイア

MTタグで日時を比較するには比較が可能な条件を満たす必要があります。
その条件を満たすのにはMTDateタグとtsモディファイアが便利です。

文字列の比較

MTタグで文字列の比較ができる事を、MTLoopタグによるソートやMTIfタグによる個別の比較で証明してみました。

Atom/RSSフィードにウェブページを追加する簡単な方法

Atom/RSSフィードにウェブページを追加する簡単な方法です。
とはいえ、ソースをコピペされるだけなら他の方法と労力は変わりませんが。

MTPagesタグ中でMTEntry*タグが動作する

MTPagesタグ中ではMTPage*タグだけでなく、MTEntry*タグも動作します。

MTEntriesタグのclass_typeモディファイア

MTEntriesタグはclass_typeというモディファイアが存在します。
これを使うとMTEntriesタグでウェブページが出力できます。

Feeds.AppLiteからFeedExへ乗り換え

Feeds.App LiteからFeedExへ乗り換えました。
だってrun-periodic-tasks経由で再構築する際にFeeds.App Liteが妙なメッセージを出すから。

run-periodic-tasksのvオプションでエラー箇所をテンプレートまで絞る

run-periodic-tasksのエラーで困った時、vオプションを使用するとエラー箇所をテンプレートまで絞る事ができます。

テンプレートモジュールを利用して変数をキャッシュする方法

再構築時間の短縮は全MTユーザの永遠の課題だと思います。
その対策として、テンプレートモジュールを利用して変数をキャッシュする方法を思いついたので紹介します。

環境変数は絶対パスでも相対パスでも設定できる

Movable Typeの設定は管理画面を使う以外にmt-config.cgiへ記述する事でも設定できます。
その中でもパスを指定するものは絶対パスでも相対パスでも設定できるようです、たぶん……。

条件分岐タグによる真偽判定の結果一覧表

MovableTypeの条件分岐タグ、MTIf、MTIfNonEmpty、MTIfNonZero、MTUnlessによる値の真偽判定を一覧表にまとめて見ました。
その結果、MTIfNonZeroタグに関するある事実が判明しました。

プレビュー状態かを判断する変数preview_template

ページやテンプレートの出力を確認する際のプレビュー状態を判断できないか、と試してみたらpreview_templateという変数を発見しました。

グローバル・モディファイアを自由自在に使う方法

MTタグで使えるグローバル・モディファイアを好きな場所で好きなだけ使う為にはMTIfタグを利用します。(現在はMTForタグを使っています)

システムテンプレートが「時々」見つからない場合の対処法

システムテンプレートが見つからなくなる現象にMovable Type4.32で時々見舞われた。
この現象はテンプレートセットの初期化失敗とは違い、テンプレート自体は存在しているものの一覧画面では表示できなくなる。
とりえあずの対処法は見つけました。

MT4.261&MT4.32でMTIncludeBlockタグが正常動作しない不具合

MT4.261&MT4.32でMTIncludeBlockタグが正常動作しない不具合を発見しましたのでその詳細と対処法を紹介します。

MT4.2でも検索オプション(CaseSearchやRegexSearch等)は使える

MT4.15からCaseSearchやRegexSearchなどの検索オプションが使えなくなりました。
しかしその検索オプションがMT4.2でも使える方法を見つけました。
勝利の鍵はMT::App::Search::Legacyです。

再構築エラー「Not an ARRAY reference at lib/MT/Builder.pm line 469.」

突然、Movable Typeが「Not an ARRAY reference at lib/MT/Builder.pm line 469.」というエラーを吐き出すようになった。とりあえず原因となる記述を見つけたのでそこを修正してエラーを回避しました。

MovableType.jpに載っていないMTForタグの動作条件

条件を満たす間だけ処理の繰り返しを行うブロックタグMTForを使い始めました。
すると、MovableType.jpで説明されていないいくつかの事に気づいたので、モディファイアごとに説明します。

nofollowfyモディファイアでアンカータグのrel属性にnofollowを追加する

グローバル・モディファイアnofollowfyを使うとアンカータグのrel属性にnofollowを追加する事ができます。

MTのデータベースをMySQL4からMySQL5へ移行 in さくらのレンタルサーバ

さくらのレンタルサーバで運用するMovable TypeのデータベースにMySQL5を使っていた、つもりだったが実はMySQL4だった。
だから、MySQL4からMySQL5へ移行しました。

グローバルテンプレートとブログのテンプレートを同時に読み込めない不具合

「一つのテンプレートから同名の、グローバルテンプレートとブログのテンプレートを読み込んだ場合、後に読み込んだ方の内容が先に読み込んだ方の内容と同一になる」という不具合を見つけましたので紹介します。

データベースからブログの痕跡を削除する方法

ちょっとした手違いでブログを複製してしまった。
けれど、Movable Typeを「ブログを複製する前の状態」に戻す事は想像した以上に簡単だった。
そこで、その方法を「データベースからブログの痕跡を削除する方法」を中心に紹介します。

グローバルテンプレートを確実に読み込むMTIncludeタグのglobalモディファイア

MTIncludeタグのglobalモディファイアを使う事でグローバルテンプレートを確実に読み込む事ができます。

MTCommentURLタグとMTCommenterURLタグは別物

恥ずかしい話ですが、MTCommentURLタグとMTCommenterURLタグの機能を勘違いしている事に気づきました。MTCommentURLはコメント時のURLを、MTCommenterURLはコメント投稿者のURLを呼び出すタグです。

デバッグモードの使い方とシステムテンプレート

Movable Typeでデバッグモードを使用すると管理画面の最下部に「警告とメッセージ」が表示されるのですが、それがシステムテンプレートの最下部にも表示される事を取り扱います。と、序でにデバッグモードの使い方も紹介します。

MTで変数の値を初期化する方法

Movable Typeの変数を初期化する方法を紹介します。この記事で言う変数の初期化とは、値に0を入れる事ではなく、変数の値をNullにする事です。

MTSetVarsタグ内で一行に複数個の=(イコール)があった場合はどうなるか

MTSetVarsタグ内では「変数名=値」という形で宣言を行いますが、もしも「x=y=z」と書いた場合はどうなるのでしょうか。実験してみました。

MTSetVarsタグ内の書式で空白を挿入しても許される場合

MTSetVarsタグ内の書式で、空白を挿入してもエラーにならない場合を見つけたので紹介します。

MT4.26のrun-periodic-taskでエラーメッセージ

Movable Type4.26にてrun-periodic-taskファイルがエラーメッセージを吐き出すようになりました。エラーの根本的な原因はわかりませんが、Perlの警告スイッチをオフにする事で「エラーメッセージは」消す事ができました。

regex_replaceモディファイアでタグの要素名を大文字化する方法

以前の記事でHTMLタグの要素名を大文字化する方法を紹介しましたが、それらはどれも不完全なものでした。しかし今度のは違います。regex_replaceモディファイアを使うだけでタグの要素名を大文字化する事が可能なのです。

フォーマット「改行を変換する」でHTML4を出力する方法

Movable TypeでHTML4仕様のサイトを構築するためには障害があります。それはフォーマット「改行を変換する」で出力されるHTMLタグが小文字である事です。
それを改善する、HTMLタグを大文字にする方法を見つけました。

MT4.25の仕様変更でMTNoSearchタグが再び使える

MT4.2から検索機能の仕様変更でキーワードを入力しなかった検索ではMTNoSearchタグが使えなくなり、エラーページが表示されるようになりました。
しかしMT4.25で仕様変更があり、MTNoSearchタグは再び使えるように、エラーページも表示されなくなりました。

GoogleウェブマスターツールでRSSフィードがMRSSフィードに間違われるエラー

Googleウェブマスターツールのサイトマップに登録してあったRSSフィードのレポート形式が、どういうわけかMRSSフィードとなっていました。それに加えてエラーの表示も。
原因はcategory要素のdomain属性に入れた内容が不適切だった事のようです。

自動保存されたデータをデータベースから削除する

前の記事の最後で「自動保存されたデータの場所がわからない」と言いましたが、その場所がわかりました。情報元は『TRASH-NEWS』さんの記事です。

記事・テンプレートの自動保存機能を無効化する

Movable Type4には編集中のブログ記事・ウェブページ・テンプレートを自動保存する機能があります。その機能は環境変数AutoSaveFrequencyを使って無効化する事ができます。

EntriesPerRebuildを見直して再構築時間を短縮(MT4.2以降)

Ogawaさんの『今さらですがMTOS 4.23に乗り換えました』という記事で、環境変数EntriesPerRebuildの仕様が変更されていた事を知りました。そのおかげでEntriesPerRebuildの値を見直し再構築の時間を短縮する事ができました。

複数記事の公開日時が一致した場合に発生する不具合

MTで複数記事の公開日時が一致した場合に前後記事へのリンクが同一になるという不具合を発見しました。

MTのアップグレード方法

自己流のMovable Typeアップグレード方法です。もっと楽な方法や安全な方法はいくらでもあると思いますが、私はずっとこの方法です。

ブログ記事かウェブページかを判別する予約変数

MT4の予約変数entry_archiveとpage_archiveを使ってブログ記事とウェブページを判別しようと思いましたが、失敗しました。原因は予約変数entry_archiveのバグです。しかし、代わりに使える予約変数も見つけました。

MTSetVarsタグ内ではMTIfタグとMTIgnoreタグが使える

まとめて変数を設定できるMTSetVarsタグ。そのMTSetVarsタグの中でMTIfタグとMTIgnoreタグが使える事を発見しました。

MT4の予約変数は絶対ではなく上書きもできる

Movable Type4にはアーカイブテンプレートに隠し変数ともいうべき予約変数が存在します。その予約変数がユーザーの手で上書きできる事を発見しました。

ウェブページとフォルダを階層表示する方法

ウェブページとフォルダを階層表示できるようにデフォルトテンプレートのウィジェット「ページ一覧」を改造します。ウェブページを含まない空フォルダを非表示にする方法もあわせてどうぞ。

ダミーデータ・テストデータを生成するプラグインMTBooter

ダミーデータ・テストデータを生成するプラグインMTBooterの導入方法・大まかな使い方・エラーの対処方法です。

記事概要が入力されたか本文から割り当てられたか調べる方法

Movable Typeは記事概要を入力しない場合、記事本文の先頭から抜き出されたものが代わりに割り当てられます。その概要が投稿者によって入力されたのか、システムによって記事本文から割り当てられたのか判断する方法を見つけました。

記事概要に(X)HTMLタグを使うとトラックバックで損をする

エントリー概要に(X)HTMLタグを使うと、トラックバックを送信した場合に(X)HTMLを使った文字数だけ損をします。Movable Typeのトラックバック仕様では記事概要に文字数の制限があるからです。

MT4.2のMTTagsはウェブページだけに付けられたタグを表示しない

MT4.2のMTTagsタグではウェブページに付けたタグがリストアップされません。これはSix Apartにも確認されたバグです。一応対処法もありますが、個人的に好きではない方法です。

mixiのIDを使ってMovable Typeでコメント投稿

mixiが始めた認証サービスmixi OpenIDを始めた。Six Apartはそれに対応したプラグインmixiCommentを公開。これでMovable TypeでもmixiのIDを使ったコメント投稿が可能になった。ただしmixiCommentの動作には注意が一つ。

MT4.2のmt.jsは下位互換

Movable Typeのコメント投稿で能力を発揮するmt.js。その、MT4.2のmt.jsにMT4.2以下のテンプレートでも動く準備(下位互換)がしてある事を発見した。

Word特有の文字を置き換えるでエンティティを選択する場合の注意と対策

三点リーダーが三連ピリオドに変換される場合の対策としてエンティティを選択する方法があるが、他の対策案と違い、エンティティの選択には注意が必要である。それは一部のテンプレートタグにencode_htmlモディファイアを使っているかどうかに関係する。

三点リーダーが三連ピリオドに変換される(原因と対策)

いつからなのか、MT4でエントリー等に入力した三点リーダー(…)など幾つかの記号が違うものに変換されていた。どうやらMT4の「Word特有の文字を置き換える(Smart Replace)」設定が原因のようだ。

MT4.1で正規表現を使って検索出来ない

MT4.1で「正規表現(RegexSearch)」にチェックを入れて検索した場合、検索結果に全てのエントリがヒットした。 検索語(search)に何を入力しても、全てのエントリがヒットした。 mt-config.cgiにMaxResultsを記述した場合はその数までヒットし、MaxResultsを記述しなかった場合は100件ヒットした。 フィードバックを送った結果、バグという事が認められました。...

インデックステンプレート一覧からの再構築ができない

インデックステンプレート一覧では左端のチェックを入れたものだけ選んで再構築する事ができる、はずだが実際、MT4.1では再構築できないものがある。どうやら再構築オプションが原因のようだ。...

サイト構成のリニューアル

最近、いくつか個別記事のURLが変わってしまった。原因は個別記事のURLに使用していたカテゴリー構成を弄ったからだ。なので今後の事を考えて個別記事のURLを現在のカテゴリ基準から日付け基準に変えた。...

MTの自動改行を改良

以前から不満のあったMTの自動改行を改良します。 今回はpreタグ内に空行を一行含んでいても改行等(<br />, <p>, </p>)が挿入されないようにします。 この改良については小粋空間さんの記事「エントリーにpタグとbrタグが入る仕組み」を参考にしました。 その1:コード解析 その2:blockquoteにbrタグを挿入 その3:textareaにbrタ...

MTLinkタグでリンクを簡単にする

MTのデフォルトテンプレートでアーカイブページへのリンクは <a href="<$MTBlogURL$>archives.html">アーカイブページ</a> となっています。 しかしこのままだと、例えば出力するアーカイブの拡張子を「php」に変更した場合、まずアーカイブページのテンプレートをarchives.phpに、アーカイブページへのリンクURLのarch...

MTIgnoreタグでコメントを

MovableTypeにはMTIgnoreというタグがあります。 このタグは公式タグリファレンスに指定した範囲について、処理を行わない条件タグとある通り、MTIgnoreで囲まれたMTタグの処理をスルーするのですが、それだけではありません。...

プラグインをちょっと改造(改良?) 補足

以前のエントリーの補足です。 以前書いた方法で修正箇所が見つからない場合があるようです。その場合の修正方法です。 重複する説明をしないようにしていますので、先のエントリーが未見の方はまずそちらをご覧下さい。...

日付けアーカイブが無くても使えるカレンダー

MTのカレンダーは通常、日別アーカイブへリンクされます。 日付けアーカイブが無く、エントリー・エントリー(個別アーカイブ)だけの場合でもちゃんとリンクされます。 例えばこのカレンダーを見て下さい。 いたって普通です。しかし、実はこの月の3日、4日、12日は日に複数のエントリーが存在しますが、カレンダーからのリンクは一つのエントリーにしかされていません。これでは困りますので日に複数のエントリーがある...

プラグインをちょっと改造(改良?)

Movale Typeには便利なプラグインが多数あります。 ただ、プラグインにはプログラムソースだけのものがあります。 そういうプラグインは作者のURLやヘルプがわからず、バージョンアップの時、使い方を忘れた時、エラーが起こった時にどうしようもなくなってしまいます。 例えば、MTにデフォルトで同梱されているTemplate Backup and Refreshはプラグインページを見ても右側の項目が...

タグ<$MTEntryTrackbackData$>の役割

MTのデフォルトテンプレートを弄っていたら<$MTEntryTrackbackData$>というタグを見つけました。 どういう意味があるのかマニュアルで調べてみました。 <$MTEntryTrackbackData$>の説明 エントリーに対してのトラックバック用データのRDFを出力します。Bookmarkletが利用します。この出力は、ウェブ・ブラウザーで見えないようになっ...

Atomフィードのid

Movable Type 3.x デフォルト・テンプレートのAtomフィードで不具合が見つかったらしい。 Six Apart :: Movable Type 3.x デフォルト・テンプレートのAtomフィードの不具合について drry+@-> :: Movable Type のデフォルト Atom フィードテンプレートを駄目出し ...

コメント・トラックバックのリンクをカスタマイズ

この内容はトラックバックの場合にも応用できます。 標準のテンプレートだとコメントの受信を許可しているときは パーマリンク | コメント (0) | トラックバック (0) と表示され、許可していない時は パーマリンク | トラックバック (0) とリンクが無くなります。 この場合、はじめからコメントを許可しておらずコメントを一つも受信して無い場合は問題ありませんが、既にコメントを受信している場合は...

デフォルトテンプレートの場所

MT3.3にはテンプレートを初期化できるプラグイン「Template Backup and Refresh」があります。 このプラグインのおかげで、現在のテンプレートを消さずに初期化出来ます。 ただ、この初期テンプレートはどこにあるのかと探しました。 3.2以前はSixApartにあります。プラグインで初期化は出来ますけど、出来れば根元を抑えておきたいなと思ってMTの中を漁った。...

MTの管理画面を早く表示する

こちらで知ったのですが Ogawa::Memoranda :: MT 3.2でHTML::Templateのファイルキャッシュを有効にする MovableTypeが利用しているHTML::Templateにはキャッシュ機能があるそうです。 標準ではキャッシュ機能が有効になっていないので、利用したい人は有効にしましょう。 方法は簡単です。...

TypeKeyにサイン・イン失敗

MovableTypeのコメント認証に利用される一つのTypeKey。 コメントテストしようと思ったらサイン・インに失敗した。 TypeKeyのエラーメッセージ あなたがコメントしようとしたウェブサイトには TypeKey サイン・インができません。ウェブサイトのオーナーに確認してみてください ...

MT3.3βを試してます

6月の頭くらいにMovableTypeのバージョン3.3β版がリリース。 何も考えずに即アップデートで何事もなく完了。...

日本語カテゴリを任意に並べ替え、出力名を任意に指定する方法

Movable Typeのカテゴリを並べ替える方法と、カテゴリの出力名をコントロールする方法を『日本語カテゴリー名の並びと出力フォーマット, in Templates, on Movable Type 4989』(サイトは閉鎖されたようです)で発見しました。
(この記事はMovable Typeがバージョン3だった頃に書きました)

BlogWriteによる投稿実験

ブログクライアントソフト『BlogWrite』を試して見ました。

ecto for windowsによる投稿実験

ブログクライアントソフト『ecto for windows』を試して見ました。(『ecto for windows』は開発が停止されましたが、ダウンロードは出来ます。また、新たに『Linear』というWindows専用のソフトが開発されています)

MT3.171からMT3.2にアップグレード

Movable Typeを3.171から3.2にアップグレードしました。

MTで指定日投稿を行うには

Movable Typeで指定日投稿を行うには「cron」の設定が必要です。その途中に自分が躓いた事を備忘します。

MTのエラーは弄り過ぎが原因じゃなかった

Movable Typeが500エラーを連発する原因がわかりました。弄りすぎて壊れたわけでは無かったです。

毎日毎日、弄り過ぎて、MTが壊れちゃった

Movalbe Typeを毎日弄って弄って弄っていたら、500エラーを連発するようになってしまいました。

MTで再構築してもファイルの更新が反映されない場合

Movable Typeで再構築してもファイルの更新が反映されない場合の対処法です。ブラウザのキャッシュを破棄してもダメな場合は古いファイルを削除して再構築してみましょう。

指定日投稿の実験

Movable Typeではcronを使った指定日投稿が出来ます。この記事はその指定日投稿のテストのみのために投稿しました。

Movable Type3.17にアップグレード

Movable Typeを3.17にアップグレードしました。

MT3.17が近日登場

Movable Type3.17が近日登場するらしいです。

実験 ログインせずに投稿(解説編)

Movable Typeで、ログインせずに投稿できたので解説しました。

実験 ログインせずに投稿(実験編)

Movable Typeで、ログインせずに投稿できるか実験しました。

IE系ブラウザでMTのヘルプが真っ白で表示されない

MTのヘルプが真っ白で表示されない場合の対処法です。

メールで通知を受ける方法(SMTP)

Movable Typeにはトラックバック・コメントを受けた際に通知する機能があります。はじめは動作しませんでしたが公式トラブルシューティングに従った作業の末、動作するようになりました。

Movable Typeの導入につまづき

Movable Typeの導入でつまづいたのはMySQLのユーザ名とデータベース名を作ってなかったからでした。

カテゴリ
アーカイブ
ヘルプ
Feed

フィードとは