Reputation: 85
I have a github project page here: lwymarie.github.io/QPQ_Web/Quasars_Probing_Quasars/Welcome.html
The project is named QPQ_Web. There's an index.html file in it, which points to a Welcome.html file inside the sub-directory Quasars_Probing_Quasars, where all other html files are also stored.
I'd like to replace the entire lwymarie.github.io/QPQ_Web/Quasars_Probing_Quasars/ part of the URL by www.qpqsurvey.org. i.e. I want to skip the Quasars_Probing_Quasars sub-directory in the URL. Please refer to the current www.qpqsurvey.org site to get an idea of what I mean.
Is it possible to set a permalink for this purpose without restructuring my files? Thanks.
Upvotes: 5
Views: 2117
Reputation: 1654
It appears to be related to this question: Set subdirectory as website root on Github Pages
(1) Follow the below instructions to make your subdirectory as GitHub root, then (2) redirect http://www.qpqsurvey.org to gh-pages as you ordinarily would according to GitHub's custom domain instructions: https://help.github.com/articles/using-a-custom-domain-with-github-pages/
Copying the answer of @CodeWizard which in turn was cited from https://gist.github.com/cobyism/4730490 for the first half of my answer:
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
.
Remove the dist
directory from the project’s .gitignore
file (it’s ignored by default by Yeoman).
Make sure git knows about your subtree (the subfolder with your site).
git add dist && git commit -m "Initial dist subtree commit"
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
Upvotes: 4