GitHub Pages allows you to deploy your site to GitHub's free static site hosting service.
There's a few steps to complete:
Install gh-pages
using yarn add gh-pages
or npm i gh-pages
Add the following to gridsome.config.js
:
siteUrl: 'https://<your-github-username>.github.io',
pathPrefix: '/<your-gridsome-repo-name>',
package.json
: "predeploy": "npm run build",
"deploy": "gh-pages -d dist"
Run the command npm run deploy
Go to GitHub's website and make sure your Repo's settings under "GitHub Pages" show the gh-pages
branch under "Source".
Notes
GitHub Pages allows you to have a "GitHub user page" that acts as a profile/main page on <your-github-username>.github.io
by having a repo named <your-github-username>.github.io
.
<username>.github.io
)gridsome.config.js
:- pathPrefix: '/<your-gridsome-repo-name>',
npm run deploy
command, your project will be built and the contents of the dist
folder will be pushed to the gh-pages
branch which is where your "GitHub user page" will deploy from.master
branch (or any branch you want) while gh-pages
only contains your built files.www.yourname.com
you will need to change gridsome.config.js
to:siteUrl: 'https://www.yourname.com',
CNAME
file inside /static
to avoid a known issue in GitHub Pages that results in the deployment incorrectly overwriting the custom domain setting within GitHub user settings.// CNAME
custom.domain.com
https://yourname.com
points to all of your GitHub Pages sites), and your Gridsome project is not your GitHub user page (not on the root https://yourname.com
page, but a separate repo), then you will need to make sure pathPrefix
matches your Gridsome project's repo name in gridsome.config.js
:pathPrefix: '/<your-gridsome-repo-name>',