1. ホーム
  2. git

[解決済み] Githubページでサブディレクトリをウェブサイトのルートとして設定する

2022-02-19 12:29:41

質問

を使っています。 Githubページ を使用して、静的なウェブサイトをホスト& 提供しています。

静的ウェブサイトは、アプリの典型的なディレクトリ構造を持っています。

.
├ source/
├ build/
│ └ index.html
├ .gitignore
├ config.rb
├ Gemfile
┆ ...
└ README.MD

index.html の下にあります。 build/ をデフォルトにしたいので www のパスが必要です。

そのため、ユーザーが username.github.io は、そのサブディレクトリ内のコンテンツをレンダリングしますが、URLには "/build/"が表示されません。これは、それがルートフォルダとして設定されているからです。

注意事項

  • 私はカスタムドメインを持っていませんし、この目的のために取得する予定もありません。見ての通り、githubが提供するデフォルトのURL命名規則を活用しようとしています。
  • 使用しない ジキル や自動ページ生成機能など

解決方法は?

必要なステップをすべて記載した詳細なgistがあります。

gistはこちらです。
https://gist.github.com/cobyism/4730490


gistより

<ブロッククオート

サブフォルダーをGitHub Pagesにデプロイする

にサブディレクトリを持ちたいことがあります。 master ブランチは、リポジトリのルートディレクトリである gh-pages ブランチを作成します。で開発されたサイトのような場合に便利です。 ヨーマン に含まれるJekyllサイトを持っている場合、または master ブランチを他のコードと一緒に使用します。

この例では、あなたのサイトを含むサブフォルダーが、以下の名前であると仮定します。 dist .

ステップ1

を削除します。 dist ディレクトリをプロジェクトの .gitignore ファイルを作成します (Yeomanではデフォルトで無視されます)。

ステップ2

gitがあなたのサブツリー(あなたのサイトがあるサブフォルダ)を知っていることを確認してください。

git add dist && git commit -m "Initial dist subtree commit"

ステップ3

サブツリー・プッシュを使って gh-pages ブランチを作成します。

git subtree push --prefix dist origin gh-pages

ブームです。もしあなたのフォルダーが dist ということで、上記の各コマンドで変更する必要があります。


<ブロッククオート

普段からやっている方は、他にも スクリプトを作成する をパスのどこかに記述してください。

#!/bin/sh
if [ -z "$1" ]
then
  echo "Which folder do you want to deploy to GitHub Pages?"
  exit 1
fi
git subtree push --prefix $1 origin gh-pages

というようなコマンドを入力することができます。

git gh-deploy path/to/your/site