commit cc1d1a00b8b60c809297b36c0a4414b1587ff014
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date: Mon Dec 16 19:52:16 2024 +0000
Sync from a44cfb874a6f066214e851c98a410d89c6866992
diff --git a/.codesandbox/Dockerfile b/.codesandbox/Dockerfile
new file mode 100644
index 0000000000..c3b5c81a12
--- /dev/null
+++ b/.codesandbox/Dockerfile
@@ -0,0 +1 @@
+FROM node:18-bullseye
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000..16d54bb13c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,24 @@
+# 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/
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 0000000000..22a15055d6
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,4 @@
+{
+ "recommendations": ["astro-build.astro-vscode"],
+ "unwantedRecommendations": []
+}
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 0000000000..d642209762
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,11 @@
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "command": "./node_modules/.bin/astro dev",
+ "name": "Development server",
+ "request": "launch",
+ "type": "node-terminal"
+ }
+ ]
+}
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000..312d18b1cf
--- /dev/null
+++ b/README.md
@@ -0,0 +1,30 @@
+# Astro Starter Kit: Portfolio
+
+```sh
+npm create astro@latest -- --template portfolio
+```
+
+[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/portfolio)
+[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/portfolio)
+[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/portfolio/devcontainer.json)
+
+> π§βπ **Seasoned astronaut?** Delete this file. Have fun!
+
+![portfolio](https://user-images.githubusercontent.com/357379/210779178-a98f0fb7-6b1a-4068-894c-8e1403e26654.jpg)
+
+## π§ 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).
diff --git a/astro.config.mjs b/astro.config.mjs
new file mode 100644
index 0000000000..e762ba5cf6
--- /dev/null
+++ b/astro.config.mjs
@@ -0,0 +1,5 @@
+// @ts-check
+import { defineConfig } from 'astro/config';
+
+// https://astro.build/config
+export default defineConfig({});
diff --git a/package.json b/package.json
new file mode 100644
index 0000000000..bc4fd55afa
--- /dev/null
+++ b/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "@example/portfolio",
+ "type": "module",
+ "version": "0.0.1",
+ "private": true,
+ "scripts": {
+ "dev": "astro dev",
+ "build": "astro build",
+ "preview": "astro preview",
+ "astro": "astro"
+ },
+ "dependencies": {
+ "astro": "^5.0.8"
+ }
+}
diff --git a/public/assets/at-work.jpg b/public/assets/at-work.jpg
new file mode 100644
index 0000000000..82c29fe56f
Binary files /dev/null and b/public/assets/at-work.jpg differ
diff --git a/public/assets/backgrounds/bg-footer-dark-1440w.jpg b/public/assets/backgrounds/bg-footer-dark-1440w.jpg
new file mode 100644
index 0000000000..659ad75013
Binary files /dev/null and b/public/assets/backgrounds/bg-footer-dark-1440w.jpg differ
diff --git a/public/assets/backgrounds/bg-footer-dark-800w.jpg b/public/assets/backgrounds/bg-footer-dark-800w.jpg
new file mode 100644
index 0000000000..2ec737c758
Binary files /dev/null and b/public/assets/backgrounds/bg-footer-dark-800w.jpg differ
diff --git a/public/assets/backgrounds/bg-footer-light-1440w.jpg b/public/assets/backgrounds/bg-footer-light-1440w.jpg
new file mode 100644
index 0000000000..9a5af1a512
Binary files /dev/null and b/public/assets/backgrounds/bg-footer-light-1440w.jpg differ
diff --git a/public/assets/backgrounds/bg-footer-light-800w.jpg b/public/assets/backgrounds/bg-footer-light-800w.jpg
new file mode 100644
index 0000000000..2652dff176
Binary files /dev/null and b/public/assets/backgrounds/bg-footer-light-800w.jpg differ
diff --git a/public/assets/backgrounds/bg-main-dark-1440w.jpg b/public/assets/backgrounds/bg-main-dark-1440w.jpg
new file mode 100644
index 0000000000..704388734e
Binary files /dev/null and b/public/assets/backgrounds/bg-main-dark-1440w.jpg differ
diff --git a/public/assets/backgrounds/bg-main-dark-800w.jpg b/public/assets/backgrounds/bg-main-dark-800w.jpg
new file mode 100644
index 0000000000..ccffe3c6f8
Binary files /dev/null and b/public/assets/backgrounds/bg-main-dark-800w.jpg differ
diff --git a/public/assets/backgrounds/bg-main-dark.svg b/public/assets/backgrounds/bg-main-dark.svg
new file mode 100644
index 0000000000..7c3d656f2e
--- /dev/null
+++ b/public/assets/backgrounds/bg-main-dark.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/assets/backgrounds/bg-main-light-1440w.jpg b/public/assets/backgrounds/bg-main-light-1440w.jpg
new file mode 100644
index 0000000000..915e7a6c95
Binary files /dev/null and b/public/assets/backgrounds/bg-main-light-1440w.jpg differ
diff --git a/public/assets/backgrounds/bg-main-light-800w.jpg b/public/assets/backgrounds/bg-main-light-800w.jpg
new file mode 100644
index 0000000000..185eaadfaa
Binary files /dev/null and b/public/assets/backgrounds/bg-main-light-800w.jpg differ
diff --git a/public/assets/backgrounds/bg-main-light.svg b/public/assets/backgrounds/bg-main-light.svg
new file mode 100644
index 0000000000..19410d6ade
--- /dev/null
+++ b/public/assets/backgrounds/bg-main-light.svg
@@ -0,0 +1 @@
+
diff --git a/public/assets/backgrounds/bg-subtle-1-dark-1440w.jpg b/public/assets/backgrounds/bg-subtle-1-dark-1440w.jpg
new file mode 100644
index 0000000000..f1471ce14a
Binary files /dev/null and b/public/assets/backgrounds/bg-subtle-1-dark-1440w.jpg differ
diff --git a/public/assets/backgrounds/bg-subtle-1-dark-800w.jpg b/public/assets/backgrounds/bg-subtle-1-dark-800w.jpg
new file mode 100644
index 0000000000..c213ea05f2
Binary files /dev/null and b/public/assets/backgrounds/bg-subtle-1-dark-800w.jpg differ
diff --git a/public/assets/backgrounds/bg-subtle-1-light-1440w.jpg b/public/assets/backgrounds/bg-subtle-1-light-1440w.jpg
new file mode 100644
index 0000000000..0aaad4af2d
Binary files /dev/null and b/public/assets/backgrounds/bg-subtle-1-light-1440w.jpg differ
diff --git a/public/assets/backgrounds/bg-subtle-1-light-800w.jpg b/public/assets/backgrounds/bg-subtle-1-light-800w.jpg
new file mode 100644
index 0000000000..d8dab2b5f4
Binary files /dev/null and b/public/assets/backgrounds/bg-subtle-1-light-800w.jpg differ
diff --git a/public/assets/backgrounds/bg-subtle-2-dark-1440w.jpg b/public/assets/backgrounds/bg-subtle-2-dark-1440w.jpg
new file mode 100644
index 0000000000..52991fa25b
Binary files /dev/null and b/public/assets/backgrounds/bg-subtle-2-dark-1440w.jpg differ
diff --git a/public/assets/backgrounds/bg-subtle-2-dark-800w.jpg b/public/assets/backgrounds/bg-subtle-2-dark-800w.jpg
new file mode 100644
index 0000000000..3df6bef534
Binary files /dev/null and b/public/assets/backgrounds/bg-subtle-2-dark-800w.jpg differ
diff --git a/public/assets/backgrounds/bg-subtle-2-light-1440w.jpg b/public/assets/backgrounds/bg-subtle-2-light-1440w.jpg
new file mode 100644
index 0000000000..3154d1b5d8
Binary files /dev/null and b/public/assets/backgrounds/bg-subtle-2-light-1440w.jpg differ
diff --git a/public/assets/backgrounds/bg-subtle-2-light-800w.jpg b/public/assets/backgrounds/bg-subtle-2-light-800w.jpg
new file mode 100644
index 0000000000..1fa2d3a478
Binary files /dev/null and b/public/assets/backgrounds/bg-subtle-2-light-800w.jpg differ
diff --git a/public/assets/backgrounds/noise.png b/public/assets/backgrounds/noise.png
new file mode 100644
index 0000000000..1e7976c1f1
Binary files /dev/null and b/public/assets/backgrounds/noise.png differ
diff --git a/public/assets/portrait.jpg b/public/assets/portrait.jpg
new file mode 100644
index 0000000000..f1c8984bd9
Binary files /dev/null and b/public/assets/portrait.jpg differ
diff --git a/public/assets/stock-1.jpg b/public/assets/stock-1.jpg
new file mode 100644
index 0000000000..c8dec6b968
Binary files /dev/null and b/public/assets/stock-1.jpg differ
diff --git a/public/assets/stock-2.jpg b/public/assets/stock-2.jpg
new file mode 100644
index 0000000000..3ad4b71504
Binary files /dev/null and b/public/assets/stock-2.jpg differ
diff --git a/public/assets/stock-3.jpg b/public/assets/stock-3.jpg
new file mode 100644
index 0000000000..27068541c4
Binary files /dev/null and b/public/assets/stock-3.jpg differ
diff --git a/public/assets/stock-4.jpg b/public/assets/stock-4.jpg
new file mode 100644
index 0000000000..6942cc2c66
Binary files /dev/null and b/public/assets/stock-4.jpg differ
diff --git a/public/favicon.svg b/public/favicon.svg
new file mode 100644
index 0000000000..f157bd1c5e
--- /dev/null
+++ b/public/favicon.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/components/CallToAction.astro b/src/components/CallToAction.astro
new file mode 100644
index 0000000000..a1ca697505
--- /dev/null
+++ b/src/components/CallToAction.astro
@@ -0,0 +1,56 @@
+---
+interface Props {
+ href: string;
+}
+
+const { href } = Astro.props;
+---
+
+
+
+
diff --git a/src/components/ContactCTA.astro b/src/components/ContactCTA.astro
new file mode 100644
index 0000000000..6986bd7406
--- /dev/null
+++ b/src/components/ContactCTA.astro
@@ -0,0 +1,46 @@
+---
+import CallToAction from './CallToAction.astro';
+import Icon from './Icon.astro';
+---
+
+
+
+
diff --git a/src/components/Footer.astro b/src/components/Footer.astro
new file mode 100644
index 0000000000..9d1878dada
--- /dev/null
+++ b/src/components/Footer.astro
@@ -0,0 +1,74 @@
+---
+import Icon from './Icon.astro';
+const currentYear = new Date().getFullYear();
+---
+
+
+
diff --git a/src/components/Grid.astro b/src/components/Grid.astro
new file mode 100644
index 0000000000..24a5ea79dc
--- /dev/null
+++ b/src/components/Grid.astro
@@ -0,0 +1,65 @@
+---
+interface Props {
+ variant?: 'offset' | 'small';
+}
+
+const { variant } = Astro.props;
+---
+
+
+
+
diff --git a/src/components/Hero.astro b/src/components/Hero.astro
new file mode 100644
index 0000000000..30460420ac
--- /dev/null
+++ b/src/components/Hero.astro
@@ -0,0 +1,54 @@
+---
+interface Props {
+ title: string;
+ tagline?: string;
+ align?: 'start' | 'center';
+}
+
+const { align = 'center', tagline, title } = Astro.props;
+---
+
+
+
+
{title}
+ {tagline &&
{tagline}
}
+
+
+
+
+
diff --git a/src/components/Icon.astro b/src/components/Icon.astro
new file mode 100644
index 0000000000..92cff492ae
--- /dev/null
+++ b/src/components/Icon.astro
@@ -0,0 +1,56 @@
+---
+import type { HTMLAttributes } from 'astro/types';
+import { iconPaths } from './IconPaths';
+
+interface Props {
+ icon: keyof typeof iconPaths;
+ color?: string;
+ gradient?: boolean;
+ size?: string;
+}
+
+const { color = 'currentcolor', gradient, icon, size } = Astro.props;
+const iconPath = iconPaths[icon];
+
+const attrs: HTMLAttributes<'svg'> = {};
+if (size) attrs.style = { '--size': size };
+
+const gradientId = 'icon-gradient-' + Math.round(Math.random() * 10e12).toString(36);
+---
+
+
+
+
diff --git a/src/components/IconPaths.ts b/src/components/IconPaths.ts
new file mode 100644
index 0000000000..f2e959f622
--- /dev/null
+++ b/src/components/IconPaths.ts
@@ -0,0 +1,38 @@
+/**
+ * Icons adapted from https://phosphoricons.com/
+ *
+ * Want to add more?
+ * 1. Find the icon you want on Phosphor Icons.
+ * 2. Click βCopy SVGβ.
+ * 3. Paste the SVG code in your editor.
+ * 4. Remove the `