Can I create more than one repository for github pages?

HtmlGithubGithub Pages

Html Problem Overview


I created a repository for hosting a blog on github.Is there any way that I can create more to host multiple blogs?Am I limited to just one repository for hosting(since username.github.com can only be used once?)

Html Solutions


Solution 1 - Html

You can have one site published to https://<username>.github.io by publishing to the master branch of a repository named “username.github.io” (substituting your actual username).

You can also have an additional site per GitHub project published to https://<username>.github.io/<project>. Project settings let you choose which branch and directory to publish.

A better description is available in the GitHub Pages documentation, including options for using custom domain names.

(since April 2013, all username.github.com are now username.github.io)

Solution 2 - Html

No you are not limited, it is possible to have multiple GitHub Pages sites within one account. Create another GitHub repository and push your site files to the gh-pages branch. This would result in the site being hosted at tshepang.github.io/repo-name

Now, push another file "CNAME" to the same repository and branch and fill it with movies.tshepang.net. Log in to your DNS host and add the CNAME to point to "tshepang.github.io" (just like the original site).

This would allow you to have seemingly two different sites on different domains. This would not work for having two or more sub-domains within github.io itself.

Solution 3 - Html

There is a possibility to host multiple pages within the same repository having sub-pages if you are fine with code duplication.

The latest version of my website is hosted on http://username.github.io/REPONAME This is a screenshot of the structure of my root repository where I host the latest version of my website:

Repository root folder

Inside folder "2.4.0" I can host a previous version of the same page ,which is then reachable at: http://username.github.io/REPONAME/2.4.0 This is the structure of the folder 2.4.0: Repository folder 2.4.0

Using this methodology of sub-pages within a main page, you can host multiple sub-pages within one main page.

Solution 4 - Html

You can only create one user or organization site for each GitHub account. Project sites, whether owned by an organization or a user account, are unlimited.

GitHub Pages sites

There are three types of GitHub Pages sites:
project, user, and organization. Project sites are connected to a specific project hosted on GitHub, such as a JavaScript library or a recipe collection. User and organization sites are connected to a specific GitHub account.

To publish a user site, you must create a repository owned by your user account that's named <user>.github.io. To publish an organization site, you must create a repository owned by an organization that's named <organization>.github.io. Unless you're using a custom domain, user and organization sites are available at http(s)://<username>.github.io or http(s)://<organization>.github.io.

The source files for a project site are stored in the same repository as their project. Unless you're using a custom domain, project sites are available at http(s)://<user>.github.io/<repository> or http(s)://<organization>.github.io/<repository>.

The publishing source for your GitHub Pages site is the branch and folder where the source files for your site are stored. If the default publishing source exists in your repository, GitHub Pages will automatically publish a site from that source. The default publishing source for user and organization sites is the root of the default branch for the repository. The default publishing source for project sites is the root of the gh-pages branch.

Solution 5 - Html

I found a workaround if you don't want to make separate repositories for your different sites but just want to host them. In your io repo, create an index.html file on your master branch that acts as a table of contents linking to your other sites(subDirectories) index.html files. The username.github.io master branch seems to be the landing page that enables the hosting, so if it doesn't see an index file linking out to your separate projects, it won't register your subdirectories. After this all you need is the URL to whatever project you want to view. The io basically behaves like a giant single website with all your separate projects on it. Of course, if you would rather have separate repositories, gh-pages is the way to go.

Solution 6 - Html

Today I created another site and rather than creating branch gh-pages I have configured the master branch in a repository setting --> GitHub pages section select Source as master (or any other branch you want). You will get site link in the same section, in my screen shot I have removed site link.

enter image description here

Solution 7 - Html

This works, but ssl is still something I need to figure. In my case GoDaddy is where my domains rest (url1.xyz), with nameservers pointing to Cloudflare. Then in Cloudflare the A records points to Github Pages. This is website 1 live, running fine. For website 2 I create a subdirectly in my gh-pages repo with website 2 files e.g. url1.xyz/static/website2/ - Then I create a subdomain in Cloudflare (subdomain.url1.xyz). Then create a page rule (url forward) from the subdomain to the subdirectory containing the 2nd website e.g. subdomain.url1.xyz >> mask forward >> url1.xyz/static/website2/ .. Then in GoDaddy I can configure url2.co.uk to mask forward to subdomain.url1.xyz , which presents website 2 e.g. url1.xyz/static/website2/

Solution 8 - Html

Just to add to the above. With one github user account(https://< username >.github.io) we can still have multiple static content websites hosted with different custom domains (Eg: domain1.com, domain2.com, domain3.com)We can just create a new repository for each domain and point the A record to github pages IP and CNAME record to < username >.github.io

Solution 9 - Html

You can create multiple blogs in your github account.

  1. One repository can be created under your username. Push your code to branch gh-pages and you can see the site on <username>.github.io

  2. Another one can be created under your organisation. For this you will have to create your organization first. Create a new repository under this organisation and push your code to gh-pages. You can see your site on <organization-name>.github.io

  3. You can also create for each of your project and the site will be available on <username>.github.io/<repository>

Please refer this for more information on github pages.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAkshat Jiwan SharmaView Question on Stackoverflow
Solution 1 - HtmlStephen JenningsView Answer on Stackoverflow
Solution 2 - HtmlhopperView Answer on Stackoverflow
Solution 3 - HtmlphilView Answer on Stackoverflow
Solution 4 - HtmlNine TailsView Answer on Stackoverflow
Solution 5 - HtmlAndre HolguinView Answer on Stackoverflow
Solution 6 - HtmlVipinView Answer on Stackoverflow
Solution 7 - HtmlunclehowellView Answer on Stackoverflow
Solution 8 - HtmlgdnitnukView Answer on Stackoverflow
Solution 9 - HtmlsaurabhView Answer on Stackoverflow