タグ「Movable Type」が付けられているもの

CatSort ver.0.4 - カテゴリーごとのエントリー数でソート! - 研究室

CatSort プラグインをバージョンアップ。ver.0.4 になりました。

今回は、「エントリー数」(<$MTCategoryCount$>の値)によるソートメソッドの追加です。

また、ver.0.2 で追加した by_recently_entry_posted および by_recently_entry_modified の2つのメソッドのパフォーマンスを改善しました。
ver.0.3 以前でこれらのメソッドを使用した場合、カテゴリー数が多いと再構築にかかる時間が極端に長くなってしまいます。
バージョンアップをオススメします。

「テンプレート・コンテキスト」とは - 研究室

Movable Type をプログラミング的な観点から掘り下げるシリーズ、第1回。
「テンプレート・コンテキスト」というものについて、ちょっと考えてみます。

Movable Type(以下MTと略記)のプラグインを自作したことがある方なら、少なからず意識したことのある言葉だと思います。けれども、テンプレートが少しいじれる程度だとか、難しいことは分からないから便利なプラグインを使って楽したい、という方にはあまりなじみのない言葉だと思います。
でも。
大まかな考え方を理解しておくと、テンプレートのカスタマイズや改造・自作を初め、プラグイン開発にも大きな助けとなります。
脱・初心者、必見!

私のポリシー (ブログ編) - 研究室

私の前職は、SEと呼ばれる部類のものでした。
現在は、Webサイト制作会社にパート勤務をしています。
といってももっぱらシステム担当で、CGI(with Perl)を作ったり既存のCGIを改造したり、PHPで同様にシステムを構築したり、Movable Type(以下MTと略記)でブログシステムを構築したり、といったことがメインです。
要するに、やってることはPG(プログラマ)です。

半年前、このブログを立ち上げるに当たって、一つの方針を立てています。
それは、このブログを私の『Webプログラミングにおける情報発信基地』にする、ということ。

Movable Type 公式コミュ [MTUG.jp]公開 - 研究室

MTUG.jpが公式公開されました。

* MTUGは「Movable Type Users Group」(日本名: Movable Type ユーザーグループ)の略です。
* MTUG.jpは、Movable Typeユーザの情報共有サイトとしてオープンしました。
製品開発元であるシックス・アパート株式会社より、Movable Typeなど商標の利用等について公式に許諾を受けて運営しています。

とのことです。

まだまだできたばかり(できたのは少し前ですが今日付で一般公開)ですが、Movable Type の有用な情報が集まってくることが期待できますね(^-^)

CatSort ver.0.3 - 「カテゴリーの説明」でソート可能に! - 研究室

CatSort プラグインをバージョンアップ。ver.0.3 になりました。

今回は、「カテゴリーの説明」(<$MTCategoryDescription$>で表示される内容)によるソートメソッドの追加です。
これにより、より自由に任意の順序でのソートも可能になります!

以下に、今回追加した CatSort::by_description による「任意の順序でのソート」を実現する方法について解説します。

CatSort ver.0.2 - エントリーの投稿と関連するカテゴリーソートメソッドを追加! - 研究室

CatSort ver.0.2 を公開しました。

ver.0.1(初期公開バージョン)では、カテゴリーに関する基本的なソートメソッドのみの提供でした。
今回は、エントリーと連動するメソッドの提供です。
具体的には、こんなことができるようになります。

  • 新しくエントリーを投稿したカテゴリーが上位に浮上するようにしたい!
  • エントリーを編集(修正)したカテゴリーが上位に浮上するようにしたい!

できます!

【2007/01/19 一部追記】

意外と知られていない機能を引き出す! カテゴリーソートプラグイン - 研究室

みなさん、Movable Type でカテゴリーの一覧を出力するのに、「ソートができない」って悩んでいませんか?

意外と知られていないかも知れませんが、実は、ある条件を満たせば、自由にカテゴリーのソートができるんです。
その条件とは、以下の2つ。

  1. カテゴリーの出力に、<MTTopLevelCategories>もしくは<MTSubCategories>を利用する
  2. その sort_method 属性に、目的にあったソートメソッド(Perlで記述されたソートルール関数もしくはブロック)を指定する

この、後者の「ソートメソッド」を提供するもの、それが、今回お届けするオリジナルプラグイン「カテゴリーソートプラグイン」です。
MTシステムにインストールするだけで、誰でも自由にカテゴリーのソートができるようになります!

【2007/02/13 ドネーションに関する追記】

スマートで高機能!Counterプラグイン - 研究室

