モテる ! Data API

  • 投稿日:
  • by
  • カテゴリ:

WordPressとかPHP系のコミュニティに行くと若い女の子がたくさんおるねん

Junnama Noda (2014.11.29)

「PHPを使えばモテるらしい」という話を耳にしたので、この仮説に基づいて Data API を使ってモテる方法を考えてみます。

ストラテジー

Data API はデフォルトで JSON 形式のデータを返すので、json_decode を使えば特に何も拡張しなくても PHPから利用することができます。

ただこの方法だと「json_decode」は 5.2 以降でないと使えなくてリーチできる範囲が狭くなりますし、「file_get_contents」とかなんかギークっぽい感じもするので、これを改善してゆるふわに利用できれば、Data API を使ってもっとモテることができるのではと考えました。

ソリューション

  • Data API は出力のフォーマットを変更する仕組みをもっているので、プラグインを作成してPHPのソースコードで出力できるようにする。
  • また Data API は、エンドポイントに拡張子を付けることでフォーマットを指定できるるので、これも利用する。

この2つの戦略を適用すると、以下のようなコードで PHP から Data API を利用できるようになります。

プラグイン

DataAPIFormatPHPをインストールすると、前出のコードが動くようになります。

インプリメンテーション

DataAPIFormatPHPの実装は非常に簡単なもので、PHPのデータ構造への変換はPHP::Sessionモジュール(をちょっと改造したもの)にお任せしているため、数十行程度のconfig.yamlのみで実現されています。

コンクルージョン

それでは、DataAPIFormatPHPでよいお年をお迎えください。

Movable Type Advent Calendar 2014の8日目の記事でした。

トフ

トフはシックス・アパートの公式キャラクターです。CC BY-NC-SA 4.0 の下でライセンスされており、オリジナルは シックス・アパートのウェブサイトで入手可能です。

各ツールのアップデートを行いました。お試しいただいている方は申し訳ありませんが、SyncedTheme プラグインの方は必ず更新をお願いします。

SyncedTheme 0.03

ダウンロード

  • システムレベルのテンプレート編集権限の無いユーザーでも、アカウントを持っていればテーマのファイルをアップロードできてしまうという問題があったので、これを修正しました。

0.03 では機能の追加はないので、ローカル環境でテストをするだけの場合には 0.02 でも問題はありません

mt-sync-theme 0.1.5

Homebrewの場合

brew update && brew upgrade mt-sync-theme

ダウンロード版

ダウンロード

  • MTの環境により正しく認証の情報を取得できない問題を修正しました。
  • 「プラグインがインストールされていない」などの状態が報告されるようになりました。

MTSyncTheme.app 0.0.5

ダウンロード

  • アプリケーションが起動できないという致命的な問題を修正しました。
  • 「プラグインがインストールされていない」などの状態が報告されるようになりました。

known_hosts を内包した ssh ラッパー

  • 投稿日:
  • by
  • カテゴリ:

(GitHub向けの) known_hosts を内包した ssh ラッパーを書いてみました。

ssh 接続で git clone する場合、GIT_SSH 環境変数を設定するとそれを使って接続してくれるのですが、このスクリプトを設定すればサーバー上のプログラムで GitHub から clone しようとした場合にも Host key verification failed と言われずに clone できます。

ほんとうは CheckHostIP=yes にしてIPアドレスを埋め込んだ方がいいと思います。

これは何か?

MTでテーマを同期するためのツールチェーンの一部で、デスクトップ上のファイルをMTにアップロードするためのアプリケーションです。(全体についてはこちら)

できること

  • デスクトップ上のテーマのファイルをMTに同期することができます
  • デスクトップ上に保存したテーマから直接プレビューを生成できます
    • 複数のファイルにまたがる変更の場合にも、全ての変更を反映した状態でプレビューを生成できます
  • デスクトップ上に保存したテーマから、MTにテンプレートを一括で反映することができます
  • 同じテーマのブログをまとめて再構築することができます

デモ

(全体の説明でのデモと同じものです)

動作環境

  • OS X 10.9 以降
    • OS X Mavericks
    • OS X Yosemite
    • それ以降

インストール

  1. GitHubからdmgファイルをダウンロードしてください。リリース一覧
  2. ダウンロードしたファイルを開いて、MTSyncTheme.app をアプリケーションフォルダへインストールしてください。

(これ以降の説明はコマンドライン版の mt-sync-theme とほぼ同じ内容です)

実行前の設定

