我可以在存储库的子文件夹中包含我的Github Pages index.html吗?

fal*_*ure 33 doxygen github github-pages

我正在尝试使用Github页面来托管Doxygen站点.理想情况下,我希望能够将生成的文件和目录推送到Github而不必完全调整它们.但是,这意味着我的index.html位于存储库的子文件夹中,并且Github Pages没有提取它(当我尝试访问Pages网站时,我得到404).有没有办法让Github在子文件夹中识别index.html?这是一个项目网站.

Dav*_*uel 42

在根目录下创建一个虚拟index.html并将其放在标题中:

<meta http-equiv="refresh" content="0; url=https://repo.github.io/folder/index.html">
Run Code Online (Sandbox Code Playgroud)

请务必更改目标网址.这将立即从index.html重定向到您的文件夹/ index.html.


Agu*_*bar 12

也许你想要的是推送一个子树.例如,假设您有build/dist目录,并且在那里构建了Doxygen站点.

构建之后,请确保提交该文件夹中的所有更改,然后执行以下操作.

git subtree push --prefix build/dist origin gh-pages
Run Code Online (Sandbox Code Playgroud)

重要的是你在gh-pages分支机构,本地或原产地没有任何东西.

所有信用:https://gist.github.com/cobyism/4730490

最初我还想到了一个重定向.但重定向感觉像代码味道,甚至http重定向.虽然有时候不可避免,但这里可能是一个更清洁的解决方案,可能就是你在寻找什么.


Che*_*ang 8

您现在可以选择使用branch的/docs文件夹master作为github pages网站的根目录.


Bor*_*kov 5

大卫·雅克尔的回答非常棒。

但是,如果您像我一样尝试从 GitHub Pages 的/dist或文件夹中为您的整个 SPA 个人博客提供服务,那么Raphael Pedicini 有一个漂亮的肮脏黑客技术/build

他建议您创建代理index.html页面和自定义404.html页面。如果您的用户输入子页面的直接 URL,例如https://example.github.io/blog/,GitHub Pages 服务器将使用404.html脚本将 URL 作为一组参数传递给代理 index.html,该代理推出SPA。

我不会在这里重复他的代码,因为它很可能会随着时间的推移而改变。


use*_*ser 5

要使用Doxygenand gh-pages,您需要:

  1. .nojekyllgh-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>
    
    Run Code Online (Sandbox Code Playgroud)

参考:

  1. GitHub Pages (github.io) 找不到 doxygen 生成的页面 (404)
  2. 如何使用 Travis 自动生成 doxygen 文档
  3. 使用 Travis CI 将 Doxygen 文档自动部署到 gh-pages
  4. https://help.github.com/categories/github-pages-basics/
  5. 使用 GitHub Pages 发布您的项目文档
  6. 如何使用 Doxygen 制作介绍页面