小粋空間さんで紹介されていたので知ったのですが、便利なプラグインが公開されました。
MovableType用Counter Plugin Ver.0.50 (エムロジック放課後プロジェクト)。
機能的には、拙作 AutoIncrementalVar プラグイン とほぼ同じですが、機能や扱い方等の違いを色々と比較してみました。

MTCollateの落とし穴 - 研究室

先日、MTCollateのススメと題して、便利なプラグイン MTCollate の紹介をしました。

その後も私は愛用してきたのですが、その中で、重大な問題点を発見しました。
特に日本語環境でこのプラグインをお使いの方は、十分に注意が必要な、かなり危険な問題点です。
その問題点とは、簡単にまとめるとこうなります:

『セットしたフィールドに日本語(マルチバイト文字)が含まれる場合、そのフィールドをソートキーにすると、再構築時にサーバに過負荷がかかる場合があり、最悪の場合サーバがダウンする』
(WindowsXP+Apache2.0.x+Perl5.8.7+MT3.33-ja+MTCollate1.1 で確認)

コンテナタグとグローバルフィルター on MT3.3x - 研究室

2ヶ月ほど前、コンテナタグとグローバルフィルターという記事で、
『ダイナミックページでは、コンテナタグへのグローバルタグアトリビュート(グローバルフィルター)の適用が無効』
と書きました。

この問題は、MT3.3xでは解決されています。

MT3.2でも、MT3.3xで変更された.phpファイルをコピーすれば、ほぼ問題なく動作します。

【2006/09/20 追記あり】

数え上げや連番生成ができる! - AutoIncrementalVar - 研究室

こんな経験はありませんか?

  • (エントリーなどの)一覧に連番を振りたいけれど、<ol>タグは使えない(使いたくない)
  • ある特殊な条件を満たすもの(例えばエントリー)をカウントしたいけれど、<$MT○○○Count$>タグではうまくできない

こういった問題を解決できるもの。
それが、AutoIncrementalVar プラグインです。
標準のMTタグ <$SetVar$>、<$GetVar$> と同じ感覚で、連番生成や数え上げができるようになります。

動作環境

Movable Type(以下、MTと略記)ver.3.x、ver.4 以降。

【2007/08/18 ver.0.6 公開、MT4.0に正式対応しました。】

ダイナミック・パブリッシング対応Compareプラグイン - 研究室

先日紹介したCompareプラグインですが、一つだけ欠点があります。
それは、ダイナミックパブリッシングに対応していない、ということ。
つまり、Perl版のプラグインは提供されていますが、ダイナミックパブリッシング対応のPHP版のプラグインは提供されていないのです。

これは(個人的に)後々困る、と思っていたので、作っちゃいました。
PHP版、ダイナミック・パブリッシング対応Compareプラグインを!
自分自身のPHP版プラグイン作成の勉強目的も兼ねて。

オリジナル(Perl版)はstaggernation.comで配布されています。
オリジナルの著作権は、Kevin Shay氏に帰属します。

動作環境

Movable Type(以下、MTと略記)ver.3.x、ver.4 以降。
(MT4用、MT3用を別アーカイブで用意しています。)

2007/08/19 MT4に正式対応】

何でもアリ。Compareプラグイン - 研究室

MovableType(以下MT)の孫の手プラグインの紹介その2。
今回はCompareプラグインです。

MTでテンプレートを触っていて、
「こういう場合にだけ、こうしたい」
って思うこと、よくありませんか?
例えば、「カテゴリーがこの時にだけ、この画像を表示したい」とか、「エントリーの文字数が多いときだけ、折りたたみ式あるいはページ送り式にしたい」とか。

それらを個々で解決するプラグインは数々あります。
でもその「?の時に」という条件だけで良ければ、たった一つのプラグインで解決するかもしれません。
そのお手伝いをするのが、Compareプラグインです。

これは、かなり自由度の高い「変数比較の条件タグ」を提供するものです。

MTCollateのススメ - 研究室

私は現在、仕事でMovableType(以下MTと略記)を触っています。
MTを利用したブログサイトの構築がメインですが、MTをCMSとして利用した、普通のWebサイトにブログを組み込んだような形の統合型サイトもよくあります。

そうした「一工夫加えたサイト」を構築するときに、便利なプラグインや、標準だとやりにくい手の届かないところに役立つ孫の手のようなプラグインがあります。
使い方を覚えると、便利なもんだから使い回ししちゃうんですよね。

今回は、そんな「孫の手」的なプラグインの紹介。
仮想コレクション(リスト)を生成し、自由な順序で表示(リストアップ)できる、「MTCollate」プラグインです。

