nekomatu / DFGC

0 stars 1 forks source link

hugoを使ってみる #8

Open nekomatu opened 3 years ago

nekomatu commented 3 years ago

環境

使い方

セットアップ: https://github.com/gohugoio/hugo/releases からextentなやつを拾ってくる

テンプレートに「docsy」を使いたいので、この手順書に従う。 https://www.docsy.dev/docs/getting-started/

サイトの初期化 git clone --recursive https://github.com/google/docsy-example.git

プロジェクトディレクトリの中で npm install autoprefixer postcss-cli postcss

hugo server でプレビューチェック

nekomatu commented 3 years ago

github.io の使い方

gh-pagesというブランチがあると、 https://$username.github.io/$repositoryname で公開される。

説明はこちらが分かりやすかった https://www.membersedge.co.jp/blog/create-hugo-theme-and-deploy-to-github-pages/

抜粋すると以下の通り。

6.2. ブランチを分けて管理する方法

git checkout --orphan gh-pages
git reset --hard
git commit --allow-empty -m "Init gh-pages branch"
git worktree add public gh-pages

orphanブランチを作るのは知っていたのだが、作った直後は移動前のファイルがステージの乗っていることに気付かずヘンテコな1stコミットを作ってしまってハマっていた。これは git-reset --hardでクリア。ちゃんと記事に書いてあるのに…。

空っぽのコミットを作れるのは知らなかった。git-rebaseをかける際に1stコミットより後ろは指定できないのでいつもの作業ができないな、特殊条件だから仕方ないかなと思っていた。1stコミットは空っぽを置いておくとsquashなどがしやすい。

worktreeはworkdirの外に作るものだと思っていたが、このように使う方法を知って感動した。 多くのブランチの使い方としては、ベースのコンテンツ無しとそこからフォークしたコンテンツ有りでマージを重ねるという戦略になるのでまぁあまり使うシーンは多くはなさそうだが。

ページレイアウトが崩れるため、baseURLを変更する

URLが、/$repositoryname となっているので、これは base URL を変更しなければならない。少なくともdocsyテンプレートでは。そうしないと、CSSのパスがずれていてぐちゃぐちゃのサイトとして見えてしまう。

実際には、カスタムドメインを使ってトップディレクトリに配置するだろうから、この辺りはCI組みとセットだと思う。

diff --git a/config.toml b/config.toml
index f5d9757..71236be 100644
--- a/config.toml
+++ b/config.toml
@@ -1,4 +1,4 @@
-baseURL = "/"
+baseURL = "/dfgc-site"
 title = "DeFiGeek Community Japan"

 enableRobotsTXT = true