Related
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.
I've been following the official guide # pages.github.com
So far I've created the local repo and pushed it to GitHub, but, whatever change I do, I can see it in my repo at GitHub but not in my GitHub page. How is that possible?
A bit late to the party but I just had this issue and my solution isn't covered by any of the above.
Specifically my issue was the following:
I had created a github.pages site with a custom domain.
I was pushing commits to the correct GitHub branch but not seeing the updates on the github.pages site.
Solution:
The issue turned out to be my browser caching the page (despite my having page caching disabled). To fix it I just cleared my cached data from the past hour and that worked instantly.
To clear the cache data in Chrome go to the Chrome menu then More Tools > Clear Browsing Data.
I don't know what caused the caching, this github.pages/custom domain combo is the only thing that has ever caused it for me.
Sometimes this happens to me too: after creating and pushing the gh-pages, the GitHub Pages page is missing or not getting updated. Even if I commit more changes to the branch and push it again, it won't update on GitHub pages.
If I remember correctly, I solve this by deleting the branch from the server and pushing it again:
git push origin :gh-pages
git push origin gh-pages
I might have to add some dummy commits and push again to trigger the update, I don't remember exactly...
I had the same issue.
The problem was that my website was publishing from the gh-pages branch, but I was pushing my recent changes to the master branch.
Check which branch Github is publishing your website from. In your repository, click on Settings, scroll down the page and there should be a box where you you can change the publishing branch.
It should look like this:
More info is here
Also if you are using a custom domain name, make sure your CNAME file is up to date.
Hope that helps!
I fixed this problem.
you can try to go to the setting page.
I go into the project settings page (.../settings/pages) ,and found Github pages give me some message "some syntax error", I fixed it, and ok.
Try to push empty commit like this
$ git commit --allow-empty -m "Empty commit"
Works like a charm for me every time.
To solve this issue
Switch your current Github Pages branch to some other branch and click
on Save
Switch back to your desirable Github Pages branch and click on Save.
This will force Github to update your changes.
I am a novice and please allow me to answer with tears. Please go to settings at your repository, scroll down to to check WHETHER THERE IS A PROBLEM with your current webpage. If there is a problem, your site WILL NOT BE UPDATED. I think it's a protection mechanism or something.
This morning I deleted and moved some of the files in repository, I have updated many times and it still remains on previous version, even I checked the index.html has indeed updated. Later I shut down the whole repository and started new one, inserting items one by one, but still met the problem. I tried new branch like gh-pages, I think it is not necessary for a beginner like me. Later I checked my settings and found the notification, I deleted the problematic files and it worked instantly. Were I knew the problem I would not have been so stupid to shut down it forever. I miss my old git records. Guess every lesson takes a price, Github is no exception.
Experienced this problem when a filename contained the word "vendor" ex.:vendor.bundle.20d44fcf5147c6ed68a3.js
Adding an empty file named .nojekyll in the root of the repository fixed the issue.
Jekyll now ignores the vendor and node_modules directories by default
https://github.com/blog/2277-what-s-new-in-github-pages-with-jekyll-3-3
Try to disable GitHub pages, and enable it after a few minutes. I tried. This works. But It takes some time to update and re-enable GitHub Pages.
Press ctrl+F5 to re-download cached content.
I tried Janos' answer but it didn't work for me.
I made a slight change to my index.html file (something insignificant) and pushed to the gh-pages branch again. I tried opening the page in a different browser and it worked. My original browser updated the page too although I don't think it's a browser cache issue.
I rebased master with gh-pages locally and pushed that as well, not sure if that makes any difference.
This answer is for those who have created their app with create-react-app.
It took me days to finally find the answer for react-gh-pages not updating. I hope the following answer helps as it did for me. It is a combination of multiple answers that I have researched over:
The main and most common reason is your browsers caching feature. In order to disable it for every rendering of your index.html,
Add this snippet in your index.html file under the public folder.
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
Push any new changes to the master or main branch(not to the origin gh-pages).
By now your master branch is updated.
Now run: git push origin :gh-pages. This will delete the gh-pages branch.
Run: npm run deploy. This will re-build your app and re-create gh-pages branch
with updated content.
Now go the settings section on the top-right side of your app repo page. Scroll down to the bottom. Under Github Pages section, under source, there is branch section. Change that to your master branch or main. Keep the root folder as it is.
Go to your site and you will see a Readme file. It may take some time. After a minute or so change the branch back to gh-pages. After a minute visit your site and it should be updated by now.
I hope this helps! Let me know if it worked for you as well in the comment section, cheers!
I recently had an issue where my github pages hosted site wasn't updating from an old branch push in master. I was able to see the new changes by going to domain.com. (the dot at the end is important), and also hard refreshing would show the new changes, but with a regular refresh, it would show the old site and the old JS files too.
My problem seemed to only be in Chrome, which is where I was developing the site. For full disclosure, the old changes were in React and hosted in Netlify. The new changes that I was trying to get to push and display were static files hosted in github pages.
THE FIX (in Chrome): devtools > Application > clear site data (button).
Here is what worked for me:
First Step (update your master):
git add .
git status # to see the changes to be committed
git commit -m "comments"
git push origin master
Second Step (Update gh-pages):
git-checkout gh-pages # going to the gh-pages branch
git rebase master # sync gh-pages with master
git push origin gh-pages # commit changes to gh-pages
git checkout master # return to the master
I had the same problem everything is up to date in my repository but it still wasn't loading to my github page, so without making any further changes, I tried to add, commit and pull.
I fixed it with another git commit, and git pull again.
Now the changes are loaded to my git.
The easiest way:
Settings -> Braches -> choose "gh-pages" -> UPDATE.
Take mine as example
In my case, it helped to run:
npm run deploy
I did it after pushing the master branch to GitHub. I needed to wait a bit until the changes were visible on my page. But it did work without changing any settings.
In case this helps someone else...
For me the issue was the content in the branch was being updated, but the filenames did not change, so browser was retrieving cached content.
I'm using Angular CLI with angular-cli-ghpages. Setting the configuration to production appends hashes after each file in the build forcing the browser to retrieve the new content.
sample deploy script:
ng build --configuration=production --base-href \"<repo-name>\" && ngh
If you don't want a production build, you can also specify output hashing in other build configurations in angular.json
If you're using the gh-pages command you may need to delete the gh-pages cache at node_modules/gh-pages/.cache
The issue is being caused because of the browser caching the page. Open the git link in incognito mode.
If your GitHub pages repo is private AND you have recently downgraded to GitHub Free, this might apply:
Your subscription, GitHub Free, does not support GitHub Pages sites
for private repositories. After we introduced free private
repositories in January, we found a limited number of sites connected
to private repositories were mistakenly left active. If you’d like to
keep updating this site, you can make its repository public or upgrade
to GitHub Pro. You can also unpublish it below. This site is using a
custom CNAME: Secure your domain name before unpublishing this site.
I reflect my changes in my deployed GitHub repository after committing locally, by renaming my gh-pages branch to master and unpublishing my GitHub Page, and then re-name the branch to gh-pages and then publish it again; then it works.
In my case it related to an issue in my config file. This showed up on Settings -> Pages.
If your page was online, but after update no changes visible:
1: Change repository to private
2: Change back to public
3: Enable "GitHub Page" function again
A couple have mentioned looking for error messages in Settings->Pages, but a better place to look is the stdout of the jekyll build workflow under the About tab. In either case, an error message of any sort is best to have in hand before starting on any of the other 26 answers given above.
For those who find solutions above not useful try this:
delete "build" directory on your local machine
run "npm run deploy"
Deleting directory helped me, it will reflect changes on github pages branch, then wait a minute, if you still dont see any changes, try clearing cache or visit your page in incognito
Worked for me.
After making changes in your script, go down to the commit changes section. There you'll find one input box and one text-area. As you all know filling those boxes is not mandatory, but they are there for a reason. So, next time before clicking on the commit changes button give this a try >> make sure that you write something in the first input box (you can leave the text-area empty), and what you write is different from what you wrote for your last commit for the same file. In this way github will be able to distinguish between the current script and the updated one, and the change should be reflected almost instantly.
Hope that helps.
The problem is caused due to browser caching the page.
Disable browser caching with meta HTML tags. Add the following in _layouts/default.html
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
WARNING: After this any browser supporting Cache-Control will not store any of your cookies or files.
Just clear browser's cache.
ctrl + shift + r for Chrome, as example
Nothing to worry, to Update your git react code rebuild code by using command
npm run deploy
react code will updated to gh-pages
I'm running into a weird issue with GitHub pages. I pushed a new commit to my personal pages page maltzj.github.io, but the new article isn't showing up there. When I execute the server locally, a post lives at localhost:4000/posts/the-price-of-inconsistent-code/. However, when I go to http://maltzj.github.io/posts/the-price-of-inconsistent-code I get a 404. I also added a new file which should live at http://maltz.github.io/test.html, but that also throws a 404.
Everything builds and runs locally. My Git repository is up to date, and there is nothing on the GitHub status page about problems with builds, so I'm at a little bit of a loss about where to go with this. How can I get my page to update with new content that I add?
For reference, the location of the repository which backs my page is http://github.com/maltzj/maltzj.github.io
None of these solutions solved it for me. The solution was to edit the index.html file in the GitHub website.
The website then updates on the web as expected.
Go to your index.html file through your site (example.github.io/index.html) and then reload the page. Then you can go back to (example.github.io) and it should have updated. You can do the same with the master.css file, etc.
If it doesn't work, try reloading (github.com/example/example.github.io/[blob/master/]index.html) instead and it will have updated.
For others, also check the dates of your posts. I just had this problem. I'm at UTC+11 and I'm pretty sure the server is at UTC. Thus if I date my posts with my local time, the server thinks they are in the future and won't build them. Using UTC avoided this for me.
As mentioned by joao cenoura in the comments below:
you can tell jekyll to show "future" posts by adding future: true to your _config.yml
and/or add timezone: TIMEZONE to specify your timezone.
See https://jekyllrb.com/docs/configuration/ for more info.
I had an empty CNAME file. Check that if you're having a similar issue.
I had this fault today with a static page - the cause was actually a service failure at GitHub Pages itself. You can check for service messages at https://www.githubstatus.com/.
I had the problem of having an unverified email. The update worked for the first time, but it failed after that. A verified email is needed to trigger a GitHub pages build. Also a deploy key cannot be used for this, as it won't trigger a build.
Source: http://web.archive.org/web/20140712011932/https://help.github.com/articles/troubleshooting-github-pages-build-failures/
Disclaimer: this was the case in 2014. Don't know if it's still required.
I had an unclosed <a> tag which caused the build to be pending forever. Fixing that solved the issue.
It makes sense that GitHub would verify your links.
I got it to work.
Mine was a simple problem. It was a browser cache problem.
I opened my link on a different browser and it showed me the updated push.
In my case, none of above solutions works. Finally I find out the reason is: there is "relative_permalinks" option in my _config.yml. This option is recently deprecated in Jekyll 3.0.
Refer to:
https://help.github.com/articles/removing-relative-permalinks/
I know this might sound simple, but make certain you are on the right branch and in the right file.
In my case, I made a GitHub page and tried to commit from my local repository on the master branch. Also, I was updating my filename instead of index.html. These were my errors. I had to switch to the GitHub page branch and update in the index.html commit, push and then everything worked fine.
For me, I just waited ~5 minutes, and it was updated.
If someone has made the branch gh-pages from scratch (manually) the problem is that you need a file call params.json to make it work.
I don't have this params.json file, but it still works...
In my case, it happened to be that I mentioned a relative path to refer to an image, something like - ./test.png.
It seems that it's not allowed, and it may be a security issue or what. Whatever, if you've done something like that, remove it and refer to it as test.png.
In my case the problem was because of my repository was private. After I made it public, the problem has gone.
The weird part of story is that I was able to create private repository and use GitHub pages with it. I did it in accordance with the official guide (http://take.ms/p2SS7). It worked fine for about 9 commits, but on the 10-th it became broken.
I ran into the same mysterious issue today. I pushed some new code to my github.io-repository, but the changes did not show up on the corresponding webpage. I inspected the page and did not see the new code in the source. I solved the issue by doing a hard reload. On Chrome, you can do a hard reload by opening up Dev Tools and right-clicking on the refresh-button and choosing Hard Reload.
Please refer to the Jekyll troubleshooting website, as there are multiple error sources: Troubleshooting Jekyll build errors for GitHub Pages sites
In my case a German umlaut ("ö") in a Markdown file caused the problem.
In my case, I forgot to define kramdown in _config.yaml
# Build settings
markdown: kramdown
This was caused when I was converting from a theme without to a theme with the kramdown requirement.
Make sure your run
npm run deploy
Clear your browser cache.
In my case, after trial and error on some solutions here, what fixed it was adding the encoding to the _config file like this
encoding: UTF-8
More troubleshooting options here
For me it was an issue with not properly having a .gitmodules file.
I was able to troubleshoot in the settings tab of my repository, under the GitHub pages section, which indicates build issues and was helpful for troubleshooting.
Oddly (and simply) enough I created a new branch, made that branch the "default" branch and pushed from there.
This worked for me.
My GitHub Pages was turned off under the Settings tab of the repository.
I don't remember turning it off, but there it was, and turning it back on was the fix.
In the repository settings, make sure the GitHub Pages is currently being built from the gh-pages branch.
In my case, my problem was after git push my GitHub file was updating but not showing my website on GitHub pages.
Note: I was creating Website by React
Also, on the HTML project, I faced the same problem. In that case, I just did first of all git pull and then git status | git add . | git commit -m"adding some content" | and git push. It worked for me.
But in the React project, it didn't work. I run this again on my cmd npm run deploy then my React web application is showing on GitHub pages.
My suggestion is to try everything showing on this post comments. Because the solution to this problem is not one.
In my case I left an empty parameter, url, in _config.yaml.
After I've specified url: example.github.io everything started to work.
I had this problem this week and no solution worked.
I don't use Jekyll, only pure static HTML.
It just sat three days refusing to update.
Here is what I had to do to get it to publish again.
Make a snapshot branch from master.
Reset the master branch to the last commit that is live. (Commits tab, green checkmarks indicate published commits)
Make a new commit with a smoke test. I made an HTML comment I could grep.
Force push master.
Check results curl https://example.com | grep SMOKETEST
Reset master again, removing the smoke test.
Cherry-pick each commit from the snapshot branch you need to get your unpublished changes back into master (cherry-picking gives the commits new ids/hashes, avoiding the risk of anything having cached them from before).
Force push master again.
Now you should get green checkmarks and published updates.
Note: It could be enough to force push to remove the commits that are stuck and getting them back again. The smoke test is almost certainly not required. Cherry-picking may not be required.
Github doesn't publish to github pages for me if I edit and commit files directly on github web site.
However, if I edit file locally and commit with GitHub Desktop, then change is published to site within seconds.
BTW, my email is verified, so this shouldn't be an issue. And I'm using same account.
Solution worked for me for an app created using create-react-app :
Go to GitHub Pages section under repository settings
Change source from gh-pages branch to master branch
Wait and check your custom domain website, should show master branch README.md file
Now change the source back to gh-pages
Wait couple minutes, now latest changes reflected on custom domain website
I had tried different solutions, none worked. Like a new commit, an empty commit, browser cache clear, wait for 5 - 10 minutes, delete gh-pages branch and push again, edit CNAME, create a new CNAME under on master branch etc
Note: My app has no _config.yaml file, no jekyll. I'm using custom domain with https (google domains). gh-page branch auto created by package.json script deploy: "gh-pages -d deploy"
In my case, I had made a couple of changes in the index.html and style.css files but those changes were not reflecting on the Github pages. But when I updated the Readme file by adding one line the Page got updated.
Maybe you can try this, as it might work for you just like it did for me.
If you are deploying some simple HTML codes, try this:
First, go to Actions > Deploy static content to Page:
Then, click the Run workflow:
My site failed to deploy today because of a transient failure in the GitHub Pages deploy actions. The action needed to be re-run through the Actions tab for the new version of my site to appear.
The story:
I pushed new content, on a site that's purely static and doesn't use Jekyll. After many fruitless Shift-Ctrl-R reloads on Chrome, I decided to investigate. I first visited Settings→Pages for the site’s repository, and saw that no recent deploy had taken place.
Why not, I wondered? After double-checking that my push had really gone through, I clicked the word “deployed”, and was taken to a GitHub Action that had failed!
Since the error message ECONNRESET looked like a generic network error internal to GitHub’s network, and not any problem with my site, I clicked the “Re-run” button in the upper right and asked GitHub Actions to re-run the failed task. Within a few seconds it had been re-tried and had succeeded!
Lessons:
Deploys are vulnerable to transient errors.
Deploys these days happen as normal GitHub Actions that you can inspect.
The deploys can be re-tried.
Good day.
Could you help me with a little problem I am experiencing.
I have a jekyll blog on the github. The problem is after I updated my old post, committed and pushed it, the blog post doesn't show any changes, but I see that the commit has been pushed successfully.
If I run jekyll --server locally, it shows updated blog post and it doesn't report any errors.
I have no jekyll plugins installed.
What am I doing wrong or misunderstanding? Thanks a lot.
Added by Nawaz:
I'm facing exactly same problem. My I pushed added one markdown post and few css, and modified layouts and includes, then I pushed them to github. It is done successfully. My github is showing all the changes in the repository, but the github blog (i.e the generated html posts out of markdown) are still same. No change to them at all. It is showing some posts which doesn't even exist in the repository. But when I do jekyll --server locally, then every update is being shown on my (local) blog hosted at http://localhost:4000.
Please help me!
If your Jekyll site is not rendering properly after you push it to GitHub, it's useful to run Jekyll locally so you can see any parsing errors. In order to do this, you'll want to use the same version that we use.
GitHub's Pages servers currently use Jekyll 0.11.0 with Liquid 2.2.2, and run it using this command:
$ jekyll --pygments --safe
More info
I'm now trying to solve the problems with my pygments highlighting (works locally, doesn't show on github at all, even though I'm receiving mails about succesful build). Findings so far:
Make sure that youre repository' default branch is 'master' (go to your repository Admin page).
Put your Jekyll source files in some other branch, and put the _site content to your master branch. There will be no _config.yml, no YAML front matter so github will render your stuff as is, and you would be building it locally on that other branch. This actually worked for me. It requires some manual labour when moving _site from that other branch to your master, but I'm fine with that - at least I do not have to rely on github build process which seems to be a bit buggy, plus, I can have whatever plugins I wish.
When ever you generate your jekyll site locally for testing, always run jekyll --no-auto --server. This would display if there were any errors encountered during the generation of your site. Also, before generating your site delete _site directory and then run the command as described above.
Let me know if you see any errors as such. We can debug further
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.