Shopify Github error "Branch isn't a valid name" - github

I am trying to connect my partner's Shopify account to my github (I am using hydrogen).
I see my branches, but I get a "Branch isn't a valid name" error when I try to connect.
The repository is empty and I am wondering what I'm doing wrong.
Screen capture attached.

It could be because:
Shopify does access your bananasofa/hydrogen repository
but its content does not represent a valid theme
You can see it discussed here, with comments like:
Check if you have your config folder.
If it's missing Shopify will take this as invalid.
At the very least, it needs a config.yml

In case anyone else has the same issue..
Important: the repo can't be empty, you need to have at least the basic folder structure set up in the repo. Add the basic files as well (theme.liquid, etc), even if they're empty for now.
Your theme folders must be in the root of the branch you're working on, for example, if we look at Dawn's repo we can see that the main theme folders are in the root of the 'main' branch and are not contained within a parent folder:
example folder structure
If you'd like to structure your project in such a way that your theme files are in a folder within the root, you'd need to setup some github workflows that will extract the main theme folders out of the parent folder and push that into a separate branch each time you merge into your main branch - you'd then use the separate branch when linking via GH.
So the simple solution is to just take your theme folders out of any parent folder they might be in and place them in the root of your project instead, after doing so you should not see the error any longer when trying to link your theme via GitHub.

Related

How do I get my site to show up through github?

I uploaded my files to github, checked off readme, commit changes, selected masterbranch, and I got the following message as I scrolled down the page: Your site is published at https://tanishav842.github.io/Recipes/ but there is nothing there except for the word Recipes, which appears at the end of the site address that had been established for me through github. What did I do wrong?
Well, Tani, to have your own page hosted by GitHub Pages it need to be stored in one of the following places
In a public repository named <your-github-username>.github.io
Under a docs folder in master branch of any public repository you own
In gh-pages branch of any public repository you own
It means your Recipes repository are pretty much there.
Just copy your master branch content to a new branch named gh-pages and push it:
git checkout -b gh-pages
git push -u origin gh-pages
In addiction, as commented Edric, it would be cool to have your pretty nice stuff added to your page.
By now, I suppose GitHub is using your README.md that just have the word Recipes there!
Anyways, Here you can find a bunch of details about Working with GitHub Pages and also some step-by-step tutorials to learn how to do it properly
Hope this can help you!
Hosting a site is better supported by the GitHub application. Try following these steps to see if they help:
Download either GitHub for Mac or GitHub for Windows, depending on your operating system. Open the app and log in using the account you just created.
(On Mac): After you login, click advanced and make sure that your name and email are correct. Then, click "Install Command Line Tools", just in case you want to start using the command line later in life.
Create a new repository in your GitHub application. Name it your-username.github.io. The name is very important. Note the folder that GitHub is saving the repository to. Make sure the "Push to GitHub?" box is checked.
Move your website's files into the folder that GitHub just created when you made the repository. IMPORTANT: Your homepage HTML file must be called "index.html", and it must exist in the top-level directory.
Back in the GitHub application, you should see your files in the left column. Make sure they are all checked. If so, enter a message in the text box called "commit summary", something like "initial commit." Then, click the commit button.
Click the "Publish repo" button in the top right corner.
Give it about 10 minutes, then check your-username.github.io. Your website should be there!
Here's the reference link:
https://gist.github.com/TylerFisher/6127328

Very simple HTML resulting in 404 Not Found on GitHub Pages [duplicate]

