Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
d5bc204
out with the old
kevinkace Jun 22, 2025
384fa5f
in with the new
kevinkace Jun 22, 2025
d90c637
nav
kevinkace Jun 22, 2025
a7f8ebf
gh pages prep
kevinkace Jun 22, 2025
e75d825
move assets to static
kevinkace Jun 25, 2025
98dce29
homepage
kevinkace Jun 25, 2025
d3277ef
header
kevinkace Jun 27, 2025
d2255ac
buh bye tailwind
kevinkace Jun 28, 2025
074ceff
nav
kevinkace Jun 28, 2025
3e9ff74
nav polish
kevinkace Jun 28, 2025
9cac04e
nvmrc
kevinkace Jul 1, 2025
28c6d63
nvmrc
kevinkace Jul 1, 2025
577292e
carousel
kevinkace Jul 1, 2025
6a412d3
fix nav borders
kevinkace Jul 1, 2025
2b4294e
npm audit
kevinkace Jul 1, 2025
846489b
get involved
kevinkace Jul 2, 2025
1db1231
overview
kevinkace Jul 2, 2025
c10d3ef
calendar and partners
kevinkace Jul 2, 2025
947886a
separate nav component
kevinkace Jul 2, 2025
9cb9653
separate footer component
kevinkace Jul 2, 2025
192f608
footer
kevinkace Jul 2, 2025
6b0f2f2
spacing
kevinkace Jul 2, 2025
9f2d400
wid button
kevinkace Jul 2, 2025
5e3b512
spacing
kevinkace Jul 2, 2025
6af1f92
consistent spaces
kevinkace Jul 2, 2025
bf5d671
cspell dictionary file
kevinkace Jul 2, 2025
f2c4fff
cspell dictionary file
kevinkace Jul 2, 2025
e958b9d
mobile nav
kevinkace Jul 2, 2025
9e9c78d
consistent spaces
kevinkace Jul 2, 2025
772e59d
move images around and favicon
kevinkace Jul 2, 2025
84df5b6
mobile nav polish
kevinkace Jul 2, 2025
d25af29
mobile polish
kevinkace Jul 2, 2025
7f99a47
page title and imp optimization
kevinkace Jul 3, 2025
5de3051
page title component and full height content
kevinkace Jul 3, 2025
c8b29c4
about page
kevinkace Jul 3, 2025
09d2c22
our sites page
kevinkace Jul 4, 2025
746456b
donate
kevinkace Jul 4, 2025
dda3170
gh pages
kevinkace Jul 4, 2025
c200f09
updated workflow
kevinkace Jul 4, 2025
3d1cf97
npm not pnpm
kevinkace Jul 4, 2025
3d75489
npm not pnpm
kevinkace Jul 4, 2025
c7c1780
delete unused images
kevinkace Jul 4, 2025
bc3b0b6
remove unnecessary
kevinkace Jul 4, 2025
d6b410a
move prerender and trailingSlash
kevinkace Jul 4, 2025
6fe11fa
fix button
kevinkace Jul 4, 2025
b84f450
fix link
kevinkace Jul 4, 2025
0cf131e
fix path
kevinkace Jul 4, 2025
7706145
cleanup
kevinkace Jul 4, 2025
cc483ae
cleanup
kevinkace Jul 4, 2025
1654058
fix build base
kevinkace Jul 4, 2025
51854c6
fix build base
kevinkace Jul 4, 2025
b3815a3
fix base
kevinkace Jul 4, 2025
186dcd6
add base to imgs
kevinkace Jul 4, 2025
62aab6d
add base to imgs
kevinkace Jul 4, 2025
f07c51c
chain build and deploy
kevinkace Jul 4, 2025
060e829
remove vite base
kevinkace Jul 4, 2025
5b8e487
test
kevinkace Jul 4, 2025
f146f7b
add gh-pages
kevinkace Jul 4, 2025
85c862f
responsive donate
kevinkace Jul 4, 2025
c8c3497
responsive donate
kevinkace Jul 4, 2025
d18b27f
responsive styles
kevinkace Jul 4, 2025
d227357
comment out unused locale toggle
kevinkace Jul 4, 2025
17b2b21
less magic
kevinkace Jul 5, 2025
43857c1
create redirects
kevinkace Jul 6, 2025
9b3bb59
Merge pull request #1 from kevinkace/ssg-redirects
kevinkace Jul 6, 2025
99eaf94
fix redirects for GH pages
kevinkace Jul 7, 2025
64dcad9
fix redirects for GH pages
kevinkace Jul 7, 2025
3c149d4
error pages
kevinkace Jul 7, 2025
d264ed6
404 and 500 error pages
kevinkace Jul 7, 2025
49d9015
fix redirects for GH pages
kevinkace Jul 7, 2025
d576c8f
Merge pull request #4 from kevinkace/fix/error-pages
kevinkace Jul 7, 2025
5a33bc0
img cleanup
kevinkace Nov 15, 2025
57b4d03
fix TS type error
kevinkace Nov 15, 2025
642887a
CI should use npm ci not npm install
kevinkace Nov 15, 2025
d6af528
replace KCLS with higher res logo
kevinkace Nov 15, 2025
aa261a4
update deps
kevinkace Nov 15, 2025
993f2d3
optimize partners img
kevinkace Nov 15, 2025
017b5f4
gitignore /assets dir
kevinkace Nov 15, 2025
88d2082
optimize partners img
kevinkace Nov 15, 2025
65153a4
keep same deploy filename
kevinkace Nov 18, 2025
81764c9
don't use pnpm, do use nvm
kevinkace Nov 18, 2025
b543687
comment build
kevinkace Nov 18, 2025
eaf68ac
warning about base path
kevinkace Nov 18, 2025
434910f
remove BASE_PATH
kevinkace Nov 18, 2025
9682ee9
remove extraneous dictionary file
kevinkace Nov 18, 2025
a78ed3f
how to run site
kevinkace Nov 18, 2025
4911abc
Notes on updating and tests
kevinkace Nov 18, 2025
e4b3845
clarify local prod build and tests
kevinkace Nov 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 25 additions & 34 deletions .github/workflows/static.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,34 @@
# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages
name: Deploy SvelteKit to GitHub Pages

