R_Gate

Publishing and maintaining GitHub Pages

First deployment

  1. Use the existing repository: https://github.com/mohammadmasri1/R_Gate.
  2. Open Settings → Pages.
  3. Under Build and deployment, choose GitHub Actions.
  4. Push this project to main, or open Actions → Build and deploy GitHub Pages → Run workflow.
  5. Wait for both build and deploy to pass. The custom-domain URL is https://rgate-travel.com/; the default repository address is https://mohammadmasri1.github.io/R_Gate/.

The workflow uses GitHub’s configure-pages, upload-pages-artifact, and deploy-pages actions. No personal token or secret is needed in website source. The deployment job receives narrowly scoped Pages and OIDC permissions from GitHub.

The source repository includes maintenance guides and original design references. Only generated dist/ is uploaded to Pages.

Routine changes

npm run check
git add content assets src docs
git commit -m "Update travel content"
git push origin main

Select the files you actually changed. You can use pull requests for larger changes; they run validation without deploying. Merging to main publishes the result.

How URLs work

Every page has its own .html file. Links and asset paths are relative (./assets/..., ./destinations.html), so they work under /R_Gate/ and a custom domain. No SPA fallback or server-side routing is needed. The custom 404 uses the path from siteUrl so it remains styled when reached through a nested missing URL.

Custom domain

The configured domain is rgate-travel.com. Cloudflare DNS points the root domain to GitHub’s four Pages IPv4 addresses, and www to mohammadmasri1.github.io. Keep these records DNS-only while GitHub provisions its HTTPS certificate. Enable Enforce HTTPS in GitHub Pages when the certificate is available. Certificate provisioning is handled by GitHub, separately from successful website deployment.

Configure the domain in Settings → Pages, set DNS as instructed by GitHub, and update siteUrl in content/site.json to the HTTPS domain ending with /. Rebuild and deploy. Do not put account credentials in the repository.

Troubleshooting

For deployment updates, consult GitHub’s official custom workflow guide.