最小限の設定

  1. MTにSyncedThemeをインストールしてください
  2. 書きだしたテーマをデスクトップに保存してください
  3. MTSyncTheme.appを実行する準備が整いました

詳細設定

  1. MTにSyncedThemeをインストールしてください
  2. (オプション) SyncedTheme を使ってテンプレートをテーマファイルにリンクしておくと便利です
  3. (オプション) ブログからテーマを書き出してください
  4. 書きだしたテーマをデスクトップに保存してください
  5. (オプション) テーマのディレクトリにmt-sync-theme.yamlという名前で設定ファイルを置いてください。
    • 設定例
    • 設定値はコマンドラインオプションとして指定することもできます
  6. MTSyncTheme.appを実行する準備が整いました

使いかた

概要

利用可能なコマンド
  • Preview
    • ファイルの更新を監視して、ファイルが更新されるとプレビューページを生成し、指定されたハンドラでページを開きます。
    • このサブコマンドではmt-sync-themeは本番環境には影響を与えません。
  • On the fly
    • ファイルの更新を監視して、ファイルが更新されると対応している公開ページを更新し、指定されたハンドラでページを開きます。
    • このサブコマンドではmt-sync-theme本番環境に影響を与えます。公開前の構築時に利用されることを想定しています。
  • Sync
    • デスクトップ上のファイルをMTにアップロードします。
  • Apply
    • 関連付けられている全てのブログで、テーマを再適用します。
  • Rebuild
    • 関連付けられている全てのブログを再構築します。

Preview

  • ファイルの更新を監視して、ファイルが更新されるとプレビューページを生成します。
    • このコマンドはファイルを監視するループになります。Ctrl+C で終了します。
  • 更新されたファイルがインデックステンプレートかアーカイブテンプレートであった場合、url_handler として指定されたコマンドで URL を開きます。
    • モジュールテンプレートの場合には、theme.yaml で "preview_via" を指定することで、任意のテンプレートでプレビューを生成することができます。

On the fly

  • ファイルの更新を監視して、ファイルが更新されると対応するページを生成します。
    • このコマンドはファイルを監視するループになります。Ctrl+C で終了します。
  • このコマンドを実行する前には、ブログを1度再構築しておく必要があります。
  • 更新されたファイルがインデックステンプレートかアーカイブテンプレートであった場合、url_handler として指定されたコマンドで URL を開きます。
    • モジュールテンプレートの場合には、theme.yaml で "preview_via" を指定することで、任意のテンプレートでプレビューを生成することができます。

Sync

  • デスクトップ上のファイルをMTにアップロードします

Apply

  • 関連付けられている全てのブログで、テーマを再適用します
  • 以下の importer のみが実行されます。
    • template_set
    • static_files
    • custom_fields
      • テーマからカスタムフィールドを適用すると失敗するケースが多いですが、これはMT側の仕様です

Rebuild

  • 関連付けられている全てのブログを再構築します。

詳細設定

preview_via

preview_via を使って、プレビューに利用するテンプレートを明示的に指定することができます。

--- 
elements: 
  template_set: 
    data: 
      templates: 
        module: 
          entry_summary: 
            label: Entry Summary
            preview_via: main_index

関連するツールのリンク

  • ツール全体について
  • SyncedTheme
    • MT側でこのツールを利用可能にするためのプラグイン
  • mt-sync-theme
    • デスクトップ上のファイルをMTにアップロードするためのコマンドラインツール
  • MTSyncTheme.app (このページです)
    • デスクトップ上のファイルをMTにアップロードするためのアプリケーション

MTでテーマを同期するためのツールチェーン - mt-sync-theme

  • 投稿日:
  • by
  • カテゴリ:

これは何か?

MTでテーマを同期するためのツールチェーンの一部で、デスクトップ上のファイルをMTにアップロードするためのコマンドラインツールです。(全体についてはこちら)

これはコマンドラインツールです

もしコマンドラインツールに馴染みが無く、かつ OS X 10.9 (Marberics) 以降をお使いの場合には、この記事をとばしてMTSyncTheme.appを読んでいただくことをおすすめします。

できること

  • デスクトップ上のテーマのファイルをMTに同期することができます
  • デスクトップ上に保存したテーマから直接プレビューを生成できます
    • 複数のファイルにまたがる変更の場合にも、全ての変更を反映した状態でプレビューを生成できます
  • デスクトップ上に保存したテーマから、MTにテンプレートを一括で反映することができます
  • 同じテーマのブログをまとめて再構築することができます

