Compare commits

...

46 Commits

Author SHA1 Message Date
6ff2249955 Added won 1st to mars rover
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 6m36s
Build and Test - Staging / build_and_push (pull_request) Successful in 5m14s
Build and Test - Staging / deploy_staging (pull_request) Successful in 2s
2025-12-17 20:23:44 -08:00
ec6cfba9ba Content for mars rover software lead and embryo pick and plate, small padding tweak to printed circuit board notes
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 6m24s
Build and Test - Staging / build_and_push (pull_request) Successful in 5m23s
Build and Test - Staging / deploy_staging (pull_request) Successful in 2s
2025-12-17 20:05:12 -08:00
22b6a06b32 Added media for embryo pick and plate, including pcbs, made tweaks to pcb astro component for title and description, new H4 component, enabled zebrafish pnp and mars rover software team pages 2025-12-17 17:37:44 -08:00
dac9e80efd Fix unit tests for placeholder site-layout entries
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 5m26s
Build and Test - Staging / build_and_push (pull_request) Successful in 4m16s
Build and Test - Staging / deploy_staging (pull_request) Successful in 3s
2025-12-12 23:05:47 -08:00
8fd744118f Component for PCBs, many visual tweaks, finished dechorionator content, added many many photos, started work on mars rover software lead, timeline to luxon and automatic date-based ordering
Some checks failed
Build and Test - Staging / test (pull_request) Failing after 4m56s
Build and Test - Staging / build_and_push (pull_request) Has been skipped
Build and Test - Staging / deploy_staging (pull_request) Has been skipped
2025-12-12 22:48:03 -08:00
adcbce68c8 Fix site layout formatting
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 4m16s
Build and Test - Staging / build_and_push (pull_request) Successful in 3m22s
Build and Test - Staging / deploy_staging (pull_request) Successful in 3s
2025-12-11 17:18:09 -08:00
33fbbe96b3 Temporarily disable mars rover software lead for deploy
Some checks failed
Build and Test - Staging / test (pull_request) Failing after 1m56s
Build and Test - Staging / build_and_push (pull_request) Has been skipped
Build and Test - Staging / deploy_staging (pull_request) Has been skipped
2025-12-11 17:11:51 -08:00
076618784a Lots of media for mars rover software lead, yt video grid now working, small fixes to import orders and extra photos
Some checks failed
Build and Test - Staging / build_and_push (pull_request) Has been cancelled
Build and Test - Staging / deploy_staging (pull_request) Has been cancelled
Build and Test - Staging / test (pull_request) Has been cancelled
2025-12-11 17:07:42 -08:00
91ce9aa6c6 Fixes for hardware test engineer page
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 4m32s
Build and Test - Staging / build_and_push (pull_request) Successful in 2m55s
Build and Test - Staging / deploy_staging (pull_request) Successful in 2s
2025-12-11 15:29:53 -08:00
52eac520e8 Added core content for hardware test engineer page
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 4m13s
Build and Test - Staging / build_and_push (pull_request) Successful in 3m0s
Build and Test - Staging / deploy_staging (pull_request) Successful in 3s
2025-12-11 14:44:16 -08:00
2583e4e99b Update production with local build changes
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 4m3s
Build and Test - Staging / build_and_push (pull_request) Successful in 2m57s
Build and Test - Staging / deploy_staging (pull_request) Successful in 2s
2025-12-11 12:14:34 -08:00
1b1db88a2a Buildkit for docker add local insecure registry
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 4m29s
Build and Test - Staging / build_and_push (pull_request) Successful in 2m57s
Build and Test - Staging / deploy_staging (pull_request) Successful in 2s
2025-12-11 11:56:39 -08:00
028637fdd3 Round two, trying local gitea actions
Some checks failed
Build and Test - Staging / test (pull_request) Successful in 5m1s
Build and Test - Staging / build_and_push (pull_request) Failing after 4m45s
Build and Test - Staging / deploy_staging (pull_request) Successful in 2s
2025-12-11 11:38:42 -08:00
649b596c7c Added this website as content to hobbies, refactored some items into site-layout
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 5m6s
Build and Test - Staging / build_and_push (pull_request) Successful in 5m14s
Build and Test - Staging / deploy_staging (pull_request) Successful in 3s
2025-12-10 16:59:54 -08:00
25c08f7a1d Fixed extra padding in dropdowns for some entries in navbar
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 4m41s
Build and Test - Staging / build_and_push (pull_request) Successful in 5m19s
Build and Test - Staging / deploy_staging (pull_request) Successful in 3s
2025-12-10 14:34:57 -08:00
c320190a8d Finished avionics test engineering internship
Some checks failed
Build and Test - Staging / test (pull_request) Successful in 4m49s
Build and Test - Staging / deploy_staging (pull_request) Has been cancelled
Build and Test - Staging / build_and_push (pull_request) Has been cancelled
2025-12-10 14:28:59 -08:00
e17d28914e Inc to corp on Resume for SpaceX 2025-12-10 13:48:22 -08:00
95c9f186bb Revert local pointing build changes
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 4m46s
Build and Test - Staging / build_and_push (pull_request) Successful in 5m7s
Build and Test - Staging / deploy_staging (pull_request) Successful in 3s
2025-12-06 11:53:18 -08:00
4f571b3ae1 Explicitly make docker registry http
Some checks failed
Build and Test - Staging / build_and_push (pull_request) Failing after 1m11s
Build and Test - Staging / test (pull_request) Successful in 4m50s
Build and Test - Staging / deploy_staging (pull_request) Successful in 2s
2025-12-06 11:37:40 -08:00
c5fdcf6b10 Change docker registry to local ip for faster access
Some checks failed
Build and Test - Staging / test (pull_request) Successful in 5m18s
Build and Test - Staging / build_and_push (pull_request) Failing after 2m41s
Build and Test - Staging / deploy_staging (pull_request) Successful in 3s
2025-12-06 11:20:47 -08:00
a38cd26894 Fix trailing slashes breaking pathname in prod, keep flex for main page div so footer sits properly, misspelling fix
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 4m40s
Build and Test - Staging / build_and_push (pull_request) Successful in 5m3s
Build and Test - Staging / deploy_staging (pull_request) Successful in 3s
2025-12-06 11:07:06 -08:00
37e7b3617a Extra Li wrappers removed, added word
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 26m28s
Build and Test - Staging / build_and_push (pull_request) Successful in 5m4s
Build and Test - Staging / deploy_staging (pull_request) Successful in 3s
2025-12-06 00:12:54 -08:00
87224a6dbb Finished ross content, added skill matrix, li, and ul, and improved many existing components, created and refactored to unified layouts and grid, visual improvements with proper column to row collapsing
Some checks failed
Build and Test - Staging / build_and_push (pull_request) Has been cancelled
Build and Test - Staging / deploy_staging (pull_request) Has been cancelled
Build and Test - Staging / test (pull_request) Has been cancelled
2025-12-06 00:08:52 -08:00
4b5f65bfdd Removed unused build, refactored H1-3 to use slot based setup, added visual and aria page highlighting for navbar links, switched all pages to use custom H1-3, better new page/tab handling for inline links
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 4m29s
Build and Test - Staging / build_and_push (pull_request) Successful in 4m59s
Build and Test - Staging / deploy_staging (pull_request) Successful in 3s
2025-12-05 14:17:12 -08:00
f9a837f0fa Fix production build, bad reference in staging build
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 5m27s
Build and Test - Staging / build_and_push (pull_request) Successful in 6m44s
Build and Test - Staging / deploy_staging (pull_request) Successful in 2s
2025-12-05 11:55:29 -08:00
4847e9f172 Linting
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 6m4s
Build and Test - Staging / build_and_push (pull_request) Successful in 6m28s
Build and Test - Staging / deploy_staging (pull_request) Successful in 3s
2025-12-05 01:37:46 -08:00
3aa75e1a10 LeConte deployments page complete, better auto-formatting and import sorting, new inline link, popover definitions, and paragraph components, improvements to component interfaces
Some checks failed
Build and Test - Staging / test (pull_request) Failing after 2m31s
Build and Test - Staging / build_and_push (pull_request) Has been skipped
Build and Test - Staging / deploy_staging (pull_request) Has been skipped
2025-12-05 01:02:18 -08:00
91cd9af0f8 Added pictures for CEOAS, formatting fixes, new work to dictionary
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 4m6s
Build and Test - Staging / build_and_push (pull_request) Successful in 4m6s
Build and Test - Staging / deploy_staging (pull_request) Successful in 3s
2025-11-30 19:44:24 -08:00
4a59e44716 Started refactoring, added prettier and checks and reformatted project, added cspell and checks and custom project words, beginning of robotic oceanographic surface sampler content
Some checks failed
Build and Test - Staging / test (pull_request) Failing after 2m35s
Build and Test - Staging / build_and_push (pull_request) Has been skipped
Build and Test - Staging / deploy_staging (pull_request) Has been skipped
2025-11-30 15:48:36 -08:00
67eb549ed2 Removed logging, updated packages
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 3m18s
Build and Test - Staging / build_and_push (pull_request) Successful in 3m12s
Build and Test - Staging / deploy_staging (pull_request) Successful in 3s
2025-11-30 10:58:31 -08:00
8fd009ffda Remove blank line
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 3m48s
Build and Test - Staging / build_and_push (pull_request) Successful in 3m31s
Build and Test - Staging / deploy_staging (pull_request) Successful in 4s
2025-11-12 01:48:42 -08:00
4b1eb3777f Removed Timeline fixed height that was only used for testing 2025-11-12 01:36:35 -08:00
7858d95f58 Reformatted the project 2025-11-12 01:21:48 -08:00
b91d37db45 Fixed navbar button border and list overlap 2025-11-12 01:14:54 -08:00
109996989e No major minor versions on actions
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 11m13s
Build and Test - Staging / build_and_push (pull_request) Successful in 4m18s
Build and Test - Staging / deploy_staging (pull_request) Successful in 5s
2025-11-12 00:36:01 -08:00
96151d6512 Custom set difference for tests
Some checks failed
Build and Test - Staging / build_and_push (pull_request) Failing after 2s
Build and Test - Staging / test (pull_request) Successful in 16m27s
Build and Test - Staging / deploy_staging (pull_request) Successful in 3s
2025-11-12 00:17:15 -08:00
ac266b98ec Specify node version
Some checks failed
Build and Test - Staging / test (pull_request) Successful in 4m37s
Build and Test - Staging / build_and_push (pull_request) Failing after 37s
Build and Test - Staging / deploy_staging (pull_request) Successful in 7s
2025-11-11 23:40:14 -08:00
8fa3c0b3ab Update docker and node action versions
Some checks failed
Build and Test - Staging / test (pull_request) Failing after 9m12s
Build and Test - Staging / build_and_push (pull_request) Has been skipped
Build and Test - Staging / deploy_staging (pull_request) Has been skipped
2025-11-11 23:29:21 -08:00
cef1b3381f Make endpoint tests not async and more logging
Some checks failed
Build and Test - Staging / test (pull_request) Failing after 3m29s
Build and Test - Staging / build_and_push (pull_request) Has been skipped
Build and Test - Staging / deploy_staging (pull_request) Has been skipped
2025-11-11 23:12:45 -08:00
049861c255 Changes to endpoint unit tests for debugging
Some checks failed
Build and Test - Staging / test (pull_request) Failing after 3m36s
Build and Test - Staging / build_and_push (pull_request) Has been skipped
Build and Test - Staging / deploy_staging (pull_request) Has been skipped
2025-11-11 23:00:11 -08:00
ba948e4181 Fixed Timeline svg draws making window too wide, adjusted navbar to perform responsive transition at a larger screen size, removed more obsolete attrs
Some checks failed
Build and Test - Staging / test (pull_request) Failing after 3m29s
Build and Test - Staging / build_and_push (pull_request) Has been skipped
Build and Test - Staging / deploy_staging (pull_request) Has been skipped
2025-11-11 22:53:05 -08:00
68b6d7f785 Fixed favicon mis-centering, and higher resolution versions, slowed carousel animation for less choppy results, removed obsolete attrs
Some checks failed
Build and Test - Staging / test (pull_request) Failing after 7m43s
Build and Test - Staging / build_and_push (pull_request) Has been skipped
Build and Test - Staging / deploy_staging (pull_request) Has been skipped
2025-11-11 17:57:37 -08:00
1f9264a409 Fixed favicon mis-centering, and higher resolution versions
Some checks failed
Build and Test - Staging / test (pull_request) Failing after 3m47s
Build and Test - Staging / build_and_push (pull_request) Has been skipped
Build and Test - Staging / deploy_staging (pull_request) Has been skipped
2025-11-11 17:39:39 -08:00
7774e31c36 Better resolution headshot, fullscreen modal for carousel, no fixed height and width on logo title for better resolution, spacing between dropdown entries in navbar 2025-11-11 17:19:38 -08:00
c9f921ba5b Fixed weird floating footer behavior, updated Timeline to handle new growing scrolling content div, fixed grammar issue on chubby buttons, removed used nginx configs and Dockerfile comments, made Table not go full-w automatically, added tests to ensure no orphaned astro pages or site layout entries exist, dummy sitemap index so code analysis doesn't freak out
Some checks failed
Build and Test - Staging / test (pull_request) Failing after 3m28s
Build and Test - Staging / build_and_push (pull_request) Has been skipped
Build and Test - Staging / deploy_staging (pull_request) Has been skipped
2025-11-11 15:16:15 -08:00
85a86f3681 Need reference changed to test
Some checks failed
Build and Test - Staging / build_and_push (pull_request) Has been cancelled
Build and Test - Staging / deploy_staging (pull_request) Has been cancelled
Build and Test - Staging / test (pull_request) Has been cancelled
2025-11-10 01:32:34 -08:00
233 changed files with 6484 additions and 2095 deletions

