Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/michaelpayne02/portfolio
My portfolio site
https://github.com/michaelpayne02/portfolio
astro wasm webcomponents
Last synced: 4 months ago
JSON representation
My portfolio site
- Host: GitHub
- URL: https://github.com/michaelpayne02/portfolio
- Owner: michaelpayne02
- License: mit
- Created: 2024-04-23T01:21:31.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-09-24T01:43:54.000Z (5 months ago)
- Last Synced: 2024-10-02T06:44:24.980Z (4 months ago)
- Topics: astro, wasm, webcomponents
- Language: Astro
- Homepage: https://mikepayne.me
- Size: 52 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Portfolio
## Features
- Hybrid SSR/static rendering
- Webcomponents for:
- Dark/light mode
- [Pagefind](https://pagefind.app/) site search
- View count for each page using [Drizzle](https://orm.drizzle.team/), [Cloudflare D1](https://developers.cloudflare.com/d1/), and Astro's [Server Islands](https://astro.build/blog/future-of-astro-server-islands/).
- Image [lightbox](https://code.juliancataldo.com/component/astro-lightbox/) in mdx content
- Automatic [sitemap](https://docs.astro.build/en/guides/integrations-guide/sitemap/) and [RSS feed](https://docs.astro.build/en/guides/rss/)
- Contact form using [Astro Actions](https://github.com/withastro/roadmap/blob/actions/proposals/0046-actions.md) and [React Email](https://react.email/), protected by [Cloudflare Turnstile](https://developers.cloudflare.com/turnstile/)
- Comments using [Webmentions](https://indieweb.org/Webmention), cached in R2 object store
- [Rive](https://github.com/rive-app/rive-wasm) logo animation
- Static social image generation using [Satori] and [Resvg](https://github.com/vercel/satori), based on [this guide](https://dietcode.io/p/astro-og/). The resulting images are cached in the `node_modules/.astro` folder.
- Animated map using [MapLibre GL JS](https://maplibre.org/) and [Deck.gl](https://deck.gl/). Hydration isn't necessary, an intersection observer dynamically imports the necessary chunks.
- [Bun](https://bun.sh/) to build the site on Github Actions## Credits
Heavily modified from [astro-theme-resume](https://github.com/srleom/astro-theme-resume) and
[astro-theme-cactus](https://github.com/chrismwilliams/astro-theme-cactus)