Movable TypeでAssetURLやEntryPermalink・ContentPermalinkで出力されるパスを絶対パスから相対パスに変える

Movable Typeで下記のタグを使って画像や記事のリンクを出力すると、絶対パスで出力されてしまいます(僕が使っていて確認したのが下記3つなので他にも絶対パスで出力されるタグがあるかもしれません)。
<mt:AssetURL><mt:EntryPermalink><mt:ContentPermalink>
ステージング環境で更新・再構築をして、問題がなければ本番環境にアップするような運用の場合、絶対パスだと困ります。
ということで、絶対パスを相対パスに置き換えるように処理を入れました。
パスの置き換え
Movable Typeのタグでは「replace」という属性が使えます。
使い方は「replace="検索する語","置換する語"」です。「,(カンマ)」で区切って2つの値を指定します。
これを使ってサイトのドメインを「/」に置き換えます。
サイトのドメインは変数を使う
全箇所に直接ドメイン名を記述するのは後で変更したくなったときに微妙なので、テンプレートの最初に、サイトのURLを変数に入れて持っておくようにします。
<MTIgnore>【定数】:サイトのURL</MTIgnore>
<mt:SetVarBlock name="WebsiteURL"><mt:BlogParentWebsite><$mt:WebsiteURL$></mt:BlogParentWebsite></mt:SetVarBlock>あとは「$WebsiteURL」で変数の呼び出しができるので、「/」に置き換えるようにタグを置き換えていきます。
<mt:AssetURL replace="$WebsiteURL","/"><mt:EntryPermalink replace="$WebsiteURL","/"><mt:ContentPermalink replace="$WebsiteURL","/">
タグの表記を統一しておくことの重要性
あとになってからこの現象に気がついたので、各テンプレートファイルを見て回って一括で検索・置換して対応しました。
Movable Typeでは<mt:AssetURL>や<MTAssetURL>、<$mt:AssetURL>など同じタグでも複数の表記方法があります。
表記が揃っていないと、このような後からの検索・置換時に抜け漏れが出てきて大変になるなと感じました。

手軽にコーディングの勉強ができるCodePenをもっと便利に使うための設定
Visual Studio Codeのマルチカーソル機能で文字操作を一括で行う
ブラウザでこれ以上スクロールできない場合の挙動を制御する「overscroll-behavior」プロパティ
コードスニペットの管理方法や命名規則について
WordPressの常時SSL化で、下層ページのhttpからhttpsへのリダイレクトがうまくいかない場合に確認すること
コーディング時のclass名の省略はどこまでして良いのか?「img / btn / ttl / desc / thumb」
Local by Flywheelのページ遷移を軽くする設定
選択テキストをHTMLタグですぐ囲めるようになるVisual Studio Code拡張機能「htmltagwrap」
scpコマンドでターミナル接続先のリモートファイルをローカルにダウンロードする方法
効率的なマークアップが出来るようになるEmmetでHTMLを書く時の基本
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Path Finderを使ってキーボードだけでファイル操作する方法(基本操作編)
macOSのコマンドパレット比較!SpotlightとAlfred、Raycastどれを使えばいい?
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Gitで1行しか変更していないはずのに全行変更した判定になってしまう
Macでアプリごとに音量を調節できるアプリ「Background Music」
Macのターミナルでパスワード付きのZIPファイルを作成する方法
MacBook Proでディスプレイのサイズ調整をして作業スペースを広げる
SteerMouseの「自動移動」機能で保存ダイアログが表示されたら自動でデフォルトボタンへカーソルを移動させる