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 under build/
, 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:
initialize a new repo to serve as the child repo. move everything from the subdirectory of the parent repo work tree to the child repo work tree. commit the child repo. replace the subdirectory in the parent repo with a submodule reference.
You can only create one user or organization site for each account on GitHub. Project sites, whether owned by an organization or a personal account, are unlimited.
On GitHub, navigate to your site's repository. Under your repository name, click Settings. In the "Code and automation" section of the sidebar, click Pages. Under "Custom domain", type your custom domain, then click Save.
There is a detailed gist with all the required steps.
The gist is here:
https://gist.github.com/cobyism/4730490
Deploying a subfolder to GitHub Pages
Sometimes you want to have a subdirectory on the
master
branch be the root directory of a repository’sgh-pages
branch. This is useful for things like sites developed with Yeoman, or if you have a Jekyll site contained in themaster
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With