Featured image of post Github Pages 環境の復旧(ローカル)

Github Pages 環境の復旧(ローカル)

自分用の備忘録として

おことわり

こちらのページは、完全に自分向けの備忘録として書いています。
何かを期待されて訪問された方、ごめんなさい。
まったく役に立たないかと思われます・・・。

前提

前提として、

  • Github Pages の環境を構築済み(サイト公開済み)
  • ローカル環境をまっさらにした

という感じになります。

これを書いているのも、自分のパソコンを新しくしたときに2時間ほどハマったからで、未来の自分に向けてという感じです。

環境構築の簡単な流れ

基本編

Github に Hugo で作ったデータを入れる手順はこんな感じ。

  1. ローカル
    1. Hugo をインストールする
    2. テーマを決めて所定の場所に置く
    3. 設定ファイル config.toml を適宜修正する
    4. 記事を書く
  2. Github
    1. 空のリポジトリ(全)を作る
  3. ローカル
    1. 空のリポジトリ(全)にプッシュする

Github Pages 編

  1. Github
    1. 空のリポジトリ(公開用)を作る ※Github Pages 用
    2. リポジトリの設定画面から、page の設定をする
      1. ソースの場所を選んだりします。
  2. ローカル
    1. public フォルダをサブモジュール化する
      1. git submodule add git@github.com:ユーザー名/空のリポジトリ(公開用).git public
        たぶん、public は空にしておかないとダメ。
        空にする場合は git rm -r public で。
    2. いつも通りプッシュする

ちょっと解説

ファイル関係

Hugo で作成する記事は、基本的に content/post の中に、Markdown 形式で保存していきます。
hugo というコマンドを実行すると public の中に、html などサイト公開用のファイル群が生成されます。

Github Pages で使うのは public の中にあるファイルで、それ以外のファイルは不要です。

連携

生成されたファイル群を毎回手作業で公開用リポジトリにコピーするのは面倒です。
そこで、サブモジュール化という手段をとっています。

git submodule add git@github.com:ユーザー名/空のリポジトリ(公開用).git public

これをすることで、自動的に public の中身が、公開用リポジトリに入っていきます。
なんて便利なんだ。

ローカル環境をまっさらにしたとき

  1. ローカル
    1. リポジトリ(全)を持ってくる
      • Git clone
    2. サブモジュール化をする
      • git submodule add git@github.com:ユーザー名/空のリポジトリ(公開用).git public

以上。

少し悩んだ

リポジトリ(全)がそのまま公開されると勘違いして、プッシュしてデータも更新されたのに、なんでサイトの表示が更新されないのか悩んでいました。
Github Pages 用にリポジトリが分かれていたのをすっかり忘れていたのです。

あとで気付いたんですが、どうやってそちらのリポジトリにデータを送っていたのか忘れていて、四苦八苦しました。
これはサブモジュールを使っていたんですね。

まぁ、4年ほど前の環境ですし、環境って1回作ったらなかなか触ることもないので、忘れるのも仕方ないですね。年齢的なアレもあるし。

そんなときにここの記事を思い出せれば良しということで。

Hugo で構築されています。
テーマ StackJimmy によって設計されています。