Compare commits

..

4 Commits

Author SHA1 Message Date
3ddd9b3640 Merge pull request 'Fixed extra repo_version that wasn't removed in prod build' (#8) from website-content-updates into main
Some checks failed
Build and Test - Production / test (push) Successful in 3m26s
Build and Test - Production / build_and_push (push) Failing after 47s
Build and Test - Production / deploy_production (push) Successful in 3s
Reviewed-on: #8
2025-11-10 09:25:06 +00:00
43d0724345 Merge pull request 'website-content-updates' (#7) from website-content-updates into main
Some checks failed
Build and Test - Production / test (push) Successful in 3m39s
Build and Test - Production / build_and_push (push) Failing after 48s
Build and Test - Production / deploy_production (push) Successful in 3s
Reviewed-on: #7
2025-11-10 09:18:10 +00:00
aeffd1545f Merge pull request 'Favicon, better screen responsive, starting experience layouts' (#6) from website-content-updates into main
All checks were successful
Build and Test - Production / determine_version (push) Successful in 6s
Build and Test - Production / build_and_push (push) Successful in 47s
Build and Test - Production / test (push) Successful in 1s
Build and Test - Production / deploy_production (push) Successful in 3s
Reviewed-on: #6
2025-07-09 11:48:33 +00:00
e9dd38ca6a Merge pull request 'Footer with environment, build, and hash' (#5) from website-content-updates into main
All checks were successful
Build and Test - Production / determine_version (push) Successful in 5s
Build and Test - Production / build_and_push (push) Successful in 47s
Build and Test - Production / test (push) Successful in 2s
Build and Test - Production / deploy_production (push) Successful in 2s
Reviewed-on: #5
2025-07-09 11:03:25 +00:00
233 changed files with 2096 additions and 6485 deletions

View File

@@ -1,17 +1,7 @@
.DS_Store .DS_Store
.gitea/ .idea
.astro/ .astro
.idea/
*/dist/
*/build/ */build/
*/node_modules/ */node_modules/
*/playwright-report/
*/test-results/
.gitignore
Dockerfile
Makefile
new-words.txt
README.md

View File

@@ -1,7 +0,0 @@
[*]
charset = utf-8
insert_final_newline = true
end_of_line = lf
indent_style = space
indent_size = 2
max_line_length = 80

View File

@@ -0,0 +1,27 @@
name: Playwright Tests
on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]
jobs:
test:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Install dependencies
run: npm ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run Playwright tests
run: npx playwright test
- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: playwright-report
path: playwright-report/
retention-days: 30

View File

@@ -12,24 +12,16 @@ jobs:
project_version: ${{ steps.project_metadata.outputs.PROJECT_VERSION }} project_version: ${{ steps.project_metadata.outputs.PROJECT_VERSION }}
steps: steps:
- name: Checkout Repository - name: Checkout Repository
uses: actions/checkout@v5 uses: actions/checkout@v4
- name: Setup Node Environment - name: Setup Node Environment
uses: actions/setup-node@v6 uses: actions/setup-node@v4
with:
node-version: ">=22.20"
- name: Setup Project Dependencies - name: Setup Project Dependencies
run: | run: |
npm ci npm ci
npx playwright install --with-deps npx playwright install --with-deps
- name: Code Formatting Check
run: npx prettier . --check
- name: Spelling Check
run: npx cspell .
- name: Build Project - name: Build Project
run: npm run build run: npm run build
@@ -50,34 +42,30 @@ jobs:
needs: test needs: test
steps: steps:
- name: Checkout caperren-com Repository - name: Checkout caperren-com Repository
uses: actions/checkout@v5 uses: actions/checkout@v4
with: with:
path: caperren-com path: caperren-com
- name: Login to Docker Registry - name: Login to Docker Registry
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
registry: 192.168.1.36:30008 registry: gitea.perren.cloud
username: ${{ secrets.REGISTRY_USERNAME }} username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.ACTIONS_TOKEN }} password: ${{ secrets.ACTIONS_TOKEN }}
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3 uses: docker/setup-buildx-action@v3
with:
buildkitd-config-inline: |
[registry."192.168.1.36:30008"]
http = true
- name: Build and Push - name: Build and Push
uses: docker/build-push-action@v6 uses: docker/build-push-action@v5
with: with:
context: caperren-com context: caperren-com
push: true push: true
tags: | tags: |
192.168.1.36:30008/caperren/${{ needs.test.outputs.repo_name }}:${{ needs.test.outputs.repo_version_hash }} gitea.perren.cloud/caperren/${{ needs.determine_version.outputs.repo_name }}:${{ needs.determine_version.outputs.repo_version_hash }}
192.168.1.36:30008/caperren/caperren-com:latest gitea.perren.cloud/caperren/caperren-com:latest
build-args: | build-args: |
REPO_VERSION_HASH=${{ needs.test.outputs.repo_version_hash }} REPO_VERSION_HASH=${{ needs.determine_version.outputs.repo_version_hash }}
BUILD_ENVIRONMENT=production BUILD_ENVIRONMENT=production
deploy_production: deploy_production:
@@ -110,4 +98,4 @@ jobs:
-H 'accept: */*' \ -H 'accept: */*' \
-H 'Authorization: Bearer ${{ secrets.TRUENAS_CAPERRENCOM_API_KEY }}' \ -H 'Authorization: Bearer ${{ secrets.TRUENAS_CAPERRENCOM_API_KEY }}' \
-H 'Content-Type: application/json' \ -H 'Content-Type: application/json' \
-d '"caperren-com"' -d '"caperren-com"'

