これまでブログのエントリーに書いては都度アップしていたのですが、探しにくいとか最新版がどこにあるかわかりにくい、あるいは古いエントリーにリンクされたりブックマークされたりしていたので (ブログのエントリーってのはやはりこういう用途には向かない、というか僕の計画性が無いだけですが...) 新たに「Movable Type プラグイン」カテゴリを作成し、各プラグインの (本当の意味での) Permalinkを設定し改めて公開します。
MovableType4への対応状況等も追記しています。
このアーカイブの作成用に新たに書き下ろした2本を加えて公開時点で16本。今後も逐次アップしていきます。
今後はこのカテゴリからリンクしている Permalink が各プラグインの固有のURLとします。修正はこれらのページに対して行っていく予定です。
サイトの品質を確保するための仕組みはワークフローに組み込まなければならないってのは感覚としては理解していても現実的に中々難しいケースもあるでしょう。制作過程ではきちんとできていたものが納品後にだんだんとぐちゃぐちゃに...という経験ないですか? 制作者の皆様。
ということで、Movable Type4の「確認(プレビュー)」画面からAnother HTML Lintへポストして文法チェックを簡単に出来るプラグインを作ってみました。
例のごとく? ムービーにしました。
Movable Type 4で「ブログ記事」「ウェブページ」の「複製」を可能にします。
Movable Type 4でブログ記事アーカイブのテンプレートを複数用意しておき、エントリーの投稿画面でテンプレートを選択できるようにします。
特定のページが再構築されるタイミングでIDで指定した他のインデックステンプレートを再構築します。
エントリーの「出力ファイル名(basename)」とカテゴリーの「出力ファイル名(basename)」が一致するエントリーを出力するコンテナタグ。
特定のエントリーの特定のフィールド値を出力するテンプレートタグ。
RC2でも直っていないというかリリース時点ではおそらく無理だろうと思うのと、以前公開したtag2xhtmlプラグインがWindowsIEの前では力不足(?)だったので(とにかく汚いHTML!)、修正してあわせてグローバルフィルターバージョンを作成しました。
MT4のWYSIWYG(リッチテキスト)エディターが生成するHTMLをクリーンアップします。
要素タイプ名と属性名を小文字に変換し、空要素タグを /> で閉じます。また、B, I, U, STRIKE, FONT 等の物理要素をそれぞれ STRONG, EM, INS, DEL, SPAN要素に置換します。
また、ダブルクォーテーションで囲まれていない属性値をダブルクォーテーションで括ります。
再構築時にファイル全体に題して処理を行うバージョンもあります。
8月3日更新、グローバルフィルター版も作成しました。
MT4のWYSIWYG(リッチテキスト)エディターが生成するHTMLをクリーンアップします。
要素タイプ名と属性名を小文字に変換し、空要素タグを /> で閉じます。また、B, I, U, STRIKE, FONT 等の物理要素をそれぞれ STRONG, EM, INS, DEL, SPAN要素に置換します。
また、ダブルクォーテーションで囲まれていない属性値をダブルクォーテーションで括ります。
特定の EntryPermalink や ArchiveLink を指定したエイリアスへのリンクに置換します。
何をフックにして再構築するか迷ったんですが、結局インターフェイス作るのが面倒ってこともあって、インデックス・アーカイブにタグ<$MTRebuildBusinessYearArchives$>としておくとアーカイブ再構築の際に同時に再構築されるようにしました(直感的じゃねぇですが勘弁してください)。突っ込みとか改造とか歓迎。
「再構築」処理をバックグラウンドプロセスで行うことによりCMSの体感速度を向上させ、処理待ち時間を短縮するソリューションです。
エントリー編集画面の「確認」時にテンプレート及びCSSが反映された公開状態と同様の見栄えで確認ができるようになります。一時ファイルを生成しないため、MT4でも公開すべきでない情報がファイルとして残ってしまうのを回避できます。
出力されたエントリーアーカイブのページからエントリー編集画面へ移動するプラグイン+Bookmarklet。
最新版はこちらから(MT4対応/全アーカイブ対応版)。
ハイブリッド・パブリッシング(アーカイブ毎に設定できるように)に対応しました!
インデックスアーカイブ, カテゴリーアーカイブ, 日付別アーカイブ等は静的生成、エントリーアーカイブは動的生成とし、動的生成のページに対しては「最初にそのページへのアクセスがあった時」に再構築(静的HTMLファイルを生成)を行います。
ダイナミックパブリッシングによる再構築の負荷軽減と静的生成による閲覧時の負荷軽減の両方のメリットを享受できる方式です。
タイムスタンプで指定した日以前に更新(作成)されたエントリーアーカイブ及び日付アーカイブを再構築しないように制限するBuildFileFilter。
FastCGI環境でプラグインの追加や変更を簡単に反映させるプラグイン。
ブログのアクセシビリティ向上を支援するテキストフィルターを提供します。また、アップロード画面に画像のALT属性入力フィールドを追加します。
エントリーに含まれる文字列とか正規表現でテンプレートの処理を分岐させる条件タグ。
シンプル・軽量な mt-search.cgi 代替 Bootstrap アプリケーション。
エントリーやカテゴリーの偶数奇数を判別する条件タグ。
あらかじめ設定した複数のリンクをランダムに出力します。リンク先は5種類まで登録できます。
特定のカテゴリーアーカイブ (ファイル) を出力しないBuildFileFilterプラグイン。
ステータスが「未公開(下書き)」のエントリーアーカイブ (ファイル) が残っていたら削除します。
Unicode::Normalizeを利用して正規化するテキストフィルター。
URLのGETパラメタ (foo.html?var=buzz&...) の内容によってテンプレートを分岐させる条件タグです。MT4の場合はおそらくファイル名を全て小文字にすると利用できるかと思います。
アップロードした画像を挿入する時に『位置の設定「なし」』を選択できるようにします。
MT4のエントリープレビュー時に出来る一時ファイル(ed854eaae79b08bb04d41ab1de28c8a307b834ef.html のようなファイル) をプレビューの数秒後に削除します。