我可以将我的GitHub Pages index.html放在存储库的子文件夹中吗?
我正在尝试使用GitHub页面来托管一个Doxygen站点。理想情况下,我希望能够将生成的文件和目录推送到GitHub,而无需对它们进行任何调整 然而,这意味着我的index.html位于存储库的一个子文件夹中,而GitHub Pages无法获取它(当我尝试访问Pages站点时,我得到了404)。有没有办法让GitHub在index.html位于子文件夹中时识别它我可以将我的GitHub Pages index.html放在存储库的子文件夹中吗?,github,doxygen,github-pages,Github,Doxygen,Github Pages,我正在尝试使用GitHub页面来托管一个Doxygen站点。理想情况下,我希望能够将生成的文件和目录推送到GitHub,而无需对它们进行任何调整 然而,这意味着我的index.html位于存储库的一个子文件夹中,而GitHub Pages无法获取它(当我尝试访问Pages站点时,我得到了404)。有没有办法让GitHub在index.html位于子文件夹中时识别它 这是一个项目站点。在根目录下创建一个虚拟index.html,并将其放在标题中: <meta http-equiv="refr
这是一个项目站点。在根目录下创建一个虚拟index.html,并将其放在标题中:
<meta http-equiv="refresh" content="0; url=https://repo.github.io/folder/index.html">
请确保更改目标URL。这将立即从index.html重定向到您的文件夹/index.html。尝试将index.html文件及其所有依赖项转移到新的存储库中,然后将该存储库用作当前存储库中的子模块。目前,GitHub Pages希望在存储库的根目录中找到index.html文件,但它无法找到
例如,假设您当前的回购是“测试”。您创建一个新的存储库,比如“网站”,将您的.html和其他需要的文件传输到“网站”存储库。现在,您需要将“网站”存储库用作“测试”存储库中的子模块
Mote:在上述模式中,您只需要在“网站”存储库中使用“gh pages”分支名称,而“test”仍然可以保留主分支
关于的一个小示例教程。也许你想推一个子树。例如,假设您有
build/dist
目录,并且在那里构建了Doxygen站点
生成后,要确保提交该文件夹中的所有更改,请执行以下操作
git subtree push --prefix build/dist origin gh-pages
重要的是,您在gh页面
分支、本地或来源上没有任何内容
所有功劳都归于:
最初我还想到了重定向。但是重定向感觉像是代码的味道,甚至HTTP重定向。尽管有时不可避免,但这里可能有一个更干净的解决方案,这可能正是您想要的。您现在可以选择使用
master
分支的/docs
文件夹作为GitHub Pages网站的根目录。这太棒了
但是,如果你想像我一样从GitHub页面的/dist
或/build
文件夹中为你的整个SPA个人博客提供服务,那就有了
他建议您创建一个代理index.html
页面和自定义404.html
页面。如果用户输入子页面的直接URL,例如,GitHub Pages服务器将提供404.html
,脚本将URL作为一组参数传递给proxy index.html,后者将启动SPA
我不会在这里复制他的代码,因为它很可能会随着时间的推移而改变。要使用
Doxygen
和gh页面
,您需要:
gh页面
分支的根目录中创建文件.nojekyll
.gitignore
文件中删除了.png
、.html
和类似文件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>
页面重定向
如果没有自动重定向,
遵循