Here is my GitHub repository on the gh-pages branch.
Everything looks good, I have my index.html, my CSS, JS and pictures folders.
But when I access http://roine.github.com/p1 I get HTTP 404 not found.
Any explanation and solution?
I had just one commit with all my files. I pushed an empty commit, refreshed the page and it worked.
git commit --allow-empty -m "Trigger rebuild"
git push
If this doesn't work, as #Hendrikto pointed out in the comments, check out the Github status page and make sure GitHub Pages are operational.
I did all the tricks on my repo to fix page 404 on Github Page (https://eq19.github.io/) but it kept 404'ing.
Finaly found that my browser hardly keep the 10 minutes cache before it up on the web.
Just add /index.html into the end of URL then it showed up and solved the case.
https://username.github.io/{repoName}/index.html
In my case, I had folders whose names started with _ (like _css and _js), which GH Pages ignores as per Jekyll processing rules. If you don't use Jekyll, the workaround is to place a file named .nojekyll in the root directory. Otherwise, you can remove the underscores from these folders
Four months ago I have contacted the support and they told me it was a problem on their side, they have temporarily fix it (for the current commit).
Today I tried again
I deleted the gh-pages branch on github
git push origin --delete gh-pages
I deleted the gh-pages branch on local
git branch -D gh-pages
I reinitialized git
git init
I recreated the branch on local
git branch gh-pages
I pushed the gh-pages branch to github
git push origin gh-pages
Works fine, I can finally update my files on the page.
If you haven't already, choose a Jekyll theme in your GitHub Pages settings tab. Apparently this is required even if you're not using Jekyll for your Pages site.
I had the same issue after forking a repo with a gh-pages branch. I was able to fix by simply pushing a new commit (just whitespace in index.html) to my fork's gh-pages branch.
In my case on 8/Aug/2017
if your user page is https://github.com/mgravell, you repo name must be
mgravell.github.io
under root, create a file index.html
under root, create a folder docs, create a file
CNAME under docs (note: NO extension like .txt, make sure your file
system shows extension)
gh-pages branch is optional, master branch is sufficient
more: check official docs here: https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/
Just wait about ten minutes to one hour. If it still doesn't work, contact github. Usually it's the problem at their end.
But, if you're in a hurry, you can try to open by adding "?" question mark at the end of URL. It force query to search for the resource. Like this:
http://roine.github.com/p1?
In my case the browser had a previous cached version of my app. To avoid getting the cached version, access you url using a random query string:
https://{{your-username}}.github.io/{{your-repository}}?randomquery
My pages also kept 404'ing. Contacted support, and they pointed out that the url is case sensitive; solved my issue.
in my case i had to go to project settings and enable the github pages. The default is off
If you saw 404 even everything looks right, try switching https/http.
The original question has the url wrong, usually you can check repo settings and found the correct url for generated site.
However I have everything set up correctly, and the setting page said it's published, then I still saw 404.
Thanks for the comment of #Rohit Suthar (though that comment was to use https), I changed the url to http and it worked, then https worked too.
Add the following in the beginning of the index.html file
<!DOCTYPE html>
In my case in react was necessary to select the gh-pages branch:
I was facing the same issue, after trying most of the methods mentioned above I couldn't get the solution. In my case the issue of because of Github changing the name of master to main branch.
Go to Setting -> go to GitHub Pages section and change the branch to main:
to
Save it and select a theme, and the website is live.
If you are sure that your structure is correct, just push an empty commit or update the index.html file with some space, it works!
I had this exact problem with typedocs. The README.md worked but none of the actual docs generated by my doc strings displayed, I just got a 404 Github Pages screen.
To fix this, just place a empty file in your /docs directory (or wherever you generate your docs) & call it .nojekyll
To confirm, your file structure should now look like:
./docs/.nojekyll # plus all your generated docs
Push this up to your remote Github repo and your links etc should work now.
Also make sure you have selected in your Github settings:
Settings -> Github Pages -> Source -> master brach /docs folder
Depending on your doc framework, you probably have to recreate this file each time you update your docs, this is an example of using typedocs & creating the .nojekyll file each time in a package.json file:
# package.json
"scripts": {
"typedoc": "typedoc --out docs src && touch docs/.nojekyll"
},
The solution for me was to set right the homepage in package.json.
My project name is monsters-rolodex and I am publishing from console gh-pages -d build.
"homepage": "https://github.com/monsters-rolodex",
The project was built assuming it is hosted at /monsters-rolodex/.
Before it didn't work because in the homepage url I included my github username.
I got the site to work by deleting the "username.github.io" folder on my computer going through the steps again, including changing the index/html file.
My mistake (I think) is that i initially cloned "https://github.com/username/username.github.io.git" instead of https://github.com/username/username.github.io (no ".git")
In my case, all the suggestions above were correct. I had most pages working except few that were returning 404 even though the markdown files are there and they seemed correct. Here is what fixed it for me on these pages:
On one page, there were a few special characters that are not part of UTF-8 and I think that's why GitHub pages was not able to render them. Updating/removing these char and pushing a new commit fixed it.
On another page, I found that there were apostrophes ' surrounding the title, I removed them and the page content started showing fine
Another variant of this error:
I set up my first Github page after a tutorial but gave the file readme.md a - from my perspective - more meaningful name: welcome.md.
That was a fatal mistake:
We’ll use your README file as the site’s index if you don’t have an
index.md (or index.html), not dissimilar from when you browse to a
repository on GitHub.
from Publishing with GitHub Pages, now as easy as 1, 2, 3
I was then able to access my website page using the published at link specified under Repository / Settings / GitHub Pages followed by welcome.html or shorter welcome.
For some reason, the deployment of the GitHub pages stopped working today (2020-may-05). Previously I did not have any html, only md files. I tried to create an index.html and it published the page immediately. After removal of index.html, the publication keeps working.
I was following this YT video. So, when I ran the command in my terminal, it pushed the code to gh-pages branch already. Then I pushed to the master branch. It was giving me 404 error.
Then I swapped the branch to master and then again reverted to gh-pages and now the error is gone. It's pointing to the index.html even if it's not in the URL.
I bound my domain before this problem appeared. I committed and pushed the branch gh-pages and it solved my problem. New commits force jekyll to rebuild your pages.
In my case, the URL was quite long. So, I guess there is a limit. I put it to my custom subdomain and it worked.
On a private repo, when I first added and pushed my gh-pages branch to github, the settings for github pages automatically changed to indicate that the gh-pages branch would be published, but there no green or blue bar with the github.io url and no custom domain options.
It wasn't until I switched the source to master and quickly switched the source back to gh-pages that it actually updated with the green bar that contains the published url.
Your GitHub Pages is available at http://roine.github.io/p1 instead of http://roine.github.com/p1.
By the way, you can fix your project's description.
In my case it was that I had recently set up a custom domain for GitHub pages, but GitHub had forgotten my custom domain under (repo)<name>.github.io / Settings / Pages.
I added the custom domain again and then it immediately started working.
Go to settings section of your repository and choose master branch at the Source section and click save button after that refresh the page and you will be able to see the link of your page!.
I faced this problem (404) too and the root cause was my file was named INDEX.md. I was developing on Windows and my local Jekyll site worked (since Windows treats file names case insensitive by default). When pushed to Github, it didn't work. Once I renamed the INDEX.md to index.md, things worked well.

Github Pages - Maintaining Multiple versions

I need to host the documentation of multiple versions of my project (say 1.0, 2.0 and 3.0) and all are active (documentation)branches and we shall keep on adding improvements to all of these.
Is it possible to use GitHub pages for this purpose?
Appreciate any help on this.
This is feasible using Github Actions along with a static site generator (SSG) of your choice such as VuePress, Gatsby, Jekyll etc.
In its simplest form, create a GH action to generate the static site folder of the branch/release, then push the folder to corresponding folder in the branch pointed to by GH pages, say gh-pages. One of the branches/releases should be pushed to root. GitHub Pages Deploy Action can be helpful. Lastly add a dropdown list of versions to your static website pointing to the matching folder. The list of items can be statically maintained or dynamically populated using GitHub API. The selected item depends on the current URL path.
Example:
To provide multi-version docs for software product NotifyBC,
input - docs folder of the product created by VuePress
output - gh-pages branch
GitHub action, with main branch pushed to root of gh-pages branch and releases pushed to version folder
dynamically populated dropdown list implemented in Vue component
rendered site powered by GH pages
You can have a look at gh-pages-multi.
It is a small nodejs tool I wrote to push different versions of docs to subdirectories in a gh-pages branch. It also generates a index.html file listing those subdirectories.
It is fairly easy to integrate in a CI workflow if you want to automate building and pushing the docs.
Also note the "--no-history" option that will prevent bloating the git repo if your docs contain some built files or binary assets.
These other answers over-complicate things. As #jhpratt suggests in the comment, you can just copy the code corresponding to a version of your site you want to deploy to a dir (labelled e.g. v1.0) within the dir that you deploy to gh-pages. You then access the version with https://your-name.github.io/your-repo/v1.0/.
Of course, depending on the type of site you're building you may have to worry about the content of <base href="..."> tag, etc., for each version, but you need to worry about this tag in any case since github pages do not deploy to the url root.

Sync GitHub Pages Configuration Between Projects and Organization

I have a GitHub organization where I publish a webpage from the repository orgname.github.io. Of course, I have several project repositories where I'd like to host documentation about those projects. This is all possible through GitHub Pages.
However, I'm not sure how to synchronize the configuration of the organization page with the project pages. I want the website to look the same whether I'm at
http://orgname.github.io or if I'm at http://orgname.github.io/project.
What can I do to keep the Jekyll-based configuration in sync?
This is the solution we've come up with:
Create a repository to contain the Jekyll configuration, jekyll-website.
Fork/copy the repository to the repository <orgname>.github.io.
In every project, create a git subtree as the docs directory.
Whenever you need to make change to the look/design of the webpage, do it in jekyll-website, then pull those changes into <orgname>.github.io and all the project subtrees. This is a little bit of work whenever you need to make changes to the website, but it gets the job done.
Since the Github pages sites are hosted in the gh-pages branch of their respective repos, they are independent from each other and the project pages.
I'm assuming your content will be unique for each repo, so you're asking about syncing the theme/structure etc, which as far as I know that cannot be synced. I would recommend choosing a Jekyll theme for all of your sites and stick to editing content.

How to fix HTTP 404 on Github Pages?

Here is my GitHub repository on the gh-pages branch.
Everything looks good, I have my index.html, my CSS, JS and pictures folders.
But when I access http://roine.github.com/p1 I get HTTP 404 not found.
Any explanation and solution?
I had just one commit with all my files. I pushed an empty commit, refreshed the page and it worked.
git commit --allow-empty -m "Trigger rebuild"
git push
If this doesn't work, as #Hendrikto pointed out in the comments, check out the Github status page and make sure GitHub Pages are operational.
I did all the tricks on my repo to fix page 404 on Github Page (https://eq19.github.io/) but it kept 404'ing.
Finaly found that my browser hardly keep the 10 minutes cache before it up on the web.
Just add /index.html into the end of URL then it showed up and solved the case.
https://username.github.io/{repoName}/index.html
In my case, I had folders whose names started with _ (like _css and _js), which GH Pages ignores as per Jekyll processing rules. If you don't use Jekyll, the workaround is to place a file named .nojekyll in the root directory. Otherwise, you can remove the underscores from these folders
Four months ago I have contacted the support and they told me it was a problem on their side, they have temporarily fix it (for the current commit).
Today I tried again
I deleted the gh-pages branch on github
git push origin --delete gh-pages
I deleted the gh-pages branch on local
git branch -D gh-pages
I reinitialized git
git init
I recreated the branch on local
git branch gh-pages
I pushed the gh-pages branch to github
git push origin gh-pages
Works fine, I can finally update my files on the page.
If you haven't already, choose a Jekyll theme in your GitHub Pages settings tab. Apparently this is required even if you're not using Jekyll for your Pages site.
I had the same issue after forking a repo with a gh-pages branch. I was able to fix by simply pushing a new commit (just whitespace in index.html) to my fork's gh-pages branch.
In my case on 8/Aug/2017
if your user page is https://github.com/mgravell, you repo name must be
mgravell.github.io
under root, create a file index.html
under root, create a folder docs, create a file
CNAME under docs (note: NO extension like .txt, make sure your file
system shows extension)
gh-pages branch is optional, master branch is sufficient
more: check official docs here: https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/
Just wait about ten minutes to one hour. If it still doesn't work, contact github. Usually it's the problem at their end.
But, if you're in a hurry, you can try to open by adding "?" question mark at the end of URL. It force query to search for the resource. Like this:
http://roine.github.com/p1?
In my case the browser had a previous cached version of my app. To avoid getting the cached version, access you url using a random query string:
https://{{your-username}}.github.io/{{your-repository}}?randomquery
My pages also kept 404'ing. Contacted support, and they pointed out that the url is case sensitive; solved my issue.
in my case i had to go to project settings and enable the github pages. The default is off
If you saw 404 even everything looks right, try switching https/http.
The original question has the url wrong, usually you can check repo settings and found the correct url for generated site.
However I have everything set up correctly, and the setting page said it's published, then I still saw 404.
Thanks for the comment of #Rohit Suthar (though that comment was to use https), I changed the url to http and it worked, then https worked too.
Add the following in the beginning of the index.html file
<!DOCTYPE html>
In my case in react was necessary to select the gh-pages branch:
I was facing the same issue, after trying most of the methods mentioned above I couldn't get the solution. In my case the issue of because of Github changing the name of master to main branch.
Go to Setting -> go to GitHub Pages section and change the branch to main:
to
Save it and select a theme, and the website is live.
If you are sure that your structure is correct, just push an empty commit or update the index.html file with some space, it works!
I had this exact problem with typedocs. The README.md worked but none of the actual docs generated by my doc strings displayed, I just got a 404 Github Pages screen.
To fix this, just place a empty file in your /docs directory (or wherever you generate your docs) & call it .nojekyll
To confirm, your file structure should now look like:
./docs/.nojekyll # plus all your generated docs
Push this up to your remote Github repo and your links etc should work now.
Also make sure you have selected in your Github settings:
Settings -> Github Pages -> Source -> master brach /docs folder
Depending on your doc framework, you probably have to recreate this file each time you update your docs, this is an example of using typedocs & creating the .nojekyll file each time in a package.json file:
# package.json
"scripts": {
"typedoc": "typedoc --out docs src && touch docs/.nojekyll"
},
The solution for me was to set right the homepage in package.json.
My project name is monsters-rolodex and I am publishing from console gh-pages -d build.
"homepage": "https://github.com/monsters-rolodex",
The project was built assuming it is hosted at /monsters-rolodex/.
Before it didn't work because in the homepage url I included my github username.
I got the site to work by deleting the "username.github.io" folder on my computer going through the steps again, including changing the index/html file.
My mistake (I think) is that i initially cloned "https://github.com/username/username.github.io.git" instead of https://github.com/username/username.github.io (no ".git")
In my case, all the suggestions above were correct. I had most pages working except few that were returning 404 even though the markdown files are there and they seemed correct. Here is what fixed it for me on these pages:
On one page, there were a few special characters that are not part of UTF-8 and I think that's why GitHub pages was not able to render them. Updating/removing these char and pushing a new commit fixed it.
On another page, I found that there were apostrophes ' surrounding the title, I removed them and the page content started showing fine
Another variant of this error:
I set up my first Github page after a tutorial but gave the file readme.md a - from my perspective - more meaningful name: welcome.md.
That was a fatal mistake:
We’ll use your README file as the site’s index if you don’t have an
index.md (or index.html), not dissimilar from when you browse to a
repository on GitHub.
from Publishing with GitHub Pages, now as easy as 1, 2, 3
I was then able to access my website page using the published at link specified under Repository / Settings / GitHub Pages followed by welcome.html or shorter welcome.
For some reason, the deployment of the GitHub pages stopped working today (2020-may-05). Previously I did not have any html, only md files. I tried to create an index.html and it published the page immediately. After removal of index.html, the publication keeps working.
I was following this YT video. So, when I ran the command in my terminal, it pushed the code to gh-pages branch already. Then I pushed to the master branch. It was giving me 404 error.
Then I swapped the branch to master and then again reverted to gh-pages and now the error is gone. It's pointing to the index.html even if it's not in the URL.
I bound my domain before this problem appeared. I committed and pushed the branch gh-pages and it solved my problem. New commits force jekyll to rebuild your pages.
In my case, the URL was quite long. So, I guess there is a limit. I put it to my custom subdomain and it worked.
On a private repo, when I first added and pushed my gh-pages branch to github, the settings for github pages automatically changed to indicate that the gh-pages branch would be published, but there no green or blue bar with the github.io url and no custom domain options.
It wasn't until I switched the source to master and quickly switched the source back to gh-pages that it actually updated with the green bar that contains the published url.
Your GitHub Pages is available at http://roine.github.io/p1 instead of http://roine.github.com/p1.
By the way, you can fix your project's description.
In my case it was that I had recently set up a custom domain for GitHub pages, but GitHub had forgotten my custom domain under (repo)<name>.github.io / Settings / Pages.
I added the custom domain again and then it immediately started working.
Go to settings section of your repository and choose master branch at the Source section and click save button after that refresh the page and you will be able to see the link of your page!.
I faced this problem (404) too and the root cause was my file was named INDEX.md. I was developing on Windows and my local Jekyll site worked (since Windows treats file names case insensitive by default). When pushed to Github, it didn't work. Once I renamed the INDEX.md to index.md, things worked well.