RelativeURLFilter

目次

はじめに

RelativeURLFilterプラグインはURLを相対パスに置換する機能を提供します。 Movable Type 6.3 以上で動作します。

インストール

本パッケージに含まれる「plugins」ディレクトリ内の「RelativeURLFilter」ディレクトリを、Movable Typeインストールディレクトリの「plugins」ディレクトリの下にコピーしてください。

主な機能

  • URLを相対パスに変換することができます

使い方

RelativeURLFilterによる置換の方法は2通りあります。お好みで使い分けてください。

サイトの出力ファイルを一括で置換する方法

サイトのプラグイン設定画面で一括置換の設定を行います。この機能を有効化すると、再構築により出力されるファイルのうち指定された拡張子のファイルについて置換処理が行われます。

relativeurlfilter01.png

有効化

「置換機能を有効化します」をチェックすることで、再構築時の一括置換機能が有効化します。

対象拡張子

置換対象となる出力ファイルの拡張子を指定します。カンマ区切りで複数指定することができます。デフォルトは「htm,html,php,css,js」です。

なお、対象拡張子のファイルの中に置換処理を行いたくないファイルがある場合には、テンプレートに次のテンプレートタグを記述することで、置換を行わないようにすることができます。

<$MTSetVar name="skip_relativeurlfilter" value="1"$>

なお、一括処理での置換方法は、次のグローバルモディファイアで指定される「1」の方法になります。

テンプレートタグで置換範囲を限定して置換する方法

RelativeURLFilterはグローバルモディファイアとして任意のタグと組み合わせて動作します。例えば、次のように使います。

<$MTBlogURL relative_url="1"$>

こうすることで、サイトのURL(サイトURL)がパス名のみに変換されます
(例:http://labs.m-logic.jp/blog1/ → /blog1/)

グローバルモディファイアrelative_urlのパラメータによって変換方法を指定することができます。パラメータはカンマ区切りで複数指定することが可能です。

  1. サイトURLのスキーム(http://もしくはhttps://)+ホスト名が一致したURLをパス名のみに置換します。
    (例:サイトURL「https://labs.m-logic.jp/site1/」の場合に
    https://labs.m-logic.jp/site2/blog1/ → /site2/blog1/)
  2. 親サイトがある場合には親サイトのサイトURLを用いて「1」と同じ置換を行います。
  3. サイトURLのホスト名が一致したhttp://とhttps://のURLをパス名のみに置換します。
    (例:サイトURL「http://labs.m-logic.jp/site1/」の場合に
    https://labs.m-logic.jp/site2/blog1/ → /site2/blog1/)
  4. 親サイトがある場合には親サイトのサイトURLを用いて「3」と同じ置換を行います。

http://... もしくは https://...

指定されたURLに前方一致するURLを、指定したURLからの相対パスに置換します。
(例:relative_url="https://labs.m-logic.jp/news/" とした場合に
https://labs.m-logic.jp/news/cat1/ → /cat1/)

その他

指定された文字列をホスト名+パス名とするhttp://とhttps://のURLに前方一致するURLを、指定したURLからの相対パスに置換します。
(例:relative_url="labs.m-logic.jp/news/" とした場合に https://labs.m-logic.jp/news/cat1/ → /cat1/)

更新履歴

  • [2021-04-13:v0.70]
    • 出力拡張子に応じて出力ファイル全体の置換を行えるようにした(relative_url="1"相当)
  • [2011-08-15:v0.60]
    • 置換方法を複数指定できるようにした
  • [2008-05-29:v0.50]
    • 最初のリリース

このプラグインの利用、及び著作権や保証について

このプラグインの著作権はM-Logic, Inc.が所有しています。著作権者の許可なく本プラグインを使用、改変、再配布することはできません。