web-dev-qa-db-ja.com

リポジトリのサブフォルダーにGitHubページのindex.htmlを置くことはできますか?

GitHubページを使用してDoxygenサイトをホストしようとしています。理想的には、生成されたファイルとディレクトリをまったく調整せずにGitHubにプッシュできるようにしたいと考えています。

ただし、これは、私のindex.htmlがリポジトリのサブフォルダーにあり、GitHub Pagesがそれを取得していないことを意味します(Pagesサイトにアクセスしようとすると、404が表示されます)。 GitHubがサブフォルダーにあるときにそのindex.htmlを認識させる方法はありますか?

プロジェクトサイトです。

35
false_azure

ルートにダミーのindex.htmlを作成し、これをヘッダーに挿入します。

<meta http-equiv="refresh" content="0; url=https://repo.github.io/folder/index.html">

必ずリンク先URLを変更してください。これにより、index.htmlからfolder/index.htmlに即座にリダイレクトされます。

44
David Jacquel

多分あなたが望むのはサブツリーをプッシュすることです。たとえば、build/distディレクトリがあり、Doxygenサイトが構築されているとします。

ビルド後、そのフォルダ内のすべての変更をコミットして、以下を実行してください。

git subtree Push --prefix build/dist Origin gh-pages

ローカルまたはOriginのgh-pagesブランチに何もないことが重要です。

すべてのクレジット: https://Gist.github.com/cobyism/473049

最初はリダイレクトについても考えました。しかし、リダイレクトは、httpリダイレクトでさえ、コードのにおいのように感じます。避けられない場合もありますが、ここではより明確な解決策が見つかる可能性があります。

12

masterブランチの/docsフォルダーをgithubページのWebサイトのルートとして使用するオプションが追加されました。

8
Chen Pang

デビッド・ジャケルの回答は素晴らしいです。

しかし、私と同じようにgithubページの/distまたは/buildフォルダからSPA個人ブログ全体を提供しようとしている場合、Raphael Pediciniによる美しい汚いハックがあります: https:// github.com/rafrex/spa-github-pages

プロキシindex.htmlページとカスタム404.htmlページを作成することをお勧めします。ユーザーがサブページの直接URLを入力した場合。 https://example.github.io/blog/ 、githubページサーバーは、URLをパラメーターのセットとしてプロキシindex.htmlに渡し、SPAを起動するスクリプトで404.htmlを提供します。

時間の経過とともに変化する可能性があるため、ここでは彼のコードを複製しません。

4
Boris Burkov

Doxygenおよびgh-pagesを使用するには、次のことを行う必要があります。

  1. .nojekyllブランチのルートにgh-pagesファイルを作成します
  2. .pngファイルから.html.gitignoreなどを削除したことを確認してください
  3. 最後に、プロジェクトのルートにindex.htmlファイルを作成します。

    <!DOCTYPE HTML>
    <html lang="en-US">
        <head>
            <meta charset="UTF-8">
            <meta http-equiv="refresh" content="1;url=html/index.html">
            <title>Page Redirection</title>
        </head>
        <body>
            If you are not redirected automatically, 
            follow the <a href="html/index.html">link to the documentation</a>
        </body>
    </html>
    

参照:

  1. GitHubページ(github.io)doxygenで生成されたページが見つかりません(404)
  2. Travisを使用してdoxygenドキュメントを自動的に生成する方法
  3. Travis CIを使用してgh-pagesにDoxygenドキュメントを自動デプロイする
  4. https://help.github.com/categories/github-pages-basics/
  5. GitHubページを使用してプロジェクトドキュメントを公開
  6. Doxygenで紹介ページを作成する方法
3
user

index.htmlファイルとそのすべての依存関係を新しいリポジトリに転送し、そのリポジトリを現在のリポジトリのサブモジュールとして使用してみてください。現在github-pagesは、リポジトリのルートにindex.htmlファイルを見つけることを期待していますが、それができません。

例えば。現在のリポジトリが「テスト」であるとしましょう。新しいリポジトリ、たとえば「website」を作成し、必要な.htmlおよびその他のファイルを「website」リポジトリに転送します。ここで、「テスト」リポジトリ内のサブモジュールとして「ウェブサイト」リポジトリを使用する必要があります。

注:上記のスキーマでは、 'website'リポジトリで 'gh-pages'ブランチ名のみを使用する必要がありますが、 'test'はマスターブランチを保持できます

git submodules の小さなサンプルチュートリアル

1
Ishan Khare