web-dev-qa-db-ja.com

Github PagesでサブディレクトリをWebサイトのルートとして設定する

Github Pages を使用して、静的なWebサイトをホストおよび提供しています。

静的Webサイトには、アプリの一般的なディレクトリ構造があります。

|_ source
|_ build
   |_index.html
 .gitignore
 config.rb
 Gemfile
 ...
 README.MD

index.htmlはアンダーbuild/なので、デフォルトのwwwパスにしたいです。

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

ノート:

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

必要なすべての手順を含む詳細な要点があります。

要旨はこちらです:
https://Gist.github.com/cobyism/473049


要旨から

GitHubページへのサブフォルダーの展開

masterブランチのサブディレクトリをリポジトリのgh-pagesブランチのルートディレクトリにしたい場合があります。これは、 Yeoman で開発されたサイトや、残りのコードと一緒にmasterブランチに含まれるJekyllサイトがある場合に便利です。

この例のために、サイトを含むサブフォルダーの名前をdistとします。

ステップ1

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

ステップ2

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

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

ステップ3

サブツリープッシュを使用して、GitHubの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
35
CodeWizard

2016年8月以降 ソースにmasterブランチの/docsサブフォルダーを使用できます。

したがって、/docsの代わりに/buildを使用するようにサイトジェネレーターに伝えることができれば、完了です(サブツリーなし)。

注:コメントで@thislooksfunが指摘したように、これはプロジェクトページ(<username>.github.io/<projectname>など)に対してのみ有効ですが、ユーザーには有効ではありませんまたは組織ページ(<name>.github.ioなど)。

19
Kpym