Any static site generator works the same way: build it in GitHub Actions, then upload the output folder. Only the folder name and build command change.
| Tool | Build command | Output folder |
|---|---|---|
| Vite, Vue, Svelte (Vite) | npm run build | dist |
| Astro | npm run build | dist |
| Create React App | npm run build | build |
| Next.js (static export) | npm run build | out |
| Docusaurus | npm run build | build |
| VitePress | npm run docs:build | docs/.vitepress/dist |
| Eleventy | npx @11ty/eleventy | _site |
| Hugo | hugo --minify | public |
| Jekyll | bundle exec jekyll build | _site |
Set up the project
- Create a free NexaCloud account with GitHub or email.
- Open Projects, enter a name, your GitHub owner and repository, and create the project. Copy the deploy token shown once.
- In your repository open Settings → Secrets and variables → Actions and add a secret named
NEXACLOUD_TOKENwith that token. - Commit the workflow below as
.github/workflows/nexacloud.ymland push.
Use the workflow from the documentation, replacing the build step and the cd folder with the values from the table. For Hugo, Jekyll or Eleventy replace the Node setup with the tool’s own setup action.
Requirements
The output must contain index.html at its root and stay within 300 files, 5 MB per file and 25 MB in total. See the limits.