View File

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

7
.editorconfig Normal file
View File

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

View File

@@ -1,27 +0,0 @@
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,16 +12,24 @@ 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@v4 uses: actions/checkout@v5
- name: Setup Node Environment - name: Setup Node Environment
uses: actions/setup-node@v4 uses: actions/setup-node@v6
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
@@ -42,30 +50,34 @@ jobs:
needs: test needs: test
steps: steps:
- name: Checkout caperren-com Repository - name: Checkout caperren-com Repository
uses: actions/checkout@v4 uses: actions/checkout@v5
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: gitea.perren.cloud registry: 192.168.1.36:30008
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@v5 uses: docker/build-push-action@v6
with: with:
context: caperren-com context: caperren-com
push: true push: true
tags: | tags: |
gitea.perren.cloud/caperren/${{ needs.determine_version.outputs.repo_name }}:${{ needs.determine_version.outputs.repo_version_hash }} 192.168.1.36:30008/caperren/${{ needs.test.outputs.repo_name }}:${{ needs.test.outputs.repo_version_hash }}
gitea.perren.cloud/caperren/caperren-com:latest 192.168.1.36:30008/caperren/caperren-com:latest
build-args: | build-args: |
REPO_VERSION_HASH=${{ needs.determine_version.outputs.repo_version_hash }} REPO_VERSION_HASH=${{ needs.test.outputs.repo_version_hash }}
BUILD_ENVIRONMENT=production BUILD_ENVIRONMENT=production
deploy_production: deploy_production:

