Static site repo https://pfy.ch
  • TypeScript 75.8%
  • SCSS 10.2%
  • HTML 9.5%
  • JavaScript 2.2%
  • Handlebars 1.3%
  • Other 1%
Find a file
pfych 078180bafb
All checks were successful
Deploy / deploy (push) Successful in 2m26s
Bsky comments
2026-07-20 15:55:31 +10:00
.gitea/workflows Revert "Silly experiment" 2026-05-22 16:23:15 +10:00
infrastructure Handle 403 error from S3 2026-07-03 10:53:34 +10:00
packages Bsky comments 2026-07-20 15:55:31 +10:00
scripts Revert "Silly experiment" 2026-05-22 16:23:15 +10:00
.eslintignore Convert all e and createElement calls to tsx 2025-09-13 11:10:39 +10:00
.gitignore Tidy styles 2026-06-10 13:43:16 +10:00
Dockerfile Revert "Silly experiment" 2026-05-22 16:23:15 +10:00
package.json Revert "Silly experiment" 2026-05-22 16:23:15 +10:00
pnpm-lock.yaml Fix facet rendering 2026-06-16 13:48:09 +10:00
pnpm-workspace.yaml Revert "Silly experiment" 2026-05-22 16:23:15 +10:00
README.md Water caustics 2026-06-08 17:37:26 +10:00
tsconfig.json Merge remote-tracking branch 'origin/master' into rewrite 2025-09-13 11:46:11 +10:00

Static Site

build status build status Built with love

This repo contains the code to build & deploy my static site hosted at https://pfy.ch, as well as all the content/scripts/styles to go along with it.

Project Layout

This project is a monorepo consisting of the following sub packages:

  • infrastructure - All CDK definitions
  • pacakges/api - Lambda API
  • packages/site - Static Site generator & content
  • packages/shared - Type definitions
├── infrastructure
│   ├── api
│   └── site
├── packages
│   ├── api
│   │   ├── lib # Utilities
│   │   └── src # Root handlers
│   │       └── services # Feature based endpoints
│   ├── shared # Type definitions used by site & api
│   └── site
│       ├── assets
│       │   ├── custom # Images, userscripts, icons, etc
│       │   ├── scripts # Typescript (ts,tsx) compiled at build time
│       │   └── styles # SCSS compiled at build time
│       ├── build
│       │   ├── steps # Individual build steps
│       │   ├── templates # Handlebars templates
│       │   └── utils # Utility functions used by steps
│       ├── pages # Custom html pages that are not generated
│       └── posts # Markdown content
└── scripts # Helper scripts for deploying

Using this package

If you want to fork this package for your own site, it's safe to empty the directories listed in packages/site/build/config.ts. This file outlines where the build scripts should look for content.

pnpm run site:dev # Run a copy of the site with hot-reloading on :8080
pnpm run site:build # Compile the site to .dist/
pnpm run site:deploy # Deploy the site using the aws profile "dev" (Must build beforehand)

pnpm run api:dev # Run a copy of the api locally with hot-reloading on :3000
pnpm run api:deploy # Deploy the api using the aws profile "dev"

Water caustics texture by leeor_net