レンタルサーバで複数のMTをインストールする方法 ?SQLite編? - 研究室

先日、「レンタルサーバで複数のMTをインストールする方法」という記事を書きましたが、これはDBとして MySQL か PostgreSQL を使用している場合の例でした。
そこで SQLite を使用する場合も書いておきます。

MySQL や PostgreSQL と同様の方法も選択できますが、通常はもっと簡単に済んでしまいます。

(対象:MT3.2以上(3.3対応)、SQLite使用の場合)

dopvSTAR* 検索結果文字化け対策 - 研究室

アクセス解析ツール「dopvSTAR*」を使用していますが、検索キーワード等に文字化けがよく出ていました。
google等の検索キーワードのように、UTF-8エンコードで渡ってくる文字列の場合に発生しているようです。
解決方法も判明したので、メモを残しておきます。
※以下は、MovableTypeを使用している場合に特化した説明です。

無理矢理 Jcode.pm 対応方法(無保証)を参考にしました。)

(導入環境等は、過去記事 dopvSTAR* 導入メモをご覧ください。)

(対象:MT3.0以上(3.3対応)、MT3.2で確認)

レンタルサーバで複数のMTをインストールする方法 - 研究室

レンタルサーバ等、「1アカウントに付き使用可能なデータベース(インスタンス)1つ」という制限がある場合、もし複数のMTをインストールしたい場合に問題が発生します。
(ここでいう「データベース(インスタンス)」というのは、mt-config.cgiの「Database」に指定するデータベース名のこと。)
こういう場合は、生成されるテーブル名を変更しなくてはなりません。
その方法をメモしておきます。

(対象:MT3.2以上(3.3対応)、MySQLもしくはPostgreSQL使用の場合)
2006.08.01 追記あり)

コンテナタグとグローバルフィルター - 研究室

Movable Type は、全てのページをスタティック(静的)に生成するモードと、一部のページをダイナミック(動的)に生成するダイナミック・パブリッシングモードを選べます。
それぞれ利点・弱点があり、両方混在することもできるのが特徴の一つですが、同じテンプレートでスタティック・ダイナミック両方に対応できるのも特徴の一つだと思います。

と思っていたのですけれど、一つ、気になる非互換性を発見してしまいました。
簡単にまとめると、以下が判明しました。

  • スタティックページでは、コンテナタグへのグローバルタグアトリビュート(グローバルフィルター)の適用が有効
  • ダイナミックページでは、コンテナタグへのグローバルタグアトリビュート(グローバルフィルター)の適用が無効

【追記: 2006/09/14】この情報は、MT3.2のものです。MT3.3ではこの問題は解消されています。

dopvSTAR* 導入メモ - 研究室

Movable Type 対応のアクセス解析ツール「dopvSTAR*」を導入しました。
Movable Type と相性がよいということで導入してみたのですが、いくつか気付いたことが。

  • よくある「カテゴリの説明で日本語表記」を前提としているが、ウチは関係ない(英語表記のみ、カテゴリの説明は説明として使用)
  • ログ取得の書式サンプルそのままだと、XHTML1.0のValidationに通らない
  • 月別アーカイブと日別アーカイブを別に説明しているが、テンプレートは同一のもの(一つの日付アーカイブテンプレート)を使用
  • SSIでテキストカウンタを使いたいけれど、その方法が明示されていない

ということで、その辺りを調査し実際に解決していったので、覚え書きとして残しておきます。

MovableTypeのアクセス解析 [楽]を参考にしました。)

汎用コンテンツタグ - MTSpan - 研究室

Span 0.2 を公開。
汎用的な範囲タグ <MTSpan> を提供します。それ自体は内容に何も手を加えずに、そのまま出力するコンテンツタグです。
HTMLの <span> タグ(span要素)と同様な位置づけのタグです。

簡単な使用例:
<MTSpan encode_html="1">&lt;Tag&gt;<MTSpan>

&amp;lt;Tag&amp;gt;

動作環境

Movable Type(以下、MTと略記)ver.3.x、ver.4 以降。

2007/08/15 MT4、ダイナミックパブリッシングに正式対応しました。】

ブログ

研究室
書斎

タグクラウド

最近のブログ記事

Ruby東海第15回勉強会
研究室ブログ上
【覚書】[Ruby]続・トップレベルに定義したメソッドと同名のメソッドをクラスで定義した場合
研究室ブログ上
第39回FLOSS桜山勉強会
研究室ブログ上