diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index f7ad125..2c16d96 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -1,49 +1,46 @@ -name: Deploy SvelteKit to GitHub Pages +# Simple workflow for deploying static content to GitHub Pages +name: Deploy static content to Pages on: + # Runs on pushes targeting the default branch push: - branches: [main] + 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 -# 2 jobs: build the SvelteKit static site, and deploy the built site to GitHub Pages +# 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 + jobs: - build: + # Single deploy job since we're just deploying + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest - steps: - # Check out the repo code - - uses: actions/checkout@v4 - - # Use the Node version defined in .nvmrc - - uses: actions/setup-node@v4 - with: - node-version-file: .nvmrc - cache: npm # cache node_modules for faster builds + - name: Checkout + uses: actions/checkout@v4 - - name: Install dependencies - run: npm ci # ci (not install) to install exact versions from package-lock.json + - name: Setup Pages + uses: actions/configure-pages@v5 - # Build the SvelteKit project - - name: Build project - run: npm run build - - # Upload build output as artifact - - uses: actions/upload-pages-artifact@v3 + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 with: - path: ./build # SvelteKit static output folder - - deploy: - needs: build # make the build artifact available here in deploy job - runs-on: ubuntu-latest + # Upload entire repository + path: '.' - environment: - name: github-pages - url: ${{ steps.deploy.outputs.page_url }} # just a convenience, adds page url to action summary page - - steps: - - id: deploy + - name: Deploy to GitHub Pages + id: deployment uses: actions/deploy-pages@v4 diff --git a/.npmrc b/.npmrc deleted file mode 100644 index b6f27f1..0000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -engine-strict=true diff --git a/.nvmrc b/.nvmrc deleted file mode 100644 index 6bb91c7..0000000 --- a/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -v22.17.0 \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..dc7cbc1 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +seattlecommunitynetwork.org diff --git a/README.md b/README.md index 2d2d397..cba6e56 100644 --- a/README.md +++ b/README.md @@ -1,78 +1 @@ -# 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 (`./.github/workflows/static.yml`) 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`. +#SCN website (operated by LCL) diff --git a/aboutUs.html b/aboutUs.html new file mode 100644 index 0000000..cc5593e --- /dev/null +++ b/aboutUs.html @@ -0,0 +1,210 @@ + + + + + +
+ + + + + + + + + + +
+
+ + The Seattle Community Network began in 2019 as a project of the + Local Connectivity Lab (LCL), a 501(c)(3) registered non-profit + that develops and deploys open source cellular network technologies + to help people run their own community networks. LCL works in + partnership with the University of Washington (UW) to share free + or low-cost broadband access in higher-need areas throughout the + city, making use of existing city network infrastructure such as + buildings and fiber-optic cables to extend coverage to more people. + Our mission is to facilitate community focused technology + development and research in support of low-income, marginalized + populations and groups. + See our most recent blog post for the latest updates! +
+
+
+ + LCL seeks to democratize knowledge, skills, and resources to enable + people to establish and run their own local, community-centered, and + community-owned Internet access networks and digital infrastructure. +
+ +
+
+ + We envision a world where no one is excluded from access to the Internet, + and where anyone can achieve the expertise and capability to bring + communications infrastructure to their community and improve their + quality of life. +
+
+
+ + We value the ability to access the Internet and all public information + and digital resources therein as a human right. +
+`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-bs-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-bs-original-title] { // 1\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n direction: ltr #{\"/* rtl:ignore */\"};\n unicode-bidi: bidi-override;\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `