MTの日記ブログの内容もこちらに持ってきてみることにした。
細かくは @tinybeans のエントリを参考にしてもらえればと思います。
MTOS から Craft CMS に JSON 形式でデータを移行する方法 | かたつむりくんのWWW
https://tinybeans.net/blog/201…
ドメインが www の有無、SSLかどうかが混じってたのでこのタイミングで置換して Feedmeで取り込んだ。
画像類とサムネイル系を丸っと持っていく。
それでも画像が抜けてるのとかはそもそも以前どこかのタイミングで抜けてたっぽい。まぁ仕方ない。
どっかのバックアップに落ちてるかなぁ。。。
最終的に移行用に作ったテンプレート
mt:ignore本文欄からサイトのホスト名部分を削除するための正規表現をセット</mt:ignore> mt:setvars pattern =/mt:blogurl/g replacement =mt:blogrelativeurl </mt:blogrelativeurl></mt:blogurl></mt:setvars> mt:ignore配列のための変数を初期化</mt:ignore> <mt:setvar name=“items”> <mt:entries lastn=“0”> mt:ignore配列 items に入れていく各アイテムをセットするハッシュ変数 item を初期化</mt:ignore> <mt:setvar name=“item”> mt:ignore各アイテムの情報をハッシュ変数 item にセット</mt:ignore> <mt:setvarblock name=“item” key=“title”><mt:entrytitle remove_html=“1”></mt:entrytitle></mt:setvarblock> <mt:setvarblock name=“item” key=“id”>mt:entryid</mt:entryid></mt:setvarblock> <mt:setvarblock name=“item” key=“category”><mt:entrycategory _default=“diary”></mt:entrycategory></mt:setvarblock> <mt:setvarblock name=“item” key=“slug”><mt:entrydate format=“%Y%m_“>mt:entrybasename</mt:entrybasename></mt:entrydate></mt:setvarblock> <mt:setvarblock name=“item” key=“body”><mt:entrybody regex_replace=“$pattern” ,“$replacement”="" trim=“1”></mt:entrybody></mt:setvarblock> <mt:setvarblock name=“item” key=“date”><mt:entrydate language=“en”></mt:entrydate></mt:setvarblock> mt:ignoreハッシュ変数 item を配列変数 items に push</mt:ignore> <mt:setvar name=“items” function=“push” value=“$item”> </mt:setvar></mt:setvar></mt:entries> mt:ignore配列変数 items を変数 channel にセット</mt:ignore> <mt:setvar name=“channel” key=“items” value=“$items”> mt:ignore最終的に出力する変数 out に channel をセット</mt:ignore> <mt:setvar name=“out” key=“channel” value=“$channel”> mt:ignore変数 out を JSON で出力</mt:ignore> <mt:var name=“out” to_json=“1” trim=“1”></mt:var></mt:setvar></mt:setvar></mt:setvar>
slugをpermalinkベースの一意になるように設定してみたつもり。
カテゴリをタグに移行するように一応出力しつつ、未設定のはデフォルトで入れてみた。
リダイレクトとかもほんとはあるんだろうけど、まぁ更新してなかったからそこはいいとする。