mirror of
https://github.com/kaygdotorg/website.git
synced 2026-11-04 11:48:30 +00:00
personal website / landing page / all things public
- Astro 49.4%
- CSS 23.4%
- JavaScript 19.7%
- TypeScript 7.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Replace the public resume PDF with the supplied updated one-page document. Preserve the existing /resume.pdf URL. Verify the copied PDF matches the supplied file byte for byte. |
||
| .obsidian | ||
| .vscode | ||
| docs | ||
| public | ||
| scripts | ||
| src | ||
| .gitignore | ||
| AGENTS.md | ||
| astro.config.mjs | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| ROADMAP.md | ||
| tsconfig.json | ||
Personal Website
Personal site built with Astro 7, content collections, and a custom UI layer.
For everyday edits, start with the editing guide.
Tech Stack
- Astro 7
- Tailwind CSS v4
- DaisyUI
- Pagefind for on-site search
Project Layout
src/
content/ # Collection content (markdown + local assets)
blog/
talks/
now/
uses/
photography/
home/
apps/
about/
homelab/
changelog/
content.config.ts # Astro content collection schemas/loaders
pages/
index.astro
apps.astro
blog.astro
notes.astro
talks.astro
photography.astro
changelog.astro
now/index.astro
uses/index.astro
[page].astro
[collection]/[slug].astro
layouts/
BaseLayout.astro
MarkdownLayout.astro
TimelineLayout.astro
components/
styles/global.css
scripts/
sync-obsidian.mjs
public/
favicon.svg
robots.txt
resume.pdf
Development
npm install
npm run dev
Build
npm run build
npm run preview
npm run build generates the Astro output and runs Pagefind against dist/.
Search in Dev Mode
Pagefind needs a built index. To test search while running dev server:
npm run build:search
npm run dev
This writes the index to public/pagefind/ (git-ignored).
Content Workflow
- Markdown content lives under
src/content/<collection>/. - Collection schemas and frontmatter validation live in
src/content.config.ts. - Use
scripts/sync-obsidian.mjsto sync from an Obsidian vault (requiresOBSIDIAN_PATHin.env).
Assets
- Put assets in
src/content/...when you want Astro/Vite optimization. - Put assets in
public/when you need exact, unprocessed files (for example PDFs or files that should bypass optimization).
License
- Code: MIT (
LICENSE) - Content: CC BY-NC 4.0 (
src/content/LICENSE)