on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
branches: [svelte-ssg]

jobs:
# Single deploy job since we're just deploying
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
build-and-deploy:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Pages
uses: actions/configure-pages@v3
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
# Check out the repo code
- uses: actions/checkout@v4

# Use the Node version defined in .nvmrc
- uses: actions/setup-node@v4
with:
# Upload entire repository
path: '.'
node-version-file: .nvmrc
cache: npm # cache node_modules for faster builds

# Install dependencies exactly as in package-lock.json
- name: Install dependencies
run: npm ci

# Build the SvelteKit project
- name: Build project
run: npm run build

# Upload the build output to GitHub Pages
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build # SvelteKit static output folder
30 changes: 30 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
test-results
node_modules

# Output
.output
.vercel
.netlify
.wrangler
/.svelte-kit
/build

# OS
.DS_Store
Thumbs.db

# Env
.env
.env.*
!.env.example
!.env.test

# Vite
vite.config.js.timestamp-*
vite.config.ts.timestamp-*

# Paraglide
src/lib/paraglide


/assets
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
engine-strict=true
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v22.17.0
10 changes: 10 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"cSpell.customDictionaries": {
"custom-dictionary-workspace": {
"name": "custom-dictionary-workspace",
"path": "${workspaceFolder:Local-Connectivity-Lab.github.io}/.cspell/custom-dictionary-workspace.txt",
"addWords": true,
"scope": "workspace"
}
}
}
1 change: 0 additions & 1 deletion CNAME

This file was deleted.

79 changes: 78 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,78 @@
#SCN website (operated by LCL)
# SCN website (operated by LCL)

Code repo for the seattlecommunitynetwork.org website.

This site is built using [SvelteKit](https://svelte.dev/docs/kit/introduction). SvelteKit supports building fully static sites - which is how this site is built. SvelteKit uses NodeJS to run the static site build.

The website is hosted on GitHub pages. See `./.github/workflows/static.yml` for deployment info.


## How to update this website

You'll want to run the site locally so you can preview your changes. It's fairly simple to setup if you have any programming experience.

Make your changes and confirm them in your locally running site. Commit change to a feature Branch, and create a pull request in GitHub.

The changes will then need to be reviewed and merged. After merging, a GitHub Action will kick off to build and deploy the site. This should only take 5 mins, after which your changes will be live!


### Local setup

**Install NodeJS** - two options:

1. Download and install NodeJS https://nodejs.org/en/download
See `./.nvmrc` for the version of NodeJS to install
1. Use NVM https://github.com/nvm-sh/nvm

**Setup**

1. Clone the repo
1. Using NVM?
1. `nvm install` to install the correct NodeJS version
1. `nvm use` to use the installed NodeJS version
1. Install dependencies with `npm install`
1. Start a development server `npm run dev`

Open your browser to http://localhost:5173


### Update text

All website text is in `./messages/en.json`.

Adding or removing text sections will most certainly require updating a template


### Update templates

The website is built with a bunch of `*.svelte` files. Each file has a section for JS, HTML, and CSS.

Each page of the website starts with a `+page.svelte` template, eg: `./src/routes/+page.svelte` for the homepage, and `./src/routes/about-us/+page.svelte` for the About Us.

There's 1 layout template used for all pages - `./src/routes/+layout.ts`.

There is a variety of reusable components in `./src/lib/components/*.svelte`


## Tests

There are automated tests using Playwright.

- run this the first time, to install Playwright dependencies: `npx playwright install`
- `npm run test` to run tests


## Production build

To create a *local* production version of your app:

1. `npm run build`
1. `npm run preview`
1. open http://localhost:4137


## Redirects

No good way to do this with GitHub pages, so we need to create stub sveltekit pages that do a client side redirect.

See `./create-redirect.js`.
Loading