View File

@@ -1,7 +1,7 @@
name: Build and Test - Staging name: Build and Test - Staging
on: on:
pull_request: pull_request:
types: [opened, synchronize, reopened] types: [ opened, synchronize, reopened ]
jobs: jobs:
test: test:
@@ -12,24 +12,16 @@ jobs:
project_version: ${{ steps.project_metadata.outputs.PROJECT_VERSION }} project_version: ${{ steps.project_metadata.outputs.PROJECT_VERSION }}
steps: steps:
- name: Checkout Repository - name: Checkout Repository
uses: actions/checkout@v5 uses: actions/checkout@v4
- name: Setup Node Environment - name: Setup Node Environment
uses: actions/setup-node@v6 uses: actions/setup-node@v4
with:
node-version: ">=22.20"
- name: Setup Project Dependencies - name: Setup Project Dependencies
run: | run: |
npm ci npm ci
npx playwright install --with-deps npx playwright install --with-deps
- name: Code Formatting Check
run: npx prettier . --check
- name: Spelling Check
run: npx cspell .
- name: Build Project - name: Build Project
run: npm run build run: npm run build
@@ -50,33 +42,29 @@ jobs:
needs: test needs: test
steps: steps:
- name: Checkout caperren-com Repository - name: Checkout caperren-com Repository
uses: actions/checkout@v5 uses: actions/checkout@v4
with: with:
path: caperren-com path: caperren-com
- name: Login to Docker Registry - name: Login to Docker Registry
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
registry: 192.168.1.36:30008 registry: gitea.perren.cloud
username: ${{ secrets.REGISTRY_USERNAME }} username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.ACTIONS_TOKEN }} password: ${{ secrets.ACTIONS_TOKEN }}
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3 uses: docker/setup-buildx-action@v3
with:
buildkitd-config-inline: |
[registry."192.168.1.36:30008"]
http = true
- name: Build and Push - name: Build and Push
uses: docker/build-push-action@v6 uses: docker/build-push-action@v5
with: with:
context: caperren-com context: caperren-com
push: true push: true
tags: | tags: |
192.168.1.36:30008/caperren/caperren-com:latest-staging gitea.perren.cloud/caperren/caperren-com:latest-staging
build-args: | build-args: |
REPO_VERSION_HASH=${{ needs.test.outputs.repo_version_hash }} REPO_VERSION_HASH=${{ needs.determine_version.outputs.repo_version_hash }}
BUILD_ENVIRONMENT=staging BUILD_ENVIRONMENT=staging
deploy_staging: deploy_staging:
@@ -110,4 +98,4 @@ jobs:
-H 'accept: */*' \ -H 'accept: */*' \
-H 'Authorization: Bearer ${{ secrets.TRUENAS_CAPERRENCOM_API_KEY }}' \ -H 'Authorization: Bearer ${{ secrets.TRUENAS_CAPERRENCOM_API_KEY }}' \
-H 'Content-Type: application/json' \ -H 'Content-Type: application/json' \
-d '"caperren-com-stg"' -d '"caperren-com-stg"'

9
.gitignore vendored
View File