View File

@@ -12,16 +12,24 @@ 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@v4 uses: actions/checkout@v5
- name: Setup Node Environment - name: Setup Node Environment
uses: actions/setup-node@v4 uses: actions/setup-node@v6
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
@@ -42,29 +50,33 @@ jobs:
needs: test needs: test
steps: steps:
- name: Checkout caperren-com Repository - name: Checkout caperren-com Repository
uses: actions/checkout@v4 uses: actions/checkout@v5
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: gitea.perren.cloud registry: 192.168.1.36:30008
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@v5 uses: docker/build-push-action@v6
with: with:
context: caperren-com context: caperren-com
push: true push: true
tags: | tags: |
gitea.perren.cloud/caperren/caperren-com:latest-staging 192.168.1.36:30008/caperren/caperren-com:latest-staging
build-args: | build-args: |
REPO_VERSION_HASH=${{ needs.determine_version.outputs.repo_version_hash }} REPO_VERSION_HASH=${{ needs.test.outputs.repo_version_hash }}
BUILD_ENVIRONMENT=staging BUILD_ENVIRONMENT=staging
deploy_staging: deploy_staging:

9
.gitignore vendored
View File

@@ -1,9 +1,3 @@
# 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/
@@ -35,3 +29,6 @@ pnpm-debug.log*
/blob-report/ /blob-report/
/playwright/.cache/ /playwright/.cache/
/playwright/.auth/ /playwright/.auth/
# Local temporary storage files
new-words.txt

