Hugoで作ったサイトのトップページを(ちゃんと)生成してみた。

hp

前回の投稿で、トップ画面に何も表示されなくなったと書いていたが、テンプレートに関連してそうなのは分かった。前回の投稿についてはこちら
どういう条件で、使うテンプレートが判断されているまでは調べてないが、ブログに使用する想定のテーマだったらしく、トップページ生成に投稿のページが必要でそれを配置すればよかったみたい。
試しに以下のファイル構成にしてみる。

D:\hugo\sites\hugo-site
└ content
   └─post
   post1.md
   post2.md

生成されたページを確認してみる。

・今まで表示されていなかった「Posts」というリンクが表示された。
 リンクで遷移していくと、post1.md、 post2.mdで生成したページまで遷移・表示できる。
 が、ブログは別のサブドメインで実施するので、このページでは必要ない。
 ということで、簡単なサイト説明と、サイトマップ的なリンクだけのページをトップに
 置きたいので、テンプレートをいじってみる。
 Hugoの習わし的なもので、themes配下の物を直接触らないのが通常みたいなので、
 themesからプロジェクト配下のlayoutsに持ってきてから修正する。
 今回は「D:\hugo\sites\hugo-site\themes\hyde-x\layouts\index.html」を
 「D:\hugo\sites\hugo-site\layouts\index.html」にコピーする。
 内容は「 D:\hugo\sites\hugo-site\themes\hyde-x\layouts_default\single.html」の内容に
 置き換える。
 内容は以下のシンプルなもの。

{{ partial "head.html" . }}
<div class="content container">
  <div class="post">
    <h1 class="post-title">{{ .Title }}</h1>
    {{ .Content }}
  </div>
</div>
{{ partial "foot.html" . }}

・「D:\hugo\sites\hugo-site\content\_index.md」にトップページに表示する内容を記載する。
 生成したページを確認する。

・トップ画面に意図した内容が表示された。
 仕組みが分からないまま、やってしまっていたので、かなりはまってしまったが、
 何とかできた
 助言いただいた、@piris314さん、 @spiegel_2007さんありがとうございました。
 https://github.com/oyakata-life/hugo-siteも更新しました。
 あとは、外部サイトを新規タブ開くのと目印のアイコン付けたりで、大枠は終了かな。。
 内容の拡充は粛々とやっていきます。ファビコンとかもなー。

お疲れさまでした。

コメント

タイトルとURLをコピーしました