@@ -1,3 +1,9 @@
# Ignore everything under src/content, as they are dynamically added from obsidian
src/content/*
# Do not ignore config.ts in src/content since that necessary to import the dynamic content
!src/content/config.ts
# build output # build output
dist/ dist/
@@ -29,6 +35,3 @@ pnpm-debug.log*
/blob-report/ /blob-report/
/playwright/.cache/ /playwright/.cache/
/playwright/.auth/ /playwright/.auth/
# Local temporary storage files
new-words.txt

View File

@@ -1,34 +0,0 @@
# build output
dist/
# generated types
.astro/
# dependencies
node_modules/
# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# environment variables
.env
.env.production
# macOS-specific files
.DS_Store
# jetbrains setting folder
.idea/
# Playwright
/test-results/
/playwright-report/
/blob-report/
/playwright/.cache/
/playwright/.auth/
# Local temporary storage files
new-words.txt

View File

@@ -1,29 +0,0 @@
{
"astroOrganizeImportsMode": "All",
"importOrder": [
"^@core/(.*)$",
"^@server/(.*)$",
"^@ui/(.*)$",
"^@layouts/(.*)$",
"^@components/(.*)$",
"^@interfaces/(.*)$",
"^@assets/(.*)$",
"^[./]"
],
"importOrderSeparation": true,
"importOrderSortSpecifiers": true,
"plugins": [
"prettier-plugin-astro",
"prettier-plugin-tailwindcss",
"@trivago/prettier-plugin-sort-imports",
"prettier-plugin-astro-organize-imports"
],
"overrides": [
{
"files": "*.astro",
"options": {
"parser": "astro"
}
}
]
}

View File

@@ -5,27 +5,12 @@ WORKDIR /app
# Therefore, the `-deps` steps will be skipped if only the source code changes. # Therefore, the `-deps` steps will be skipped if only the source code changes.
COPY package.json package-lock.json tsconfig.json astro.config.mjs ./ COPY package.json package-lock.json tsconfig.json astro.config.mjs ./
CMD [ "/bin/bash" ]
FROM base AS prod-deps FROM base AS prod-deps
RUN npm install --omit=dev RUN npm install --omit=dev
FROM prod-deps AS test-base
RUN npm ci
RUN npx playwright install --with-deps
FROM prod-deps AS build FROM prod-deps AS build
COPY --exclude=test \ COPY . .
--exclude=test-e2e \
--exclude=playwright.config.ts \
--exclude=vitest.config.ts \
--exclude=.prettierrc \
--exclude=.prettierignore \
--exclude=cspell.json \
--exclude=project-words.txt \
. .
ARG REPO_VERSION_HASH ARG REPO_VERSION_HASH
ARG BUILD_ENVIRONMENT ARG BUILD_ENVIRONMENT
@@ -34,16 +19,6 @@ RUN echo "PUBLIC_REPO_VERSION_HASH=\"${REPO_VERSION_HASH}\" \n\
PUBLIC_BUILD_ENVIRONMENT=\"${BUILD_ENVIRONMENT}\"" >> .env PUBLIC_BUILD_ENVIRONMENT=\"${BUILD_ENVIRONMENT}\"" >> .env
RUN npm run build RUN npm run build
FROM test-base AS test
COPY . .
COPY --from=build /app/dist /app/dist
RUN npx prettier . --check
RUN npx cspell .
RUN npm run test
RUN npm run e2e-test
FROM nginx:alpine AS runtime FROM nginx:alpine AS runtime
COPY ./nginx/nginx.conf /etc/nginx/nginx.conf COPY ./nginx/nginx.conf /etc/nginx/nginx.conf
@@ -51,4 +26,8 @@ COPY --from=build /app/dist /usr/share/nginx/html
RUN chown -R nginx:nginx /usr/share/nginx/html RUN chown -R nginx:nginx /usr/share/nginx/html
EXPOSE 80 #COPY entrypoint.sh /entrypoint.sh
EXPOSE 80
#ENTRYPOINT ["/entrypoint.sh"]

View File

@@ -6,17 +6,7 @@
astro_upgrade \ astro_upgrade \
build \ build \
dev \ dev \
dev-hosted \ dev-hosted
test \
_spelling-generate-new-words \
spelling-find-new-words \
spelling-add-new-words \
spelling-check \
cleanup-check \
cleanup-code \
convert_video \
convert_video_times \
generate_asset_imports
default: dev default: dev
@@ -38,63 +28,3 @@ dev:
dev-hosted: dev-hosted:
npm run dev-hosted npm run dev-hosted
test: spelling-check
@npx playwright install --with-deps
npm run test --ui
npx playwright test --ui
_spelling-generate-new-words:
@cspell --words-only --unique . 2>/dev/null | sort --ignore-case -o new-words.txt
spelling-find-new-words: _spelling-generate-new-words
@echo "Found the following new words:"
@cat new-words.txt
@rm -f new-words.txt
spelling-add-new-words: _spelling-generate-new-words
@echo "Adding to project-words.txt"
@cat new-words.txt >> project-words.txt
@rm -f new-words.txt
@cat project-words.txt | sort --ignore-case -o project-words.txt
spelling-check:
npx cspell .
cleanup-check:
npx prettier . --check
cleanup-code:
npx prettier . --write
convert_video:
ffmpeg \
-init_hw_device vaapi=va:/dev/dri/renderD128 \
-filter_hw_device va \
-i $(input) \
-vf 'format=nv12,hwupload,scale_vaapi=-2:720' \
-c:v h264_vaapi \
-rc_mode CQP \
-qp 28 \
-an \
$(extra_args) \
$(output)
convert_video_times:
ffmpeg \
-init_hw_device vaapi=va:/dev/dri/renderD128 \
-filter_hw_device va \
-i $(input) \
-ss $(start) \
-to $(end) \
-vf 'format=nv12,hwupload,scale_vaapi=-2:720' \
-c:v h264_vaapi \
-rc_mode CQP \
-qp 28 \
-an \
$(output)
generate_asset_imports:
@for assets_path in `find "src/assets/${assets_relative_path}" -maxdepth 1 -type f -printf "%f\n"`; do \
without_extension=$${assets_path/%.*}; \
echo "import $${without_extension//-/_} from \"@assets/${assets_relative_path}/$$assets_path\";"; \
done;

View File

@@ -1,3 +1,48 @@
# Corwin Perren's Personal Portfolio Website # Astro Starter Kit: Basics
Check the Makefile and/or package.json for the commands needed to build and run this project. ```sh
npm create astro@latest -- --template basics
```
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/basics)
[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/basics)
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/basics/devcontainer.json)
> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun!
![just-the-basics](https://github.com/withastro/astro/assets/2244813/a0a5533c-a856-4198-8470-2d67b1d7c554)
## 🚀 Project Structure
Inside of your Astro project, you'll see the following folders and files:
```text
/
├── public/
│ └── favicon.svg
├── src/
│ ├── layouts/
│ │ └── Layout.astro
│ └── pages/
│ └── index.astro
└── package.json
```
To learn more about the folder structure of an Astro project, refer to [our guide on project structure](https://docs.astro.build/en/basics/project-structure/).
## 🧞 Commands
All commands are run from the root of the project, from a terminal:
| Command | Action |
| :------------------------ | :----------------------------------------------- |
| `npm install` | Installs dependencies |
| `npm run dev` | Starts local dev server at `localhost:4321` |
| `npm run build` | Build your production site to `./dist/` |
| `npm run preview` | Preview your build locally, before deploying |
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
| `npm run astro -- --help` | Get help using the Astro CLI |
## 👀 Want to learn more?
Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat).

View File

@@ -1,32 +1,25 @@
// @ts-check // @ts-check
import {defineConfig} from 'astro/config';
import sitemap from "@astrojs/sitemap"; import sitemap from "@astrojs/sitemap";
import tailwindcss from "@tailwindcss/vite"; import tailwindcss from "@tailwindcss/vite";
import { defineConfig } from "astro/config";
// We don't have access to short imports this early in the build chain import {siteLayout, getPaths} from "./src/data/site-layout.ts";
// noinspection ES6PreferShortImport
import { getPaths, siteLayout } from "./src/data/site-layout.ts";
const disabledPaths = getPaths(siteLayout, [], true); const disabledPaths = getPaths(siteLayout, [], true)
// https://astro.build/config // https://astro.build/config
export default defineConfig({ export default defineConfig({
site: "https://caperren.com", site: "https://caperren.com",
trailingSlash: "never", prefetch: {
prefetch: { prefetchAll: true
prefetchAll: true, },
}, integrations: [
integrations: [ sitemap({
sitemap({ filter: (pagePath) =>
filter: (pagePath) => !disabledPaths.some(disabledPath => pagePath.includes(disabledPath))
!disabledPaths.some((disabledPath) => pagePath.includes(disabledPath)), })
}),
],
vite: {
plugins: [
// @ts-ignore
tailwindcss(),
], ],
}, vite: {
}); plugins: [tailwindcss()],
},
});

View File

@@ -1,23 +0,0 @@
{
"$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json",
"version": "0.2",
"dictionaryDefinitions": [
{
"name": "project-words",
"path": "./project-words.txt",
"addWords": true
}
],
"dictionaries": ["project-words"],
"ignorePaths": [
".astro",
".idea",
"dist",
"node_modules",
"playwright-report",
"test-results",
"new-words.txt",
"playwright.config.ts",
"/project-words.txt"
]
}

14
entrypoint.sh Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env sh
set -e
# Generate a unique token per container launch
TOKEN="$(cat /proc/sys/kernel/random/uuid)" # or: TOKEN="$(date +%s%N)"
# Write it into a file NGINX will include
cat >/etc/nginx/conf.d/_release_token.conf <<EOF
# auto-generated at container start
set \$release_token "$TOKEN";
EOF
# Then exec nginx
exec nginx -g 'daemon off;'

View File

@@ -14,6 +14,12 @@ http {
root /usr/share/nginx/html; root /usr/share/nginx/html;
index index.html index.htm; index index.html index.htm;
include /etc/nginx/mime.types; include /etc/nginx/mime.types;
#include /etc/nginx/conf.d/_release_token.conf;
#etag off;
#add_header ETag "\"W/$release_token\"" always;
#add_header Cache-Control "max-age=0, must-revalidate" always;
gzip on; gzip on;
gzip_proxied any; gzip_proxied any;

2078
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,7 @@
{ {
"name": "caperren-com", "name": "caperren-com",
"type": "module", "type": "module",
"version": "0.0.1",
"scripts": { "scripts": {
"dev": "astro dev", "dev": "astro dev",
"dev-hosted": "astro dev --host", "dev-hosted": "astro dev --host",
@@ -13,7 +14,7 @@
"dependencies": { "dependencies": {
"@astrojs/sitemap": "^3.6.0", "@astrojs/sitemap": "^3.6.0",
"@tailwindcss/vite": "^4.1.11", "@tailwindcss/vite": "^4.1.11",
"astro": "^5.16.3", "astro": "^5.15.4",
"flowbite": "^3.1.2", "flowbite": "^3.1.2",
"leader-line-new": "^1.1.9", "leader-line-new": "^1.1.9",
"luxon": "^3.7.2", "luxon": "^3.7.2",
@@ -22,14 +23,8 @@
}, },
"devDependencies": { "devDependencies": {
"@playwright/test": "^1.56.1", "@playwright/test": "^1.56.1",
"@trivago/prettier-plugin-sort-imports": "^6.0.0",
"@types/luxon": "^3.7.1", "@types/luxon": "^3.7.1",
"@types/node": "^24.10.0", "@types/node": "^24.10.0",
"cspell": "^9.3.2",
"prettier": "3.7.3",
"prettier-plugin-astro": "0.14.1",
"prettier-plugin-astro-organize-imports": "^0.4.11",
"prettier-plugin-tailwindcss": "0.7.1",
"vitest": "^4.0.7" "vitest": "^4.0.7"
} }
} }

View File

@@ -1,4 +1,4 @@
import { defineConfig, devices } from "@playwright/test"; import {defineConfig, devices} from '@playwright/test';
/** /**
* Read environment variables from file. * Read environment variables from file.
@@ -12,69 +12,69 @@ import { defineConfig, devices } from "@playwright/test";
* See https://playwright.dev/docs/test-configuration. * See https://playwright.dev/docs/test-configuration.
*/ */
export default defineConfig({ export default defineConfig({
testDir: "./test-e2e", testDir: './test-e2e',
/* Run tests in files in parallel */ /* Run tests in files in parallel */
fullyParallel: true, fullyParallel: true,
/* Fail the build on CI if you accidentally left test.only in the source code. */ /* Fail the build on CI if you accidentally left test.only in the source code. */
forbidOnly: !!process.env.CI, forbidOnly: !!process.env.CI,
/* Retry on CI only */ /* Retry on CI only */
retries: process.env.CI ? 2 : 0, retries: process.env.CI ? 2 : 0,
/* Opt out of parallel tests on CI. */ /* Opt out of parallel tests on CI. */
workers: process.env.CI ? 1 : undefined, workers: process.env.CI ? 1 : undefined,
/* Reporter to use. See https://playwright.dev/docs/test-reporters */ /* Reporter to use. See https://playwright.dev/docs/test-reporters */
reporter: "html", reporter: 'html',
/* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
use: { use: {
/* Base URL to use in actions like `await page.goto('')`. */ /* Base URL to use in actions like `await page.goto('')`. */
baseURL: "http://localhost:4321", baseURL: 'http://localhost:4321',
/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
trace: "on-first-retry", trace: 'on-first-retry',
},
/* Configure projects for major browsers */
projects: [
{
name: "chromium",
use: { ...devices["Desktop Chrome"] },
}, },
{ /* Configure projects for major browsers */
name: "firefox", projects: [
use: { ...devices["Desktop Firefox"] }, {
}, name: 'chromium',
use: {...devices['Desktop Chrome']},
},
{ // {
name: "webkit", // name: 'firefox',
use: { ...devices["Desktop Safari"] }, // use: { ...devices['Desktop Firefox'] },
}, // },
//
// {
// name: 'webkit',
// use: { ...devices['Desktop Safari'] },
// },
/* Test against mobile viewports. */ /* Test against mobile viewports. */
{ {
name: "Mobile Chrome", name: 'Mobile Chrome',
use: { ...devices["Pixel 5"] }, use: {...devices['Pixel 5']},
}, },
{ // {
name: "Mobile Safari", // name: 'Mobile Safari',
use: { ...devices["iPhone 12"] }, // use: { ...devices['iPhone 12'] },
}, // },
/* Test against branded browsers. */ /* Test against branded browsers. */
// { // {
// name: 'Microsoft Edge', // name: 'Microsoft Edge',
// use: { ...devices['Desktop Edge'], channel: 'msedge' }, // use: { ...devices['Desktop Edge'], channel: 'msedge' },
// }, // },
// { // {
// name: 'Google Chrome', // name: 'Google Chrome',
// use: { ...devices['Desktop Chrome'], channel: 'chrome' }, // use: { ...devices['Desktop Chrome'], channel: 'chrome' },
// }, // },
], ],
/* Run your local dev server before starting the tests */ /* Run your local dev server before starting the tests */
webServer: { webServer: {
command: "npm run preview", command: 'npm run preview',
url: "http://localhost:4321", url: 'http://localhost:4321',
timeout: 120 * 1000, timeout: 120 * 1000,
reuseExistingServer: !process.env.CI, reuseExistingServer: !process.env.CI,
}, },
}); });

