GitHubページを使用してDoxygenサイトをホストしようとしています。理想的には、生成されたファイルとディレクトリをまったく調整せずにGitHubにプッシュできるようにしたいと考えています。
ただし、これは、私のindex.htmlがリポジトリのサブフォルダーにあり、GitHub Pagesがそれを取得していないことを意味します(Pagesサイトにアクセスしようとすると、404が表示されます)。 GitHubがサブフォルダーにあるときにそのindex.htmlを認識させる方法はありますか?
プロジェクトサイトです。
ルートにダミーのindex.htmlを作成し、これをヘッダーに挿入します。
<meta http-equiv="refresh" content="0; url=https://repo.github.io/folder/index.html">
必ずリンク先URLを変更してください。これにより、index.htmlからfolder/index.htmlに即座にリダイレクトされます。
多分あなたが望むのはサブツリーをプッシュすることです。たとえば、build/dist
ディレクトリがあり、Doxygenサイトが構築されているとします。
ビルド後、そのフォルダ内のすべての変更をコミットして、以下を実行してください。
git subtree Push --prefix build/dist Origin gh-pages
ローカルまたはOriginのgh-pages
ブランチに何もないことが重要です。
すべてのクレジット: https://Gist.github.com/cobyism/473049
最初はリダイレクトについても考えました。しかし、リダイレクトは、httpリダイレクトでさえ、コードのにおいのように感じます。避けられない場合もありますが、ここではより明確な解決策が見つかる可能性があります。
master
ブランチの/docs
フォルダーをgithubページのWebサイトのルートとして使用するオプションが追加されました。
デビッド・ジャケルの回答は素晴らしいです。
しかし、私と同じように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
を提供します。
時間の経過とともに変化する可能性があるため、ここでは彼のコードを複製しません。
Doxygen
およびgh-pages
を使用するには、次のことを行う必要があります。
.nojekyll
ブランチのルートにgh-pages
ファイルを作成します.png
ファイルから.html
、.gitignore
などを削除したことを確認してください最後に、プロジェクトのルートに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>
参照:
index.htmlファイルとそのすべての依存関係を新しいリポジトリに転送し、そのリポジトリを現在のリポジトリのサブモジュールとして使用してみてください。現在github-pagesは、リポジトリのルートにindex.htmlファイルを見つけることを期待していますが、それができません。
例えば。現在のリポジトリが「テスト」であるとしましょう。新しいリポジトリ、たとえば「website」を作成し、必要な.htmlおよびその他のファイルを「website」リポジトリに転送します。ここで、「テスト」リポジトリ内のサブモジュールとして「ウェブサイト」リポジトリを使用する必要があります。
注:上記のスキーマでは、 'website'リポジトリで 'gh-pages'ブランチ名のみを使用する必要がありますが、 'test'はマスターブランチを保持できます
git submodules の小さなサンプルチュートリアル