デモ

インストール

Mac OS X / Homebrew

Homebrew をお使いの場合には、以下のコマンドでインストールできます。

brew tap mt-sync-theme/mt-sync-theme
brew install mt-sync-theme

バイナリ (Windows環境の場合はこちらになります)

実行プログラムをこちらからダウンロードできます。リリース一覧

go get

go の環境があれば go get でもインストールできます。

go get github.com/mt-sync-theme/mt-sync-theme

実行前の設定

  1. MTにSyncedThemeをインストールしてください
  2. (オプション) SyncedTheme を使ってテンプレートをテーマファイルにリンクしておくと便利です
  3. (オプション) ブログからテーマを書き出してください
  4. 書きだしたテーマをデスクトップに保存してください
  5. (オプション) テーマのディレクトリにmt-sync-theme.yamlという名前で設定ファイルを置いてください。
    • 設定例
    • 設定値はコマンドラインオプションとして指定することもできます
  6. mt-sync-themeを実行する準備が整いました

使いかた

概要

mt-sync-themeはサブコマンドをとり、それを実行します。

mt-sync-theme preview
利用可能なサブコマンド
  • preview
    • ファイルの更新を監視して、ファイルが更新されるとプレビューページを生成し、指定されたハンドラでページを開きます。
    • このサブコマンドではmt-sync-themeは本番環境には影響を与えません。
  • on-the-fly
    • ファイルの更新を監視して、ファイルが更新されると対応している公開ページを更新し、指定されたハンドラでページを開きます。
    • このサブコマンドではmt-sync-theme本番環境に影響を与えます。公開前の構築時に利用されることを想定しています。
  • sync
    • デスクトップ上のファイルをMTにアップロードします。
  • apply
    • 関連付けられている全てのブログで、テーマを再適用します。
  • rebuild
    • 関連付けられている全てのブログを再構築します。

preview

  • ファイルの更新を監視して、ファイルが更新されるとプレビューページを生成します。
    • このコマンドはファイルを監視するループになります。Ctrl+C で終了します。
  • 更新されたファイルがインデックステンプレートかアーカイブテンプレートであった場合、url_handler として指定されたコマンドで URL を開きます。
    • モジュールテンプレートの場合には、theme.yaml で "preview_via" を指定することで、任意のテンプレートでプレビューを生成することができます。
mt-sync-theme preview

on-the-fly

  • ファイルの更新を監視して、ファイルが更新されると対応するページを生成します。
    • このコマンドはファイルを監視するループになります。Ctrl+C で終了します。
  • このコマンドを実行する前には、ブログを1度再構築しておく必要があります。
  • 更新されたファイルがインデックステンプレートかアーカイブテンプレートであった場合、url_handler として指定されたコマンドで URL を開きます。
    • モジュールテンプレートの場合には、theme.yaml で "preview_via" を指定することで、任意のテンプレートでプレビューを生成することができます。
mt-sync-theme on-the-fly

sync

  • デスクトップ上のファイルをMTにアップロードします
mt-sync-theme sync

apply

  • 関連付けられている全てのブログで、テーマを再適用します
  • 以下の importer のみが実行されます。
    • template_set
    • static_files
    • custom_fields
      • テーマからカスタムフィールドを適用すると失敗するケースが多いですが、これはMT側の仕様です
mt-sync-theme apply

rebuild

  • 関連付けられている全てのブログを再構築します。
mt-sync-theme rebuild

詳細設定

preview_via

preview_via を使って、プレビューに利用するテンプレートを明示的に指定することができます。

--- 
elements: 
  template_set: 
    data: 
      templates: 
        module: 
          entry_summary: 
            label: Entry Summary
            preview_via: main_index

関連するツールのリンク

  • ツール全体について
  • SyncedTheme
    • MT側でこのツールを利用可能にするためのプラグイン
  • mt-sync-theme (このページです)
    • デスクトップ上のファイルをMTにアップロードするためのコマンドラインツール
  • MTSyncTheme.app
    • デスクトップ上のファイルをMTにアップロードするためのアプリケーション

MTでテーマを同期するためのツールチェーン - SyncedTheme

  • 投稿日:
  • by
  • カテゴリ:

これは何か?

MTでテーマを同期するためのツールチェーンの一部で、ブログのテンプレートと「テーマ」のファイルをリンクすることができるプラグインです。(全体についてはこちら)