34
.prettierignore Normal file
View File

@@ -0,0 +1,34 @@
# 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

29
.prettierrc Normal file
View File

@@ -0,0 +1,29 @@
{
"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,12 +5,27 @@ 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 . . COPY --exclude=test \
--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
@@ -19,6 +34,16 @@ 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
@@ -26,8 +51,4 @@ 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
#COPY entrypoint.sh /entrypoint.sh
EXPOSE 80 EXPOSE 80
#ENTRYPOINT ["/entrypoint.sh"]

View File

@@ -6,7 +6,17 @@
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
@@ -28,3 +38,63 @@ 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,48 +1,3 @@
# Astro Starter Kit: Basics # Corwin Perren's Personal Portfolio Website
```sh Check the Makefile and/or package.json for the commands needed to build and run this project.
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,25 +1,32 @@
// @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";
import {siteLayout, getPaths} from "./src/data/site-layout.ts"; // We don't have access to short imports this early in the build chain
// 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: { vite: {
plugins: [tailwindcss()], plugins: [
// @ts-ignore
tailwindcss(),
],
}, },
}); });

23
cspell.json Normal file
View File

@@ -0,0 +1,23 @@
{
"$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"
]
}

View File

@@ -1,14 +0,0 @@
#!/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,12 +14,6 @@ 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,7 +1,6 @@
{ {
"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",
@@ -14,7 +13,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.15.4", "astro": "^5.16.3",
"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",
@@ -23,8 +22,14 @@
}, },
"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,7 +12,7 @@ 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. */
@@ -22,42 +22,42 @@ export default defineConfig({
/* 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 */ /* Configure projects for major browsers */
projects: [ projects: [
{ {
name: 'chromium', name: "chromium",
use: {...devices['Desktop Chrome']}, use: { ...devices["Desktop Chrome"] },
}, },
// { {
// name: 'firefox', name: "firefox",
// use: { ...devices['Desktop Firefox'] }, use: { ...devices["Desktop Firefox"] },
// }, },
//
// { {
// name: 'webkit', name: "webkit",
// use: { ...devices['Desktop Safari'] }, 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",
use: { ...devices["iPhone 12"] },
}, },
// {
// name: 'Mobile Safari',
// use: { ...devices['iPhone 12'] },
// },
/* Test against branded browsers. */ /* Test against branded browsers. */
// { // {
@@ -72,8 +72,8 @@ export default defineConfig({
/* 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,
}, },

96
project-words.txt Normal file
View File

@@ -0,0 +1,96 @@
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

BIN
public/16x16-favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 B

BIN
public/180x180-favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
public/192x192-favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
public/32x32-favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 B

BIN
public/48x48-favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 785 B

BIN
public/512x512-favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 662 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 956 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 851 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 902 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

View File

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 MiB

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