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.comhttps://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>',