できること

  • ブログのテンプレートから、ファイルのリンクを一括で設定することができます
    • 今までのように、1つずつファイルのリンクを設定する必要がありません
  • mt-sync-theme や MTSyncTheme.app を利用するための Data API のエンドポイントを追加します

リンクの一括設定は次のようなイメージです。ブログの新規作成画面に「テンプレートにリンク」のチェックボックスが追加され、これにチェックを入れてブログを作成すると、作成されたブログのテンプレートから「テーマ」のファイルにリンクされます。

もう少し詳しい説明

MTの「テーマ」は再適用もできるので運用開始後の利用も想定されているのですが、再適用やテンプレートの初期化は手間がかかるので、トライアンドエラーでテンプレートを書いていくためには現実的な作業ではありませんでした。また一括で複数のブログを初期化することもできないので、複数のブログに同じテーマを適用していても、更新時にはそれぞれ適用する必要がありました。

このプラグインの機能を使うと、ブログのテンプレートを全て、テーマのファイルにリンクします。その状態になっていれば、テーマをダウンロードしてデスクトップで編集し、それをMTに戻すだけでテンプレートの変更を反映させることができます。

また複数のブログでテーマを共有している場合には、テーマのファイルを更新するだけで関連付けられている全てのブログのテンプレートを更新することができます。

複数のブログで共有している場合には、別のメリットもあり、ブログAとブログBがあった場合、ブログAの方でMT上でテンプレートを更新しただけでブログBのテンプレートも更新できる、という状態になるので、「デスクトップとの連携」しなくてもリンクしているという状態を活かすことができます。

つまりこのプラグインは「テーマ機能」を、「ブログ作成時の雛形」から「運用の中でのテンプレートの更新を管理するための器」にするというパラダイムの転換を促すものであると思っています。(大げさに言えば)

スクリーンショット

テーマのエクスポート時に同時にリンクの設定を行うことができます。(実際の運用ではこちらから設定するケースの方が多いかもしれません)

インストール

  1. GitHubからzipファイルをダウンロードしてください。リリース一覧
  2. ダウンロードしたファイルを展開してください。
  3. pluginsディレクトリにアップロードしてください。
    インストール後のディレクトリの配置は以下のようになります。
    $MT_HOME/
        plugins/
            SyncedTheme/
    

制限事項

このプラグインを使って「<__trans ... />」を含むテンプレートにリンクをすると、翻訳された状態で保存されます。(元に戻すことはできません)

関連するツールのリンク

  • ツール全体について
  • SyncedTheme (このページです)
    • MT側でこのツールを利用可能にするためのプラグイン
  • mt-sync-theme
    • デスクトップ上のファイルをMTにアップロードするためのコマンドラインツール
  • MTSyncTheme.app
    • デスクトップ上のファイルをMTにアップロードするためのアプリケーション

これは何か?

「テーマ」の機能を利用してデスクトップとMTを連携させるためのツールです。

できること

  • ブログのテンプレートから、ファイルのリンクを一括で設定することができます
    • 今までのように、1つずつファイルのリンクを設定する必要がありません
  • デスクトップ上に保存したテーマから直接プレビューを生成できます
    • 複数のファイルにまたがる変更の場合にも、全ての変更を反映した状態でプレビューを生成できます
  • デスクトップ上に保存したテーマから、MTにテンプレートを一括で反映することができます
  • 同じテーマのブログをまとめて再構築することができます

デモ

開発の背景

バージョン管理システムの利用がウェブ制作の現場にも普及してきたためか、最近では、

テンプレートをバージョン管理システムで管理したい

という話を、しばしば耳にするようになりました。

MTにもテンプレートの更新履歴を管理する機能があり、これはMT上で更新の流れを追うためには便利なのですが、特定の時点のスナップショットを保存しておくことはできないですし、また制作側としては「ブログ単位のまとまりとしてテンプレートを管理」したいところがあるような気がするので、それには少し別のアプローチをとった方がいいかなと思っていました。

またそれと平行して個人的に、MTの「テーマ」の機能はブログ作成時の雛形としては有用な機能がそろっているものの、一括で適用する機能などが無いなと思っていて、もう少し機能が追加されれば運用のための機能としても使えるようになるなとも思っていました。

それらの問題に対する自分なりの回答が、今回のツールになります。

ツールの詳細