View File

@@ -1,96 +0,0 @@
ADCP
Altium
ASSEM
astrojs
Atmel
automations
barebones
beaglebone
Bitwarden
Candian
caperren
CEOAS
COMSC
Concours
CONSERV
Corwin
dangerousthings
dechorionation
Dechorionator
dechorionators
dockerization
dockerizing
drumheller
ebox
ELMI
fhhs
flowbite
flowrate
gcode
gerbers
Gitea
HDFS
headshot
Homelab
hwupload
iceops
ITAR
Jetson
KFSK
Labjack
leconte
Loctite
luxon
MGMT
microcontroller
microcontroller's
Micropumps
Millis
modbus
Mokai
Multimeters
nixos
nvme
offroad
Onshape
OSSM
OSURC
panelized
Passthroughs
pcbs
Perren
Perren's
Pixhawk
Protocase
pubpath
RFID
Rito
RSSI
SARL
SCARA
showerheads
Shuttlebox
simplemotion
sinnhuber
sitemapindex
Smartsheet
solderable
ssds
Starlink
steller
Steller
Tanguay
Teamcenter
timelapse
touchoff
triaging
trivago
Truong
Ubiquiti
Unstow
uuidv
vaapi
vitest
Waterjet
Zebrafish
zscan

Binary file not shown.

Before

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 500 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 785 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

BIN
public/favicon-solid.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 662 B

View File

Before

Width:  |  Height:  |  Size: 2.4 MiB

After

Width:  |  Height:  |  Size: 2.4 MiB

View File

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 956 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 MiB

Some files were not shown because too many files have changed in this diff Show More