Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
File renamed without changes.
55 changes: 55 additions & 0 deletions .claude/PROGRESS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# MinMaxed v2 Implementation Progress

## Status: COMPLETE (2026-03-27)

## What's Done (pre-existing)

### Phase 1: Foundation ✅
- Astro 4.x project initialized with all integrations (Tailwind, MDX, sitemap, icon)
- `astro.config.mjs` configured with site URL
- `tailwind.config.mjs` with full design token set (colors, fonts, animations)
- `src/styles/global.css` with custom utility classes
- `src/layouts/BaseLayout.astro` (with GTM, scroll-reveal IntersectionObserver)
- `src/layouts/PageLayout.astro`
- `src/layouts/BlogPostLayout.astro` (reading time, prev/next nav)
- `src/components/layout/{Header,Footer,SEOHead}.astro`
- `src/components/ui/{BlogCard,ProjectCard,TagBadge,TimelineItem,SocialLinks}.astro`

### Phase 2: Content Layer ✅
- `src/content/config.ts` — blog + projects collection schemas
- `src/content/blog/east-coast-trail.md` — migrated from .qmd ✅
- `src/content/blog/quarto-website-tutorial.md` — migrated from .qmd ✅
- `src/content/projects/minmaxed-website.md` — project entry ✅
- `src/pages/blog/index.astro` — blog index with tag filter ✅
- `src/pages/blog/[...slug].astro` — dynamic blog post route ✅

### Phase 3: Landing Page ✅
- `src/pages/index.astro` — all sections (hero, bio, featured, recent posts, research teaser)
- `src/components/home/{Hero,TopoBackground,FeaturedProjects,RecentPosts}.astro`
- Hero: topo SVG animation + typewriter + CTAs ✅

### Phase 4: Remaining Pages ✅
- `src/pages/about.astro` — bio + timeline ✅
- `src/pages/projects/index.astro` — tag filter + grid ✅
- `src/pages/research.astro` — research focus + interests + publications placeholder ✅
- `src/pages/contact.astro` ✅
- `src/pages/404.astro` ✅

### Build Fix ✅
- Downgraded `@astrojs/sitemap` to 3.1.6 (3.7.x incompatible with Astro 4)

## Remaining Tasks

### Task 1: Create PROGRESS.md — ✅ (this file)

### Task 2: Replace deploy.yml with Astro workflow — ✅ DONE
### Task 3: Add RSS feed at /rss.xml — ✅ DONE
### Task 4: Add more project content — ✅ DONE (4 new projects added)
### Task 5: Fix mobile menu — ✅ DONE
### Task 6: Final build verification — ✅ DONE (build passes, rss.xml + sitemap-index.xml confirmed)

## Remaining Before Go-Live

- [ ] **GitHub repo setting**: Repo Settings → Pages → Source: change from "Deploy from branch (gh-pages)" to **"GitHub Actions"** — must be done manually
- [ ] Push to `main` to trigger deploy
- [ ] Verify live at https://maxmascini.github.io/
75 changes: 24 additions & 51 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -1,63 +1,36 @@
name: Deploy Quarto Site to GitHub Pages
name: Deploy Astro Site

on:
push:
branches:
- main
branches: [main]
workflow_dispatch:

permissions:
contents: write
contents: read
pages: write
id-token: write

jobs:
build-deploy:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout Code
uses: actions/checkout@v2

- name: Get Latest Pre-release from Github
id: github-release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
echo version=$(gh api repos/quarto-dev/quarto-cli/releases | jq -r 'map(select(.prerelease)) | first | .tag_name | sub("^v";"")') >> "$GITHUB_OUTPUT"

- name: Set up Quarto
uses: quarto-dev/quarto-actions/setup@v2
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
version: ${{ steps.github-release.outputs.version }}

- name: Set up Python
uses: actions/setup-python@v4
node-version: 20
cache: npm
- run: npm ci
- run: npm run build
- uses: actions/upload-pages-artifact@v3
with:
python-version: '3.12' # Specify your required Python version

- name: Cache Python packages
id: cache-python
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-

- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
path: ./dist

- name: Render Site
uses: quarto-dev/quarto-actions/render@v2

- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./_site # The directory where Quarto renders the site

- name: Output Deployment URL
run: |
echo "url=https://${{ github.repository_owner }}.github.io/" >> $GITHUB_OUTPUT


deploy:
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- uses: actions/deploy-pages@v4
id: deployment
Loading
Loading