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 `` wrapper so you only have elements like ``, ``, `` etc. + * 5. Remove any `stroke="#000000"` attributes + * 6. Replace any `fill="#000000"` attributes with `stroke="none"` + * (or add `stroke="none"` on shapes with no `fill` or `stroke` specified). + */ +export const iconPaths = { + 'terminal-window': ``, + trophy: ``, + strategy: ``, + 'paper-plane-tilt': ``, + 'arrow-right': ``, + 'arrow-left': ``, + code: ``, + 'microphone-stage': ``, + 'pencil-line': ``, + 'rocket-launch': ``, + list: ``, + heart: ``, + 'moon-stars': ``, + sun: ``, + 'twitter-logo': ``, + 'codepen-logo': ``, + 'github-logo': ``, + 'twitch-logo': ``, + 'youtube-logo': ``, + 'dribbble-logo': ``, + 'discord-logo': ``, + 'linkedin-logo': ``, + 'instagram-logo': ``, + 'tiktok-logo': ``, +}; diff --git a/src/components/MainHead.astro b/src/components/MainHead.astro new file mode 100644 index 0000000000..b4c7263ff5 --- /dev/null +++ b/src/components/MainHead.astro @@ -0,0 +1,47 @@ +--- +import '../styles/global.css'; + +interface Props { + title?: string | undefined; + description?: string | undefined; +} + +const { + title = 'Jeanine White: Personal Site', + description = 'The personal site of Jeanine White', +} = Astro.props; +--- + + + + + +{title} + + + + + + diff --git a/src/components/Nav.astro b/src/components/Nav.astro new file mode 100644 index 0000000000..9d69707b30 --- /dev/null +++ b/src/components/Nav.astro @@ -0,0 +1,353 @@ +--- +import Icon from './Icon.astro'; +import ThemeToggle from './ThemeToggle.astro'; +import type { iconPaths } from './IconPaths'; + +/** Main menu items */ +const textLinks: { label: string; href: string }[] = [ + { label: 'Home', href: '/' }, + { label: 'Work', href: '/work/' }, + { label: 'About', href: '/about/' }, +]; + +/** Icon links to social media β€” edit these with links to your profiles! */ +const iconLinks: { label: string; href: string; icon: keyof typeof iconPaths }[] = [ + { label: 'Twitter', href: 'https://twitter.com/me', icon: 'twitter-logo' }, + { label: 'Twitch', href: 'https://twitch.tv/me', icon: 'twitch-logo' }, + { label: 'GitHub', href: 'https://github.com/me', icon: 'github-logo' }, + { label: 'CodePen', href: 'https://codepen.io/me', icon: 'codepen-logo' }, + { label: 'dribbble', href: 'https://dribbble.com/me', icon: 'dribbble-logo' }, + { label: 'YouTube', href: 'https://www.youtube.com/@me/', icon: 'youtube-logo' }, +]; + +/** Test if a link is pointing to the current page. */ +const isCurrentPage = (href: string) => { + let pathname = Astro.url.pathname.replace(import.meta.env.BASE_URL, ''); + if (pathname.at(0) !== '/') pathname = '/' + pathname; + if (pathname.at(-1) !== '/') pathname += '/'; + return pathname === href || (href !== '/' && pathname.startsWith(href)); +}; +--- + + + + + + diff --git a/src/components/Pill.astro b/src/components/Pill.astro new file mode 100644 index 0000000000..2c410faa0b --- /dev/null +++ b/src/components/Pill.astro @@ -0,0 +1,16 @@ +
+ + diff --git a/src/components/PortfolioPreview.astro b/src/components/PortfolioPreview.astro new file mode 100644 index 0000000000..f26bae0e2f --- /dev/null +++ b/src/components/PortfolioPreview.astro @@ -0,0 +1,64 @@ +--- +import type { CollectionEntry } from 'astro:content'; + +interface Props { + project: CollectionEntry<'work'>; +} + +const { data, id } = Astro.props.project; +--- + + + {data.title} + {data.img_alt + + + diff --git a/src/components/Skills.astro b/src/components/Skills.astro new file mode 100644 index 0000000000..5df5bb0d3b --- /dev/null +++ b/src/components/Skills.astro @@ -0,0 +1,62 @@ +--- +import Icon from './Icon.astro'; +--- + +
+
+ +

Full Stack

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.

+
+
+ +

Industry Leader

+

Neque viverra justo nec ultrices dui. Est ultricies integer quis auctor elit.

+
+
+ +

Strategy-Minded

+

Urna porttitor rhoncus dolor purus non enim praesent ornare.

+
+
+ + diff --git a/src/components/ThemeToggle.astro b/src/components/ThemeToggle.astro new file mode 100644 index 0000000000..88f7bf67c7 --- /dev/null +++ b/src/components/ThemeToggle.astro @@ -0,0 +1,95 @@ +--- +import Icon from './Icon.astro'; +--- + + + + + + + + diff --git a/src/content.config.ts b/src/content.config.ts new file mode 100644 index 0000000000..689ddde5ae --- /dev/null +++ b/src/content.config.ts @@ -0,0 +1,17 @@ +import { glob } from 'astro/loaders'; +import { defineCollection, z } from 'astro:content'; + +export const collections = { + work: defineCollection({ + // Load Markdown files in the src/content/work directory. + loader: glob({ base: './src/content/work', pattern: '**/*.md', }), + schema: z.object({ + title: z.string(), + description: z.string(), + publishDate: z.coerce.date(), + tags: z.array(z.string()), + img: z.string(), + img_alt: z.string().optional(), + }), + }), +}; diff --git a/src/content/work/bloom-box.md b/src/content/work/bloom-box.md new file mode 100644 index 0000000000..d0e5371cf3 --- /dev/null +++ b/src/content/work/bloom-box.md @@ -0,0 +1,23 @@ +--- +title: Bloom Box +publishDate: 2019-12-01 00:00:00 +img: /assets/stock-2.jpg +img_alt: A bright pink sheet of paper used to wrap flowers curves in front of rich blue background +description: | + We paired with a cutting-edge music API and a team of horticulturalists + to build AI-generated playlists that maximize houseplant health. +tags: + - Dev + - Branding + - Backend +--- + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur posuere commodo venenatis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nam non ligula vel metus efficitur hendrerit. In hac habitasse platea dictumst. Praesent et mauris ut mi dapibus semper. Curabitur tortor justo, efficitur sit amet pretium cursus, porta eget odio. Cras ac venenatis dolor. Donec laoreet posuere malesuada. Curabitur nec mi tempor, placerat leo sit amet, tincidunt est. Quisque pellentesque venenatis magna, eget tristique nibh pulvinar in. Vestibulum vitae volutpat arcu. Aenean ut malesuada odio, sit amet pellentesque odio. Suspendisse nunc elit, blandit nec hendrerit non, aliquet at magna. Donec id leo ut nulla sagittis sodales. + +Integer vitae nibh elit. Suspendisse eget urna eu neque bibendum pharetra. Sed interdum lectus sem, in pulvinar magna dignissim vel. Quisque maximus at urna nec laoreet. Suspendisse potenti. Vestibulum rhoncus sem ut mi pellentesque, in vestibulum erat blandit. Aliquam sodales dui ac maximus consectetur. Duis quis est vehicula, imperdiet nisl nec, fermentum erat. Duis tortor diam, pharetra eu euismod in, vehicula non eros. Curabitur facilisis dui at erat ultrices gravida. In at nunc ultricies, pulvinar mi vel, sagittis mauris. Praesent pharetra posuere purus ac imperdiet. Nulla facilisi. + +Sed pulvinar porttitor mi in ultricies. Etiam non dolor gravida eros pulvinar pellentesque et dictum ex. Proin eu ornare ligula, sed condimentum dui. Vivamus tincidunt tellus mi, sed semper ipsum pharetra a. Suspendisse sollicitudin at sapien nec volutpat. Etiam justo urna, laoreet ac lacus sed, ultricies facilisis dolor. Integer posuere, metus vel viverra gravida, risus elit ornare magna, id feugiat erat risus ullamcorper libero. Proin vitae diam auctor, laoreet lorem vitae, varius tellus. + +Mauris sed eros in ex maximus volutpat. Suspendisse potenti. Donec lacinia justo consectetur sagittis tempor. Proin ullamcorper nisi vitae auctor rhoncus. Sed tristique aliquam augue. Pellentesque vitae fringilla ligula. Nulla arcu elit, efficitur eu nunc malesuada, eleifend tincidunt orci. Interdum et malesuada fames ac ante ipsum primis in faucibus. Integer mattis orci in bibendum ultricies. Quisque a dui erat. Phasellus et vulputate ipsum. Proin metus ex, lobortis nec ornare eget, bibendum ut sapien. Aliquam in dolor lobortis, aliquam tellus a, congue augue. Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +Aenean pretium purus augue, ut bibendum erat convallis quis. Cras condimentum quis velit ac mollis. Suspendisse non purus fringilla, venenatis nisl porta, finibus odio. Curabitur aliquet metus faucibus libero interdum euismod. Morbi sed magna nisl. Morbi odio nibh, facilisis vel sapien eu, tempus tincidunt erat. Nullam erat velit, sagittis at purus quis, tristique scelerisque tortor. Pellentesque lacinia tortor id est aliquam viverra. Vestibulum et diam ac ipsum mollis fringilla. diff --git a/src/content/work/h20.md b/src/content/work/h20.md new file mode 100644 index 0000000000..521bbbe075 --- /dev/null +++ b/src/content/work/h20.md @@ -0,0 +1,22 @@ +--- +title: h2.0 +publishDate: 2019-10-02 00:00:00 +img: /assets/stock-4.jpg +img_alt: Soft pink and baby blue water ripples together in a subtle texture. +description: | + We developed brand positioning and design assets for the launch + of a new colored water product. +tags: + - Design + - Branding +--- + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur posuere commodo venenatis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nam non ligula vel metus efficitur hendrerit. In hac habitasse platea dictumst. Praesent et mauris ut mi dapibus semper. Curabitur tortor justo, efficitur sit amet pretium cursus, porta eget odio. Cras ac venenatis dolor. Donec laoreet posuere malesuada. Curabitur nec mi tempor, placerat leo sit amet, tincidunt est. Quisque pellentesque venenatis magna, eget tristique nibh pulvinar in. Vestibulum vitae volutpat arcu. Aenean ut malesuada odio, sit amet pellentesque odio. Suspendisse nunc elit, blandit nec hendrerit non, aliquet at magna. Donec id leo ut nulla sagittis sodales. + +Integer vitae nibh elit. Suspendisse eget urna eu neque bibendum pharetra. Sed interdum lectus sem, in pulvinar magna dignissim vel. Quisque maximus at urna nec laoreet. Suspendisse potenti. Vestibulum rhoncus sem ut mi pellentesque, in vestibulum erat blandit. Aliquam sodales dui ac maximus consectetur. Duis quis est vehicula, imperdiet nisl nec, fermentum erat. Duis tortor diam, pharetra eu euismod in, vehicula non eros. Curabitur facilisis dui at erat ultrices gravida. In at nunc ultricies, pulvinar mi vel, sagittis mauris. Praesent pharetra posuere purus ac imperdiet. Nulla facilisi. + +Sed pulvinar porttitor mi in ultricies. Etiam non dolor gravida eros pulvinar pellentesque et dictum ex. Proin eu ornare ligula, sed condimentum dui. Vivamus tincidunt tellus mi, sed semper ipsum pharetra a. Suspendisse sollicitudin at sapien nec volutpat. Etiam justo urna, laoreet ac lacus sed, ultricies facilisis dolor. Integer posuere, metus vel viverra gravida, risus elit ornare magna, id feugiat erat risus ullamcorper libero. Proin vitae diam auctor, laoreet lorem vitae, varius tellus. + +Mauris sed eros in ex maximus volutpat. Suspendisse potenti. Donec lacinia justo consectetur sagittis tempor. Proin ullamcorper nisi vitae auctor rhoncus. Sed tristique aliquam augue. Pellentesque vitae fringilla ligula. Nulla arcu elit, efficitur eu nunc malesuada, eleifend tincidunt orci. Interdum et malesuada fames ac ante ipsum primis in faucibus. Integer mattis orci in bibendum ultricies. Quisque a dui erat. Phasellus et vulputate ipsum. Proin metus ex, lobortis nec ornare eget, bibendum ut sapien. Aliquam in dolor lobortis, aliquam tellus a, congue augue. Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +Aenean pretium purus augue, ut bibendum erat convallis quis. Cras condimentum quis velit ac mollis. Suspendisse non purus fringilla, venenatis nisl porta, finibus odio. Curabitur aliquet metus faucibus libero interdum euismod. Morbi sed magna nisl. Morbi odio nibh, facilisis vel sapien eu, tempus tincidunt erat. Nullam erat velit, sagittis at purus quis, tristique scelerisque tortor. Pellentesque lacinia tortor id est aliquam viverra. Vestibulum et diam ac ipsum mollis fringilla. diff --git a/src/content/work/markdown-mystery-tour.md b/src/content/work/markdown-mystery-tour.md new file mode 100644 index 0000000000..5fbc2cac50 --- /dev/null +++ b/src/content/work/markdown-mystery-tour.md @@ -0,0 +1,35 @@ +--- +title: Markdown Mystery Tour +publishDate: 2020-03-02 00:00:00 +img: /assets/stock-1.jpg +img_alt: Iridescent ripples of a bright blue and pink liquid +description: | + We designed a whodunnit-style game to introduce Markdown formatting. Suspense β€” suspicion β€” syntax! +tags: + - Design + - Dev + - User Testing +--- + +## Level-two heading + +> Tell me and I forget. Teach me and I remember. Involve me and I learn. + +Lorem ipsum dolor sit amet, Astro makes people happy. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Proin nibh nisl condimentum id venenatis a condimentum vitae. Dapibus ultrices in iaculis nunc. Arcu odio ut sem nulla pharetra diam sit amet. Diam quis enim lobortis scelerisque fermentum dui faucibus in ornare. + +Arcu dui vivamus arcu felis bibendum ut tristique et egestas. Eget gravida cum sociis natoque penatibus. Cras fermentum odio eu feugiat pretium nibh. Proin nibh nisl condimentum id venenatis. Porta nibh venenatis cras sed felis eget velit. Id diam vel quam elementum pulvinar etiam non. + +### Level-three heading + +Ultrices tincidunt arcu non sodales neque sodales ut. Sed enim ut sem viverra aliquet eget sit amet. Lacus luctus accumsan tortor posuere ac ut consequat semper viverra. Viverra accumsan in nisl nisi scelerisque eu ultrices. In massa tempor nec feugiat nisl pretium fusce. + +### Level-three heading + +Sed pulvinar porttitor mi in ultricies. Etiam non dolor gravida eros pulvinar pellentesque et dictum ex. Proin eu ornare ligula, sed condimentum dui. Vivamus tincidunt tellus mi, sed semper ipsum pharetra a. Suspendisse sollicitudin at sapien nec volutpat. Etiam justo urna, laoreet ac lacus sed, ultricies facilisis dolor. Integer posuere, metus vel viverra gravida, risus elit ornare magna, id feugiat erat risus ullamcorper libero. Proin vitae diam auctor, laoreet lorem vitae, varius tellus. + +Aenean pretium purus augue, ut bibendum erat convallis quis. Cras condimentum quis velit ac mollis. Suspendisse non purus fringilla, venenatis nisl porta, finibus odio. Curabitur aliquet metus faucibus libero interdum euismod. Morbi sed magna nisl. Morbi odio nibh, facilisis vel sapien eu, tempus tincidunt erat. Nullam erat velit, sagittis at purus quis, tristique scelerisque tortor. Pellentesque lacinia tortor id est aliquam viverra. Vestibulum et diam ac ipsum mollis fringilla. + +#### Level-four heading + +- We noted this +- And also this other point diff --git a/src/content/work/nested/duvet-genius.md b/src/content/work/nested/duvet-genius.md new file mode 100644 index 0000000000..e377ede695 --- /dev/null +++ b/src/content/work/nested/duvet-genius.md @@ -0,0 +1,22 @@ +--- +title: Duvet Genius +publishDate: 2020-03-04 00:00:00 +img: /assets/stock-3.jpg +img_alt: Pearls of silky soft white cotton, bubble up under vibrant lighting +description: | + We developed a virtual showcase for the softest bedding imaginable. +tags: + - Design + - Dev + - Branding +--- + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur posuere commodo venenatis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nam non ligula vel metus efficitur hendrerit. In hac habitasse platea dictumst. Praesent et mauris ut mi dapibus semper. Curabitur tortor justo, efficitur sit amet pretium cursus, porta eget odio. Cras ac venenatis dolor. Donec laoreet posuere malesuada. Curabitur nec mi tempor, placerat leo sit amet, tincidunt est. Quisque pellentesque venenatis magna, eget tristique nibh pulvinar in. Vestibulum vitae volutpat arcu. Aenean ut malesuada odio, sit amet pellentesque odio. Suspendisse nunc elit, blandit nec hendrerit non, aliquet at magna. Donec id leo ut nulla sagittis sodales. + +Integer vitae nibh elit. Suspendisse eget urna eu neque bibendum pharetra. Sed interdum lectus sem, in pulvinar magna dignissim vel. Quisque maximus at urna nec laoreet. Suspendisse potenti. Vestibulum rhoncus sem ut mi pellentesque, in vestibulum erat blandit. Aliquam sodales dui ac maximus consectetur. Duis quis est vehicula, imperdiet nisl nec, fermentum erat. Duis tortor diam, pharetra eu euismod in, vehicula non eros. Curabitur facilisis dui at erat ultrices gravida. In at nunc ultricies, pulvinar mi vel, sagittis mauris. Praesent pharetra posuere purus ac imperdiet. Nulla facilisi. + +Sed pulvinar porttitor mi in ultricies. Etiam non dolor gravida eros pulvinar pellentesque et dictum ex. Proin eu ornare ligula, sed condimentum dui. Vivamus tincidunt tellus mi, sed semper ipsum pharetra a. Suspendisse sollicitudin at sapien nec volutpat. Etiam justo urna, laoreet ac lacus sed, ultricies facilisis dolor. Integer posuere, metus vel viverra gravida, risus elit ornare magna, id feugiat erat risus ullamcorper libero. Proin vitae diam auctor, laoreet lorem vitae, varius tellus. + +Mauris sed eros in ex maximus volutpat. Suspendisse potenti. Donec lacinia justo consectetur sagittis tempor. Proin ullamcorper nisi vitae auctor rhoncus. Sed tristique aliquam augue. Pellentesque vitae fringilla ligula. Nulla arcu elit, efficitur eu nunc malesuada, eleifend tincidunt orci. Interdum et malesuada fames ac ante ipsum primis in faucibus. Integer mattis orci in bibendum ultricies. Quisque a dui erat. Phasellus et vulputate ipsum. Proin metus ex, lobortis nec ornare eget, bibendum ut sapien. Aliquam in dolor lobortis, aliquam tellus a, congue augue. Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +Aenean pretium purus augue, ut bibendum erat convallis quis. Cras condimentum quis velit ac mollis. Suspendisse non purus fringilla, venenatis nisl porta, finibus odio. Curabitur aliquet metus faucibus libero interdum euismod. Morbi sed magna nisl. Morbi odio nibh, facilisis vel sapien eu, tempus tincidunt erat. Nullam erat velit, sagittis at purus quis, tristique scelerisque tortor. Pellentesque lacinia tortor id est aliquam viverra. Vestibulum et diam ac ipsum mollis fringilla. diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro new file mode 100644 index 0000000000..235599abd7 --- /dev/null +++ b/src/layouts/BaseLayout.astro @@ -0,0 +1,118 @@ +--- +// Learn about using Astro layouts: +// https://docs.astro.build/en/core-concepts/layouts/ + +// Component Imports +import MainHead from '../components/MainHead.astro'; +import Nav from '../components/Nav.astro'; +import Footer from '../components/Footer.astro'; + +interface Props { + title?: string | undefined; + description?: string | undefined; +} + +const { title, description } = Astro.props; +--- + + + + + + +
+
+ + + + + + diff --git a/src/pages/404.astro b/src/pages/404.astro new file mode 100644 index 0000000000..e3995899ab --- /dev/null +++ b/src/pages/404.astro @@ -0,0 +1,8 @@ +--- +import Hero from '../components/Hero.astro'; +import BaseLayout from '../layouts/BaseLayout.astro'; +--- + + + + diff --git a/src/pages/about.astro b/src/pages/about.astro new file mode 100644 index 0000000000..14e34ba813 --- /dev/null +++ b/src/pages/about.astro @@ -0,0 +1,120 @@ +--- +import BaseLayout from '../layouts/BaseLayout.astro'; + +import ContactCTA from '../components/ContactCTA.astro'; +import Hero from '../components/Hero.astro'; +--- + + +
+
+ + Jeanine White at work with a colleague + + +
+

Background

+
+

+ Lorem ipsum dolor sit amet, Astro makes people happy. + Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Proin nibh nisl condimentum + id venenatis a condimentum vitae. Dapibus ultrices in iaculis nunc. Arcu odio ut sem nulla + pharetra diam sit amet. Diam quis enim lobortis scelerisque fermentum dui faucibus in ornare. +

+

+ Arcu dui vivamus arcu felis bibendum ut tristique et egestas. Eget gravida cum sociis + natoque penatibus. Cras fermentum odio eu feugiat pretium nibh. Proin nibh nisl + condimentum id venenatis. Porta nibh venenatis cras sed felis eget velit. Id diam vel + quam elementum pulvinar etiam non. +

+

+ Ultrices tincidunt arcu non sodales neque sodales ut. Sed enim ut sem viverra aliquet + eget sit amet. Lacus luctus accumsan tortor posuere ac ut consequat semper viverra. + Viverra accumsan in nisl nisi scelerisque eu ultrices. In massa tempor nec feugiat nisl + pretium fusce. +

+
+
+
+

Education

+
+

Corporis voluptates tenetur laudantium.

+
+
+
+

Skills

+
+

officia unde omnis

+
+
+
+ + +
+
+ + diff --git a/src/pages/index.astro b/src/pages/index.astro new file mode 100644 index 0000000000..5f67e3860b --- /dev/null +++ b/src/pages/index.astro @@ -0,0 +1,252 @@ +--- +import { getCollection } from 'astro:content'; + +// Layout import β€” provides basic page elements: ,