Author SHA1 Message Date
dependabot[bot] ef707e4fbe Bump svelte-check from 4.7.3 to 4.7.6
Bumps [svelte-check](https://github.com/sveltejs/language-tools) from 4.7.3 to 4.7.6.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/[email protected]@4.7.6)

---
updated-dependencies:
- dependency-name: svelte-check
  dependency-version: 4.7.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2026-08-22 14:32:51 +00:00
djkotowski c0be5deab6 Gate Pages deploy on ci-test passing (#238)
A merge to main could break the app even though the PR check ran
ci-test separately; deploy previously fired on push regardless of
CI outcome. Trigger deploy via workflow_run on ci-test completion
instead, and skip the build job unless ci-test concluded success,
so a broken main no longer publishes to Pages.
2026-07-21 09:43:45 -05:00
djkotowski f210373c3e Fix Pages deploy concurrency and tag successful deploys (#237)
* Use safe concurrency pattern for Pages deploys

Switch to the group: pages, cancel-in-progress: false pattern GitHub
recommends for deploy-pages, so a superseded run is skipped before it
starts rather than killed mid-deploy, which can leave the Pages
deployment stuck in progress.

* Tag each successful Pages deploy

There is currently no record of which commits were actually deployed.
Tag the deployed commit as deploy-YYYY-MM-DD-<sha> right after
deploy-pages succeeds, giving a lightweight, always-unique history of
production deploys without introducing a formal versioning/release
scheme.
2026-07-18 16:01:31 -05:00
dependabot[bot]dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>djkotowski
4103db7e2f Bump svelte from 5.56.5 to 5.56.6 (#235)
Bumps [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) from 5.56.5 to 5.56.6.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/commits/[email protected]/packages/svelte)

---
updated-dependencies:
- dependency-name: svelte
  dependency-version: 5.56.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dan Kotowski <[email protected]>
2026-07-18 15:53:21 -05:00
djkotowskiandClaude Sonnet 5 e306974fd3 Add resumé link to experience section (#236)
* Switch Dependabot checks from daily to weekly

Reduces PR noise by checking for npm and github-actions updates
weekly instead of daily.

Co-Authored-By: Claude Sonnet 5 <[email protected]>

* Add resumé link to experience section

Point visitors to a full resumé for more detail, and add rel support
to Link so external references can opt out of link equity.

---------

Co-authored-by: Claude Sonnet 5 <[email protected]>
2026-07-18 15:53:00 -05:00
djkotowskiandClaude Sonnet 5 c083da6ff8 Switch Dependabot checks from daily to weekly (#234)
Reduces PR noise by checking for npm and github-actions updates
weekly instead of daily.

Co-authored-by: Claude Sonnet 5 <[email protected]>
2026-07-18 15:42:37 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> fbae3a0951 Bump @tailwindcss/vite from 4.3.2 to 4.3.3 (#233)
Bumps [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) from 4.3.2 to 4.3.3.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.3/packages/@tailwindcss-vite)

---
updated-dependencies:
- dependency-name: "@tailwindcss/vite"
  dependency-version: 4.3.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-18 15:37:02 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 071e2eae57 Bump svelte-check from 4.7.2 to 4.7.3 (#232)
Bumps [svelte-check](https://github.com/sveltejs/language-tools) from 4.7.2 to 4.7.3.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/[email protected]@4.7.3)

---
updated-dependencies:
- dependency-name: svelte-check
  dependency-version: 4.7.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-18 15:35:19 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> d21f2ad3ea Bump tailwindcss from 4.3.2 to 4.3.3 (#231)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) from 4.3.2 to 4.3.3.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.3/packages/tailwindcss)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-version: 4.3.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-18 15:34:45 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> f2fd6ee9bd Bump vite from 8.1.4 to 8.1.5 (#230)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.1.4 to 8.1.5.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.1.5/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 8.1.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-18 15:34:33 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 4fb3aeca62 Bump svelte from 5.56.4 to 5.56.5 (#229)
Bumps [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) from 5.56.4 to 5.56.5.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/commits/[email protected]/packages/svelte)

---
updated-dependencies:
- dependency-name: svelte
  dependency-version: 5.56.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-18 15:19:44 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 254cee8603 Bump pnpm/action-setup from 4 to 5 (#228)
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 4 to 5.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v4...v5)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-18 15:19:25 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> dff8918fb2 Bump actions/setup-node from 4 to 7 (#227)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 7.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4...v7)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-18 15:18:14 -05:00
6 changed files with 136 additions and 115 deletions
+2 -2
View File
@@ -5,11 +5,11 @@ updates:
reviewers:
- "djkotowski"
schedule:
interval: "daily"
interval: "weekly"
versioning-strategy: "increase-if-necessary"
- package-ecosystem: "github-actions"
directory: "/"
reviewers:
- "djkotowski"
schedule:
interval: "daily"
interval: "weekly"
+2 -2
View File
@@ -16,9 +16,9 @@ jobs:
- name: Checkout
uses: actions/checkout@v7
- name: Setup pnpm
uses: pnpm/action-setup@v4
uses: pnpm/action-setup@v5
- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v7
with:
node-version-file: '.tool-versions'
cache: 'pnpm'
+25 -8
View File
@@ -1,22 +1,26 @@
name: deploy
run-name: "${{ github.actor }} is deploying ${{ github.sha }}"
run-name: "${{ github.actor }} is deploying ${{ github.event.workflow_run.head_sha }}"
on:
push:
branches:
- 'main'
workflow_run:
workflows: ['ci-test']
types: [completed]
branches: ['main']
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
group: pages
cancel-in-progress: false
jobs:
build:
if: github.event.workflow_run.conclusion == 'success'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
with:
ref: ${{ github.event.workflow_run.head_sha }}
- name: Setup pnpm
uses: pnpm/action-setup@v4
uses: pnpm/action-setup@v5
- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v7
with:
node-version-file: '.tool-versions'
cache: 'pnpm'
@@ -33,11 +37,24 @@ jobs:
permissions:
pages: write
id-token: write
contents: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
with:
ref: ${{ github.event.workflow_run.head_sha }}
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5
- name: Tag deploy
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
sha="${{ github.event.workflow_run.head_sha }}"
tag="deploy-$(date +%Y-%m-%d)-${sha::7}"
git tag "$tag" "$sha"
git push origin "$tag"
+100 -100
View File
@@ -14,10 +14,10 @@ importers:
devDependencies:
'@sveltejs/vite-plugin-svelte':
specifier: ^7.2.0
version: 7.2.0([email protected].4)([email protected].4([email protected]))
version: 7.2.0([email protected].6)([email protected].5([email protected]))
'@tailwindcss/vite':
specifier: ^4.1.1
version: 4.3.2([email protected].4([email protected]))
version: 4.3.3([email protected].5([email protected]))
'@tsconfig/svelte':
specifier: ^5.0.4
version: 5.0.8
@@ -26,13 +26,13 @@ importers:
version: 9.1.7
svelte:
specifier: ^5.25.6
version: 5.56.4
version: 5.56.6
svelte-check:
specifier: ^4.1.5
version: 4.7.2([email protected])([email protected].4)([email protected])
version: 4.7.6([email protected])([email protected].6)([email protected])
tailwindcss:
specifier: ^4.1.1
version: 4.3.2
version: 4.3.3
tslib:
specifier: ^2.5.0
version: 2.8.1
@@ -41,7 +41,7 @@ importers:
version: 6.0.3
vite:
specifier: ^8.1.4
version: 8.1.4([email protected])
version: 8.1.5([email protected])
packages:
@@ -182,8 +182,8 @@ packages:
peerDependencies:
acorn: ^8.9.0
'@sveltejs/[email protected].0':
resolution: {integrity: sha512-1LgZ/qUqSoq+QorD83lk2hka79Px0wXNW2q5V1nZlxGhQgw1jrsIbVz5YiCeucVLo4XvFLjXukUaQjIiqowkcg==}
'@sveltejs/[email protected].3':
resolution: {integrity: sha512-VT3qmUb8pRV2QrZjd8iAmtg8lf4W0TIjZbvXtz5MKei/q96teWZgGJyyidJzOjzZzvdq616eSRVeMYIQChUTAQ==}
engines: {node: '>= 18.0.0'}
'@sveltejs/[email protected]':
@@ -193,69 +193,69 @@ packages:
svelte: ^5.46.4
vite: ^8.0.0-beta.7 || ^8.0.0
'@tailwindcss/[email protected].2':
resolution: {integrity: sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==}
'@tailwindcss/[email protected].3':
resolution: {integrity: sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==}
'@tailwindcss/[email protected].2':
resolution: {integrity: sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==}
'@tailwindcss/[email protected].3':
resolution: {integrity: sha512-Y85A2gmPSkl5Ve5qR86GL4HT509cFqQh1aes9p3sSkyTPwt0Pppf3GkwGe4JPACcRYjgJIEhQgM6dBClnr0NYw==}
engines: {node: '>= 20'}
cpu: [arm64]
os: [android]
'@tailwindcss/[email protected].2':
resolution: {integrity: sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==}
'@tailwindcss/[email protected].3':
resolution: {integrity: sha512-BiaWatpBcERQFDlOjRDpIVXuFK5PJez5SA4JMg6VYZdBYU+qKfV/vqjcIs+IYmtitf1xYQZTwXvU/8y4lfZUGw==}
engines: {node: '>= 20'}
cpu: [arm64]
os: [darwin]
'@tailwindcss/[email protected].2':
resolution: {integrity: sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==}
'@tailwindcss/[email protected].3':
resolution: {integrity: sha512-fAeUqfV5ndhxRwai8cXGzdLvul9utWOmeTkv69unv4ZXixjn61Z+p9lCWdwOwA3TYboG3BwdVuN/RDjhBRl0mw==}
engines: {node: '>= 20'}
cpu: [x64]
os: [darwin]
'@tailwindcss/[email protected].2':
resolution: {integrity: sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==}
'@tailwindcss/[email protected].3':
resolution: {integrity: sha512-iyf5bV6+wnAlflVeEy7R25dupxTNECZN5QMI0qNT6eT+EgaGdZcKhGkr5SdoaWiLJ3spLqIY9VCeSGrwmtg4kw==}
engines: {node: '>= 20'}
cpu: [x64]
os: [freebsd]
'@tailwindcss/[email protected].2':
resolution: {integrity: sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==}
'@tailwindcss/[email protected].3':
resolution: {integrity: sha512-aAYUprJAJQWWbRrPvtjdroZ56Md+JM8pMiopS6xGEwDfLhqj+2ver2p4nU4Mb3CRqcMmNBjo8KkUgcxhkzVQGQ==}
engines: {node: '>= 20'}
cpu: [arm]
os: [linux]
'@tailwindcss/[email protected].2':
resolution: {integrity: sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==}
'@tailwindcss/[email protected].3':
resolution: {integrity: sha512-nDxldcEENOxZRzC2uu9jrutZdAAQtb+8WWDCSnWL1zvBk1+FN+x6MtDViPB5AJMfttVCUhehGWus3XBPgatM/w==}
engines: {node: '>= 20'}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@tailwindcss/[email protected].2':
resolution: {integrity: sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==}
'@tailwindcss/[email protected].3':
resolution: {integrity: sha512-Md44bD6veX/PC5iyF8cDVnw4HBIANZepRZZ7a8DQOvkfo5WUBwcp6iAuCUz23u+4SUkhJlD3eL7hNdW8ezd/kA==}
engines: {node: '>= 20'}
cpu: [arm64]
os: [linux]
libc: [musl]
'@tailwindcss/[email protected].2':
resolution: {integrity: sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==}
'@tailwindcss/[email protected].3':
resolution: {integrity: sha512-tx7us1muwOKAKWao2v/GaafFeQboE6aj88vC6ziN2NCGcRm8gWUhwjzg+YdVB1e4boAtdtma4L43onunI6NS4w==}
engines: {node: '>= 20'}
cpu: [x64]
os: [linux]
libc: [glibc]
'@tailwindcss/[email protected].2':
resolution: {integrity: sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==}
'@tailwindcss/[email protected].3':
resolution: {integrity: sha512-SJxX60smvHgasZoBy11dX6YRjXJFovwWBoedhbQPOBzgFWBHGB+TVPWB9BxzR7TTxU8FQZAI2AyiNCMzFm8Img==}
engines: {node: '>= 20'}
cpu: [x64]
os: [linux]
libc: [musl]
'@tailwindcss/[email protected].2':
resolution: {integrity: sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==}
'@tailwindcss/[email protected].3':
resolution: {integrity: sha512-jx1+rPhY/5Ympkktd656HBWEBLxP7dH06losBLjjf5vgCODXvi9KhtftWcMIwTFIDqBr7cRnQkdLnAG+IOlGvQ==}
engines: {node: '>=14.0.0'}
cpu: [wasm32]
bundledDependencies:
@@ -266,24 +266,24 @@ packages:
- '@emnapi/wasi-threads'
- tslib
'@tailwindcss/[email protected].2':
resolution: {integrity: sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==}
'@tailwindcss/[email protected].3':
resolution: {integrity: sha512-3rc292Ca2ceK6Ulcc/bAVnTs/3nDtoPhyEKlgPv+yQJQi/JS/AMJlqzxvlDacL1nekbrcf6bTqp/jV4qgnPxNQ==}
engines: {node: '>= 20'}
cpu: [arm64]
os: [win32]
'@tailwindcss/[email protected].2':
resolution: {integrity: sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==}
'@tailwindcss/[email protected].3':
resolution: {integrity: sha512-yJ0pwIVc/nYeGoV02WtsN8KYyLQv7kyI2wDnkezyJlGGjkd4QLwDGAwl47YpPJeuI0M0ObaXGSPjvWDPeTPggw==}
engines: {node: '>= 20'}
cpu: [x64]
os: [win32]
'@tailwindcss/[email protected].2':
resolution: {integrity: sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==}
'@tailwindcss/[email protected].3':
resolution: {integrity: sha512-krXjAikiaFSPaK/FkAQT5UTx3VormQaiZ5hBFlJZ9UFQGB/rwg1MZIhHAG9smMQRTdyJxP6Qt5MwMtdyU5FWrA==}
engines: {node: '>= 20'}
'@tailwindcss/[email protected].2':
resolution: {integrity: sha512-eHpMeX4JXfVNJDEcsouTeCBubJBTcTLigeaw/NTUW6PB5ATKKXdyonnXgTBX2VuRbjz1hjfz6C5XAhr52ImQXA==}
'@tailwindcss/[email protected].3':
resolution: {integrity: sha512-yYU8cogLeSh/ms2jh8Fj7jaba/EWa7Ja6GoUqYZaraEuCI5YS6ms6ObZgjjedm+jm6XZjdNRWBpPP6Z86oOxcw==}
peerDependencies:
vite: ^5.2.0 || ^6 || ^7 || ^8
@@ -331,8 +331,8 @@ packages:
[email protected]:
resolution: {integrity: sha512-4CXDYRBGqN+57wVJkuXBYmpAVUSg3L6JAQa/DFqm238G73E1wuyc/JhGQJzN7vUf/CMphYau2zXbfWzDR5aTEw==}
[email protected]1.6:
resolution: {integrity: sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==}
[email protected]4.2:
resolution: {integrity: sha512-rpsZEGT1jFuve6QlpyRp9ckQ+kN61hvF9BzCPyMdaKTm8UJce96KBn3sorXOFXlzjPrs3Vc4T1NsSroZ3PxlFw==}
engines: {node: '>=10.13.0'}
[email protected]:
@@ -475,8 +475,8 @@ packages:
resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==}
engines: {node: '>=12'}
[email protected]8:
resolution: {integrity: sha512-xdB1oSLHbz1vRWgCDalrCqEFTWzFlhqFC5tIHLMOSUIjhm3XXQ1qrFy8S/ESr1JYRRXqM3c1QFiMZUJdUTqyMQ==}
[email protected]9:
resolution: {integrity: sha512-Mz8SaolMd8nB+G13WkORcxQKHZ/NE4xXevtkJHVuG+guo9/wYKlIMTKAqGdEmYOXR2ijPjTYNHssizdaVSUNdQ==}
engines: {node: ^10 || ^12 || >=14}
[email protected]:
@@ -496,23 +496,23 @@ packages:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
[email protected].2:
resolution: {integrity: sha512-GoS4XJdGswlq0rIT1vtFLzJY1bvHtY37McY9H9Gkm1Ggw/ICdZYn8J/Z8Yi0BEL0i3R4+jtaWVePjyppMlij/A==}
[email protected].6:
resolution: {integrity: sha512-t2scM//ZuVbSY/T2w6FSBw1v9s2NEmh/g+sy1lqtosW5ylBV5AF4wFb1Ts9Kf3MbfPDUDJDZ9L436YT0SPTdvw==}
engines: {node: '>= 18.0.0'}
hasBin: true
peerDependencies:
svelte: ^4.0.0 || ^5.0.0-next.0
typescript: '>=5.0.0'
typescript: ^5.0.0 || ^6.0.0
[email protected].4:
resolution: {integrity: sha512-/d0QHehmRuJW8gVz395MTkPcPozxzdjBMBE8oEYGz8O3b9KTMzzQ9ZHJQLuFKOHOPQbU6kx/X4iid/EBBzH7iw==}
[email protected].6:
resolution: {integrity: sha512-p4HDLDogGHKRKCrgckQHNs5PEfXkju6JI5jTywueaKJI5hAdjPohEhRtQ0M1SWC/+TA73SPln+r7srr+7e4nZA==}
engines: {node: '>=18'}
[email protected]:
resolution: {integrity: sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w==}
[email protected].2:
resolution: {integrity: sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==}
[email protected].3:
resolution: {integrity: sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==}
[email protected]:
resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==}
@@ -530,8 +530,8 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
[email protected].4:
resolution: {integrity: sha512-bTT9PsdWO+MQMNG9ZXIP/qM9wGh37DFxTV/sPq9cFpHr3w4jkgef032PkAL9jAqhk3Nz8NQw3O8n6/xFkqO4QQ==}
[email protected].5:
resolution: {integrity: sha512-7ULLwsCdYx/nRyrpiEwvqb5TFHrMVZyBt+rg/OAXT7rgj/z+DtTDyKFeLAdDkubDVDKD8jOsndmy7m55XcfUsw==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
@@ -685,84 +685,84 @@ snapshots:
dependencies:
acorn: 8.17.0
'@sveltejs/[email protected].0': {}
'@sveltejs/[email protected].3': {}
'@sveltejs/[email protected]([email protected].4)([email protected].4([email protected]))':
'@sveltejs/[email protected]([email protected].6)([email protected].5([email protected]))':
dependencies:
deepmerge: 4.3.1
magic-string: 0.30.21
obug: 2.1.3
svelte: 5.56.4
vite: 8.1.4([email protected])
vitefu: 1.1.3([email protected].4([email protected]))
svelte: 5.56.6
vite: 8.1.5([email protected])
vitefu: 1.1.3([email protected].5([email protected]))
'@tailwindcss/[email protected].2':
'@tailwindcss/[email protected].3':
dependencies:
'@jridgewell/remapping': 2.3.5
enhanced-resolve: 5.21.6
enhanced-resolve: 5.24.2
jiti: 2.7.0
lightningcss: 1.32.0
magic-string: 0.30.21
source-map-js: 1.2.1
tailwindcss: 4.3.2
tailwindcss: 4.3.3
'@tailwindcss/[email protected].2':
'@tailwindcss/[email protected].3':
optional: true
'@tailwindcss/[email protected].2':
'@tailwindcss/[email protected].3':
optional: true
'@tailwindcss/[email protected].2':
'@tailwindcss/[email protected].3':
optional: true
'@tailwindcss/[email protected].2':
'@tailwindcss/[email protected].3':
optional: true
'@tailwindcss/[email protected].2':
'@tailwindcss/[email protected].3':
optional: true
'@tailwindcss/[email protected].2':
'@tailwindcss/[email protected].3':
optional: true
'@tailwindcss/[email protected].2':
'@tailwindcss/[email protected].3':
optional: true
'@tailwindcss/[email protected].2':
'@tailwindcss/[email protected].3':
optional: true
'@tailwindcss/[email protected].2':
'@tailwindcss/[email protected].3':
optional: true
'@tailwindcss/[email protected].2':
'@tailwindcss/[email protected].3':
optional: true
'@tailwindcss/[email protected].2':
'@tailwindcss/[email protected].3':
optional: true
'@tailwindcss/[email protected].2':
'@tailwindcss/[email protected].3':
optional: true
'@tailwindcss/[email protected].2':
'@tailwindcss/[email protected].3':
optionalDependencies:
'@tailwindcss/oxide-android-arm64': 4.3.2
'@tailwindcss/oxide-darwin-arm64': 4.3.2
'@tailwindcss/oxide-darwin-x64': 4.3.2
'@tailwindcss/oxide-freebsd-x64': 4.3.2
'@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.2
'@tailwindcss/oxide-linux-arm64-gnu': 4.3.2
'@tailwindcss/oxide-linux-arm64-musl': 4.3.2
'@tailwindcss/oxide-linux-x64-gnu': 4.3.2
'@tailwindcss/oxide-linux-x64-musl': 4.3.2
'@tailwindcss/oxide-wasm32-wasi': 4.3.2
'@tailwindcss/oxide-win32-arm64-msvc': 4.3.2
'@tailwindcss/oxide-win32-x64-msvc': 4.3.2
'@tailwindcss/oxide-android-arm64': 4.3.3
'@tailwindcss/oxide-darwin-arm64': 4.3.3
'@tailwindcss/oxide-darwin-x64': 4.3.3
'@tailwindcss/oxide-freebsd-x64': 4.3.3
'@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.3
'@tailwindcss/oxide-linux-arm64-gnu': 4.3.3
'@tailwindcss/oxide-linux-arm64-musl': 4.3.3
'@tailwindcss/oxide-linux-x64-gnu': 4.3.3
'@tailwindcss/oxide-linux-x64-musl': 4.3.3
'@tailwindcss/oxide-wasm32-wasi': 4.3.3
'@tailwindcss/oxide-win32-arm64-msvc': 4.3.3
'@tailwindcss/oxide-win32-x64-msvc': 4.3.3
'@tailwindcss/[email protected].2([email protected].4([email protected]))':
'@tailwindcss/[email protected].3([email protected].5([email protected]))':
dependencies:
'@tailwindcss/node': 4.3.2
'@tailwindcss/oxide': 4.3.2
tailwindcss: 4.3.2
vite: 8.1.4([email protected])
'@tailwindcss/node': 4.3.3
'@tailwindcss/oxide': 4.3.3
tailwindcss: 4.3.3
vite: 8.1.5([email protected])
'@tsconfig/[email protected]': {}
@@ -793,7 +793,7 @@ snapshots:
[email protected]: {}
[email protected]1.6:
[email protected]4.2:
dependencies:
graceful-fs: 4.2.11
tapable: 2.3.3
@@ -886,7 +886,7 @@ snapshots:
[email protected]: {}
[email protected]8:
[email protected]9:
dependencies:
nanoid: 3.3.16
picocolors: 1.1.1
@@ -921,20 +921,20 @@ snapshots:
[email protected]: {}
[email protected].2([email protected])([email protected].4)([email protected]):
[email protected].6([email protected])([email protected].6)([email protected]):
dependencies:
'@jridgewell/trace-mapping': 0.3.31
'@sveltejs/load-config': 0.2.0
'@sveltejs/load-config': 0.2.3
chokidar: 4.0.3
fdir: 6.5.0([email protected])
picocolors: 1.1.1
sade: 1.8.1
svelte: 5.56.4
svelte: 5.56.6
typescript: 6.0.3
transitivePeerDependencies:
- picomatch
[email protected].4:
[email protected].6:
dependencies:
'@jridgewell/remapping': 2.3.5
'@jridgewell/sourcemap-codec': 1.5.5
@@ -957,7 +957,7 @@ snapshots:
[email protected]: {}
[email protected].2: {}
[email protected].3: {}
[email protected]: {}
@@ -970,19 +970,19 @@ snapshots:
[email protected]: {}
[email protected].4([email protected]):
[email protected].5([email protected]):
dependencies:
lightningcss: 1.32.0
picomatch: 4.0.5
postcss: 8.5.18
postcss: 8.5.19
rolldown: 1.1.5
tinyglobby: 0.2.17
optionalDependencies:
fsevents: 2.3.3
jiti: 2.7.0
[email protected]([email protected].4([email protected])):
[email protected]([email protected].5([email protected])):
optionalDependencies:
vite: 8.1.4([email protected])
vite: 8.1.5([email protected])
[email protected]: {}
+4
View File
@@ -103,4 +103,8 @@
<p>C#, ASP.NET MVC 3, Microsoft SQL Server, jQuery, Manhattan SCALE</p>
</li>
</ul>
<p class="text-center pt-10">
Please see my <Link href="https://drive.proton.me/urls/2AY1WCCC54#BcxvDzVu1IM8" target="_blank" rel="nofollow">resumé</Link> for more details.
</p>
</section>
+3 -3
View File
@@ -1,9 +1,9 @@
<script lang="ts">
import type { HTMLAnchorAttributes } from 'svelte/elements'
type LinkProps = { children: any, href: string; target: HTMLAnchorAttributes['target']; title?: HTMLAnchorAttributes['title'] }
type LinkProps = { children: any, href: string; target: HTMLAnchorAttributes['target']; title?: HTMLAnchorAttributes['title']; rel?: HTMLAnchorAttributes['rel'] }
let { children, href, target, title }: LinkProps = $props()
let { children, href, target, title, rel }: LinkProps = $props()
</script>
<a class="text-cyan-200 hover:text-cyan-400 hover:border-b border-dotted" {href} {target} {title}>{@render children?.()}</a>
<a class="text-cyan-200 hover:text-cyan-400 hover:border-b border-dotted" {href} {target} {title} {rel}>{@render children?.()}</a>