Skip to content

sanman1k98/www

Repository files navigation

💻 Developing

git clone --recurse-submodules https://github.com/sanman1k98/www.git

Note

This project uses a private git submodule for the "cv" content collection which is used to generate the /resume page.

🗄 Project Structure

/
├── .github/                    # workflows that deploy the site
│   └── ...
├── scripts/                    # CI/CD related
│   └── ...
├── public/
│   ├── fonts/
│   └── ...
├── src/                        # Has a `tsconfig.json` path alias "@/*"
│   ├── components/
│   │   ├── HeadMeta.astro      # Tags for SEO and stuff
│   │   ├── Perlin.astro        # Website background pattern
│   │   └── ...
│   ├── content/
│   │   ├── cv/ -> https://github.com/sanman1k98/cv.git
│   │   ├── info/
│   │   ├── photos/             # Contains an `index.yaml` and image files
│   │   └── config.ts           # Defines collections using "src/schemas"
│   ├── layouts/
│   │   ├── BaseLayout.astro    # HTML and slot for `<body>`
│   │   └── MainLayout.astro    # Components and slot for `<main>`
│   ├── pages/
│   │   ├── resume/             # Uses "cv" collection entries
│   │   ├── photos/
│   │   ├── index.astro         # Landing page
│   │   └── ...
│   ├── schemas/                # Zod schemas for Astro Content Collections
│   │   ├── cv.ts
│   │   ├── info.ts
│   │   ├── misc.ts
│   │   └── photos.ts           # Parses EXIF metadata
│   ├── utils/
│   │   └── ...
│   └── content.ts              # Content Collection Entries and types
├── package.json
└── ...

🧞 Commands

All commands are run from the root of the project, from a terminal:

Command Action
bun install Installs dependencies
bun run dev Starts local dev server at localhost:4321
bun run check Check project for type errors
bun run build Build your production site to ./dist/
bun run preview Preview your build locally, before deploying
bun run deploy Build and push to trigger deployment workflow
bun run astro ... Run CLI commands like astro add, astro check
bun run astro --help Get help using the Astro CLI

🚀 Deploying

The site is hosted on GitHub Pages using static files in the deploy branch. Deployments are triggered when the repository owner (me) pushes to the deploy branch. See the .github/workflows and scripts directories for more information.

📜 License

Source code is licensed under MIT.