このツールは以下の3つのプラグインやアプリケーションで構成されています。

  • SyncedTheme
    • MT側でこのツールを利用可能にするためのプラグイン
  • mt-sync-theme
    • デスクトップ上のファイルをMTにアップロードするためのコマンドラインツール
    • いわゆる黒い画面で動くものです
    • 次の MTSyncTheme.app が使える場合には、このツールは無視して大丈夫です
  • MTSyncTheme.app
    • デスクトップ上のファイルをMTにアップロードするためのアプリケーション
    • mt-sync-theme の GUI フロントエンドです
    • OS X 10.9 (Mavericks) 以上が必要です

インストール方法や使いかたはそれぞれのページで説明していきます。

トフについて

トフはシックス・アパートの公式キャラクターです。CC BY-NC-SA 4.0 の下でライセンスされており、オリジナルは シックス・アパートのウェブサイトで入手可能です。

Amazon Web Service (AWS) の Elastic Load Balancing (ELB) の場合はIPアドレスが固定ではなくhostsファイルでは設定しにくいというところもあり、DNSのレコードを未設定のホストにブラウザからアクセスしたい場合には、proxy.pacでELBのAレコードに向けてしまうと便利です。この場合、ELBは設定したEC2インスタンスへのプロキシサーバーとして振る舞ってくれるので、何も準備をしなくてもHTTPであれば表示することができます。ただHTTPSに関しては、proxy.pacで設定した場合にはブラウザはCONNECTメソッドを使って繋ぎにいくのですが、ELBがCONNECTメソッドには対応していないため、表示することができません。

そのような問題を解決するためのツールを書きました。

r2proxy

どのように動作するのか?

  • r2proxyは、(オプション無しで起動すると) 直接の接続元へのHTTPのプロキシサーバーとして動作します。( CONNECTメソッドにも対応しています)
    • ELBのインスタンスは、(2014年10月時点では)接続元のIPアドレスに接続しても、設定したInstance Portから応答を返してくれるようなので、その動作を利用しています。
  • ELBでTCPのListenerを一つ作り、それをr2proxyに向けます。
  • proxy.pacで、TCPのListenerのポートを指定すると、HTTPSのリクエストを表示できるようになります。

特徴

  • ELBのHTTPSのListenerを利用できます。
    • EC2のインスタンスでHTTPSの設定をする必要がありません。
  • ELBの"Cookie Stickiness"を利用できます。(2014年10月時点)
  • デフォルトで想定している使いかたの場合には、環境ごとの個別の設定は必要ありません。
    • コンパイル済みのプログラムをコピーして実行すれば動作します。

懸案事項など

  • 「接続元のIPアドレスからも応答を返してくれる」という現時点での挙動に依存しているので、これが変更になった場合には動作しなくなります。
  • ELBとインスタンスの間のやりとりが一往復増えていたりするので、r2proxyはHTTPの(HTTPS向けでない)プロキシサーバーとしても動作していますが、HTTPSのリクエストのみを向けるのがいいと思います。
  • CONNECTメソッドを使うことになるので、接続先のホスト名はHTTPで暗号化されずに送信されます。(HTTPSに関してはリクエストと応答の内容は暗号化されます)

Movable Type で、編集画面とプレビュー画面を同期する FastestPreview というプラグインを公開しました。

FastestPreview

できること

  • 編集画面で変更した内容を、リアルタイムでプレビュー画面に反映させることができます。
  • mt-config.cgi の設定を調整する必要がありますが、基本的にはインストールするだけで利用できます。
  • 独自のテンプレートを使っている場合でも同期できます。
  • 管理画面のドメインとブログのドメインが異なっていても同期できます。
    • このケースでは、CGIPath や StaticWebPathに絶対パスを指定する必要があります。

デモ

http://screencast.com/t/uBUjtBtS

インストール

  1. GitHubからzipファイルをダウンロードしてください。リリース一覧
  2. ダウンロードしたファイルを展開してください。
  3. pluginsディレクトリとmt-static/pluginsディレクトリにアップロードしてください。

    インストール後のディレクトリの配置は以下のようになります。

    $MT_HOME/
        plugins/
            FastestPreview/
        mt-static/
            plugins/
                FastestPreview/
    
  4. mt-config.cgi の設定を変更してください。
    1. "CGIPath" (もしくは "AdminCGIPath") と "StaticWebPath" が、http からはじまる絶対URLで指定さていることを確認してください。(/ からはじまる相対パスの場合は、ブログのドメインが異なる場合に正しく動作しません)
    2. PreviewInNewWindow に 1 を設定してください。(PreviewInNewWindow のドキュメント)

サポートしているタグ

