LoginSignup
0
0

More than 1 year has passed since last update.

MovableType備忘録

Last updated at Posted at 2021-12-23

個人的な備忘録

その他の記事

タグの記法について

大文字小文字は区別しない。
<MTIgnore><mtignore>も同じ。

MTmt: の違いはない。歴史的な経緯。
<MTIgnore><mt:ignore>も同じ。

$有りと無し
$は変数のメタファー。
<MTVar name="custom_field">はタグ。
<$custom_field$>は変数のメタファー。

mt:BlogHost

ブログのホスト名を表示します。例えば、ブログ URL が http://www.example.com/blog/ の場合、www.example.com を表示します。

mt:BlogURL

目的

ブログのFQDN(ドメイン名)を含むURLを出力する。
通常は mt:BlogURL を使う方が良いが、検索CGIなどを使った場合、異なるドメイン(ホスト・サーバー)でCGIが実行されていると、リンク切れになる場合がある。
このような場合は、FQDNを含む完全なURLで出力する。

使い方

<a href="<$mt:BlogURL$>">TOP</a>

mt:BlogRelativeURL

目的

Apache の mod_write での rewrite_base に相当する。
MovableTypeは、一つのシステムで複数のブログを公開できる為、ブログ毎にディレクトリィを分ける場合がある。

FQDN(ドメイン名)を含めないのは、URLでドメイン名が省略されていた場合、カレントのページと同一であるとみなす仕様がある為。
こうすることで、MovableTypeの実行環境(ドメイン)と生成されたHTMLの公開環境(ドメイン)が異なっていてもリンクできる。

使い方

<a href="<$mt:MTBlogRelativeURL$>">TOP</a>

mt:BlogName

目的

環境設定で設定されたブログ名を表示する。

使い方

<header><h1><$mt:BlogName$></h1></header>

mt:BlogRelativeURL

目的

ドキュメント・ルートからの、ブログのパスを抽象化する。

使い方

<$MTBlogRelativeUrl$>foo.html/blog-root/foo.html

CategoryBasename

encode_html

目的

HTMLのエスケープ("<"や">"など)

使い方

<mt:EntryBody encode_html="1">

encode_url

目的

Aタグ(アンカー)のhrefに利用する値をエンコードする時に使います。

使い方

<mt:EntryTitle encode_url="1">
<MTVar name="custom_field" encode_url="1">

MTCanonicalURL

目的

CanonicalなURLを出力する

使い方

<link rel="canonical" href="<$MTCanonicalURL$>" />

regex_replace

目的

正規表現による置換

使い方

例えば、http:https: に置換する。

<MTVar name="custom_field" regex_replace="/http:/","https:">

タグを変数に変換する

使い方

タグ <mt:WebsiteURL> を変数 $MTWebsiteURL に変換する。

<mt:WebsiteURL setvar="MTWebsiteURL">

目的

記事のURLはフル・パスだが、ドキュメント・ルート・パスに変換したい。

<mt:WebsiteURL setvar="MTWebsiteURL">
<mt:WebsiteRelativeURL setvar="MTWebsiteRelativeURL">
<mt:EntryPermalink replace="$MTWebsiteURL","$MTWebsiteRelativeURL">

置換を使っているのは、ブログのパスがドキュメント・ルート直下ではなく、サブディレクトリィに設定されている場合があるから。

<mt:WebsiteURL> → http://example.com/example/  
<mt:WebsiteRelativeURL> → /example/

配列のループ

基本

配列に代入された値を出力する。
ループの評価に利用される変数 i は、$i でタグの中で利用できる。

配列を定義
<mt:SetVar name="list[1]" value="one" />
<mt:SetVar name="list[2]" value="twe" />
<mt:SetVar name="list[3]" value="three" />

ループ処理
<mt:For var="i" from="1" to="3">
  <mt:Var name="i"> <mt:Var name="list[$i]"> <br/>
</mt:For>

2次元配列なら、連想配列より、こちらの方が直感的でシンプル

各配列へ定義した値をタグ内で使いたい場合は、GetVar して、変数に SetVar する。

複数の配列を定義する。
<mt:SetVar name="name[1]" value="新着" />
<mt:SetVar name="code[1]" value="new" />

<mt:SetVar name="name[2]" value="人気" />
<mt:SetVar name="code[2]" value="popular" />

<mt:SetVar name="name[3]" value="ほげ" />
<mt:SetVar name="code[3]" value="hoge" />

ループ処理
<mt:For var="i" from="1" to="3">
  各配列に代入されている値を出力
  <mt:Var name="i">  <mt:Var name="name[$i]"> <mt:Var name="code[$i]"><br/>

  カテゴリー名で記事を抽出する
  <mt:GetVar name="name[$i]" setvar="category_name" />
  <mt:Entries lastn="10" category="$category_name">
    <$MTEntryTitle$><br/>
  </mt:Entries>
</mt:For>

プラグイン

MTTruncateURL

目的

リンク(aタグのhref)のスキーム(http, https)やFQDN(ドメイン名)を含むURL(https://example.com/foo/bar)を、ドメイン名を除いた、ドキュメント・ルート・パス(https://example.com/foo/bar/foo/bar)に変換する。

使い方

MTTruncateURL Plugin配布サイトからプラグインをダウンロードしてpluginフォルダにアップします。

対象となるのは、aタグのhrefアトリビュート要素の値だけです。

<mt:truncateurl>
  <a href="<$MTCategoryArchiveLink$>"><$MTCategoryArchiveLink$></a>
</mt:truncateurl>
0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0