diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..5b80007 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,58 @@ +name: Deploy to GitHub Pages + +on: + push: + branches: 'master' + +jobs: + build_site: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./svelteww + steps: + - name: Checkout + uses: actions/checkout@v4 + + # If you're using pnpm, add this step then change the commands and cache key below to use `pnpm` + # - name: Install pnpm + # uses: pnpm/action-setup@v3 + # with: + # version: 8 + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + - name: Install dependencies + run: npm install + + - name: build + env: + BASE_PATH: '/${{ github.event.repository.name }}' + run: | + npm run build + + - name: Upload Artifacts + uses: actions/upload-pages-artifact@v3 + with: + path: 'svelteww/build/' + + deploy: + needs: build_site + runs-on: ubuntu-latest + + permissions: + pages: write + id-token: write + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - name: Deploy + id: deployment + uses: actions/deploy-pages@v4 \ No newline at end of file diff --git a/svelteww/package-lock.json b/svelteww/package-lock.json index eec408d..1cc4222 100644 --- a/svelteww/package-lock.json +++ b/svelteww/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.1", "devDependencies": { "@sveltejs/adapter-auto": "^3.0.0", + "@sveltejs/adapter-static": "^3.0.1", "@sveltejs/kit": "^2.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0", "svelte": "^4.2.7", @@ -669,6 +670,15 @@ "@sveltejs/kit": "^2.0.0" } }, + "node_modules/@sveltejs/adapter-static": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.1.tgz", + "integrity": "sha512-6lMvf7xYEJ+oGeR5L8DFJJrowkefTK6ZgA4JiMqoClMkKq0s6yvsd3FZfCFvX1fQ0tpCD7fkuRVHsnUVgsHyNg==", + "dev": true, + "peerDependencies": { + "@sveltejs/kit": "^2.0.0" + } + }, "node_modules/@sveltejs/kit": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.0.tgz", diff --git a/svelteww/package.json b/svelteww/package.json index d953a48..a472a58 100644 --- a/svelteww/package.json +++ b/svelteww/package.json @@ -12,6 +12,7 @@ }, "devDependencies": { "@sveltejs/adapter-auto": "^3.0.0", + "@sveltejs/adapter-static": "^3.0.1", "@sveltejs/kit": "^2.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0", "svelte": "^4.2.7", diff --git a/svelteww/src/routes/+layout.js b/svelteww/src/routes/+layout.js new file mode 100644 index 0000000..6d63253 --- /dev/null +++ b/svelteww/src/routes/+layout.js @@ -0,0 +1,2 @@ +// This can be false if you're using a fallback (i.e. SPA mode) +export const prerender = true; diff --git a/svelteww/svelte.config.js b/svelteww/svelte.config.js index 2b35fe1..510fbcf 100644 --- a/svelteww/svelte.config.js +++ b/svelteww/svelte.config.js @@ -1,4 +1,4 @@ -import adapter from '@sveltejs/adapter-auto'; +import adapter from '@sveltejs/adapter-static'; import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; /** @type {import('@sveltejs/kit').Config} */ @@ -8,10 +8,17 @@ const config = { preprocess: vitePreprocess(), kit: { - // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list. - // If your environment is not supported or you settled on a specific environment, switch out the adapter. - // See https://kit.svelte.dev/docs/adapters for more information about adapters. - adapter: adapter() + // https://kit.svelte.dev/docs/adapter-static + adapter: adapter({ + pages: 'build', + assets: 'build', + fallback: undefined, + precompress: false, + strict: true + }), + paths: { + base: process.env.BASE_PATH + } } };