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にアップロードするためのアプリケーション