Mirror of static site repo git.pfy.ch/pfych/static
TypeScript 73%
SCSS 10%
HTML 9%
JavaScript 5%
Handlebars 1%
1%
Shell <1%
Dockerfile <1%

README.md

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