以下のタグが埋め込まれている部分が同期されます。(モディファイアが付いていないタグのみが同期されます)

  • mt:EntryTitle
  • mt:EntryBody
    • Markdown と Textile も部分的にサポートされています
  • mt:EntryMore
  • mt:EntryExcerpt
    • 「本文」から自動生成はされません
  • mt:EntryKeywords
  • mt:PageTitle
  • mt:PageBody
  • mt:PageMore
  • mt:PageExcerpt
  • mt:PageKeywords
  • カスタムフィールドで生成されたタグ
    • テキスト
    • テキスト(複数行)

サポートしている出力タイプ

  • スタティックパブリッシング
  • ダイナミックパブリッシング

動作環境

  • MT6

外部ライブラリ

このプラグインにはフォーマットの変換を行うために以下の外部ライブラリが含まれています。

Movable Type に「パス別」というマッピングのタイプを追加する、MappingBasedArchive というプラグインを公開しました。ざっくりいうと「カスタムフィールドの値ごとにアーカイブを作ることができる」ようになるプラグインです。

MappingBasedArchive

screenshot-ja-shadow.png

できること

  • 「出力されるパス」を基準にして、記事をまとめてアーカイブすることができます。
  • カスタムフィールドの設定から簡単にパスを設定することができます。
    • 特に以下のタイプのカスタムフィールドが登録されていると、選択肢から選ぶだけで利用することができます。
      • ドロップダウン
      • ラジオボタン
  • AnotherCustomFields にも対応しており、カスタムフィールドと同様「ドロップダウン」と「ラジオボタン」のフィールドがある場合、選択肢に表示されます。
  • カスタムフィールドのそのままの値を使うだけでなく、例えば数値のフィールドであれば範囲で区切ってアーカイブにすることもできます。
  • 任意の順番でアーカイブを並べ替えることができます。
  • アーカイブに名前を付けることができます。

デモ

http://screencast.com/t/BTpd3ofH3P

インストール

  1. GitHubからzipファイルをダウンロードしてください。zipファイル
  2. ダウンロードしたファイルを展開してください。
  3. MTのpluginsディレクトリにアップロードしてください。

インストール後のディレクトリの配置は以下のようになります。

$MT_HOME/
    plugins/
        MappingBasedArchive/

基本的な使いかた

  1. 「ドロップダウン」タイプのカスタムフィールドを作成します。Create Custom Field
  2. 「パス別」のアーカイブマッピングを作成します。 Create Archive Mapping
  3. 「パス」を選択します。(デフォルトで選択されているので、そのままでも大丈夫です。)Choose Output Path
  4. 鉛筆のアイコンをクリックして、詳細情報を編集することもできます。アーカイブファイルを出力するだけであれば編集する必要はありませんが、<mt:ArchiveList> を利用する場合にはここでマッピングに「名前」を付けておく必要があります。Edit Template Map
  5. テンプレートを保存して、再構築してください。
  6. ナビゲーションにアーカイブファイルの一覧を入れる場合には、以下のように書くことができます。
<mt:ArchiveList name="EntryDataTypeMapping">
<a href="<mt:ArchiveLink />"><mt:ArchiveTitle /></a>
</mt:ArchiveList>

応用的な使いかた

範囲でまとめる

  1. 「テキスト」タイプのカスタムフィールドを作成してください。
    • このフィールドには数値のみを入れるものとします。
  2. 「パス別」のマッピングを作成してください。
  3. 「パス」を次のように設定してください。<mt:NumberField regex_replace="/\d\d$/","00"/>/%i

以下のようなアーカイブファイルが出力されます。

  • 100/index.html (100〜199の値)
  • 200/index.html (200〜299の値)
  • ...

親カテゴリでまとめる

  1. 「パス別」のマッピングを作成してください。
  2. 「パス」を次のように設定してください。 <mt:EntryCategories><mt:ParentCategory><mt:CategoryBasename /></mt:ParentCategory></mt:EntryCategories>/%i

サポートしているアーカイブ系のタグ

  • mt:ArchiveList
  • mt:ArchiveTitle
  • mt:ArchiveCount
  • mt:ArchiveNext
  • mt:ArchivePrevious
  • mt:ArchiveLink

よくある(ありそうな)質問と答え

  • 1つのマッピングから複数のアーカイブファイルを書き出すことはできますか?
    • できません。

サポートしている出力タイプ

  • スタティックパブリッシング
  • ダイナミックパブリッシング

動作環境

  • MT6