前回の入門1では、最初のセットアップからGitHubとの連携までを扱いました。https://zenn.dev/morit4ryo/articles/f4a29f97a04881ここからは、実装を行なっていくために必要な知識として、テンプレートについて学びます。GitベースでMovableType.netのテンプレート編集を行う際には、管理ページ上のテンプレートがGitとどのように連動するか理解する必要があります。(以下の情報はMT.net公式のテーマをベースに書かれているため、サードパーティテーマではこの限りではありません)Gitベースで管理する上で必須の情報と言えますが、MovableType.netの公式マニュアルには記載のない範囲もあり、まとめを作成しました。かんデザ編集」と略記します。テンプレートの種類MT.netのテンプレートには以下の4種類が存在します。ファイル名の法則また、MTタグが使用されるファイルの形式はすべて.mtml拡張子となります。格納場所テンプレートファイルの格納場所は基本./_theme/templatesとなり、./_theme/templatesの中でどのようにフォルダ分けするかで、実際のWebサイトでのpathが決まります。!ただ、MT.netの運用思想上、トップページ以外のWebページはアーカイブ・テンプレートを用いて作成することが主体となるため、インデックス・テンプレートで細かくページを分けて作成する方法は理想的な運用ではないと言えます。MTが用意しているテーマで使用されている主要なフォルダ名は以下の通りです:記事一覧:archive./_theme/templates/archive/index.htmlはhttps://ドメイン名/archive/となるアセット:assetscssはassets/cssに配置されるなお、アーカイブ・テンプレートもテンプレート・モジュールも、システムテンプレートに至るまで全て同じ./_theme/templatesに格納されているため、フォルダ内を一瞥するだけではどれがどのタイプか判別することは難しいです。そのため、page.mtmlとpage_item.mtmlという似たファイル名でも、片方はアーカイブ・テンプレート、片方はテンプレート・モジュール、といったことがあり得ます。※インデックス・テンプレートは拡張子が二重に付いている(例:index.html.mtml)ため唯一ファイル名で見分けがつきます。新たなテンプレートを作成する場合のワークフローGitHub連携をする上で、落とし穴になりそうな点として./_theme/theme.yamlの存在があります。テンプレートのファイルは、単に.mtmlファイルを作成するだけではMT.netのサイト上に正しく反映されません。ファイル名称やそのテンプレートの種類などは、./_theme/theme.yamlにて管理されているためです。管理画面上で「パンくずリスト」となっているモジュール・テンプレートの場合、./_theme/templates/breadcrumbs.mtmlが「パンくずリスト」に対応しかしbreadcrumbs.mtml内にはそれが「パンくずリスト」であるという情報はないこれが「パンくずリスト」でありモジュール・テンプレートであることを保証しているのは、./_theme/theme.yamlのみ以上のようになります。そのため、以下の点に留意しつつテンプレートを作成する必要があります。マニュアルに載っています。theme.yamlはテンプレート以外にもカスタムブロックやカスタムフィールドなど、様々な機能に関わるものが記載されているため、可読性が高くはなく、かつ編集を誤った時の影響範囲が大きいです。そのため手間ではありますが、正しい形式でtheme.yamlなどを作成できているか自信を持てない場合は、1の手法で作成する方が良いと思います。最後に今回はMT.netのテンプレートファイル名と関連性について扱いました。次の記事として『かんたんデザイン編集を理解する』1〜4を書きました。https://zenn.dev/morit4ryo/articles/8823e57895ef58まだまだ学習しながらのまとめのため、誤読などもあるかもしれません。コメント頂けると嬉しいです!morit4ryo主にデザインとフロントエンドをやっています。記事はTailwindCSSなど各種ライブラリを使用したスタイリング関連とMovableType.netに関するものが中心です。バッジを贈って著者を応援しようバッジを受け取った著者にはZennから現金やAmazonギフトカードが還元されます。バッジを贈るDiscussionmorit4ryo主にデザインとフロントエンドをやっています。記事はTailwindCSSなど各種ライブラリを使用したスタイリング関連とMovableType.netに関するものが中心です。Proよくある質問LinksX(Twitter)GitHubメディアキットLegal利用規約プライバシーポリシ。