在Github Pages上将子目录设置为网站根目录 [英] Set subdirectory as website root on Github Pages

查看:3325
本文介绍了在Github Pages上将子目录设置为网站根目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用 Github Pages 托管&服务一个静态网站。



静态网站具有典型的应用程序目录结构:

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

index.html 是在 build / 之下,所以我想将它作为默认的 www 路径。



因此,当用户点击 username.github.io 时,它会呈现该子目录内的内容,但它不会显示/ build/ on注意:


  • 我没有自定义域,也没有计划为此目的获得一个域。正如您所看到的,我试图利用github提供的默认URL命名约定。 未使用 Jekyll 和自动页面生成器功能。 有详细的要点与所有必要的步骤。



    要点在于:




    从要点




    将子文件夹部署到GitHub页面



    有时候你想要在 master 分支上有一个子目录是存储库的 gh-pages 分支的根目录。这对于使用 Yeoman 开发的网站,或者如果您在中包含Jekyll网站, master 分支与您的其他代码一起。



    为了说明这个例子,假设包含您站点的子文件夹名为 dist



    第1步



    移除 dist 目录从项目的 .gitignore 文件(它由默曼默认忽略)。



    第2步



    确保git知道您的子树(子网站与您的网站)。

      git add dist&& git commit -mInitial dist subtree commit



    第3步



    使用子树推送将它发送到GitHub上的 gh-pages 分支。

      git subtree push --prefix dist origin gh-pages 

    繁荣。如果您的文件夹没有被称为 dist ,那么您需要在上面的每个命令中更改它。








    如果你经常这样做,你也可以创建一个脚本,其中包含以下路径中的以下内容:


    < blockquote>

     #!/ bin / sh 
    if [-z$ 1]
    then
    echo 你想要将哪个文件夹部署到GitHub页面?
    exit 1
    fi
    git subtree push --prefix $ 1 origin gh-pages




    它可以让你输入如下命令:

      git gh-deploy path / to / your / site 



    I'm using Github Pages to host & serve a static website.

    The static website has the typical directory structure for an app:

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

    index.html is underbuild/, so I want to make that the default www path.

    So when users hit username.github.io it renders the content within that subdirectory and yet it doesn't show "/build"/ on the URL, cause that's set as the root folder.

    Notes:

    • I don't have a custom domain nor planning to get one for this purpose. As you can see, I'm trying to leverage the default URL naming convention github provides.
    • Not using Jekyll nor the automatic page generator function.

    解决方案

    There is a detailed gist with all the required steps.

    The gist is here:
    https://gist.github.com/cobyism/4730490


    From the gist

    Deploying a subfolder to GitHub Pages

    Sometimes you want to have a subdirectory on the master branch be the root directory of a repository’s gh-pages branch. This is useful for things like sites developed with Yeoman, or if you have a Jekyll site contained in the master branch alongside the rest of your code.

    For the sake of this example, let’s pretend the subfolder containing your site is named dist.

    Step 1

    Remove the dist directory from the project’s .gitignore file (it’s ignored by default by Yeoman).

    Step 2

    Make sure git knows about your subtree (the subfolder with your site).

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

    Step 3

    Use subtree push to send it to the gh-pages branch on GitHub.

    git subtree push --prefix dist origin gh-pages
    

    Boom. If your folder isn’t called dist, then you’ll need to change that in each of the commands above.


    If you do this on a regular basis, you could also create a script containing the following somewhere in your path:

    #!/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
    

    Which lets you type commands like:

    git gh-deploy path/to/your/site
    

    这篇关于在Github Pages上将子目录设置为网站根目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