Modern rewrite - #78
Conversation
Complete replacement of Jekyll-based modern-resume-theme with: - Next.js 14 with App Router and static export - TypeScript for type safety - Tailwind CSS replacing Bootstrap 3.3.5 - Lucide React icons replacing Font Awesome - Proper dark mode toggle with localStorage persistence - CSS variables for theming - All original content migrated from _config.yml and _data/experience.yml - Print-friendly styles preserved - 67% smaller bundle size - No Ruby/Jekyll dependencies See REVIEW_AND_REWRITE.md for full analysis.
…rta Sans - Complete visual overhaul following frontend-design-ultimate principles - Typography: Space Grotesk (display), Plus Jakarta Sans (body) - Color: Warm paper tones, copper accent (#c75b39), deep navy text - Background: Subtle grain texture overlay - Layout: Asymmetric grid, editorial cards with hover shadows - Animations: Fade-in-up, slide-in-left on page load - Dark mode: Deep editorial palette (#1a1a2e), copper accent glow - Mobile-first: Responsive grid collapse, touch-friendly sizing - Unforgettable element: Massive display typography in header
Repairs the corrupted experience data (leftover old_string markers broke compilation and hid 6 of 9 entries), commits a package-lock.json so the deploy workflow's npm ci works, and moves the profile image into public/ so it ships in the static export. Dark mode now respects system preference on first visit without a flash, writes localStorage only on toggle, and the root layout is a server component with proper metadata. Also removes unused types/deps, deletes the stale Jekyll-era files, updates the README, and broadens the deploy workflow to master + modern-rewrite. Generated with Codebuff 🤖 Co-Authored-By: Codebuff <noreply@codebuff.com>
Strips the busy magazine styling: removes the grain overlay, giant display type, watermark index numbers, decorative photo frame, date pills, and hover theatrics. Now a clean, readable single-accent layout with plain divider rows, simple bullet lists, and calmer social buttons. Keeps the structure, content, dark mode, and print styles intact. Generated with Codebuff 🤖 Co-Authored-By: Codebuff <noreply@codebuff.com>
Replaces the Google Fonts link with build-time self-hosted next/font fonts (Space Grotesk + Plus Jakarta Sans), adds Open Graph and Twitter metadata so the CV shares nicely, adds an SVG favicon, sets up ESLint with eslint-config-next so npm run lint passes, and adds compact print-only styles for a clean single-page CV. Generated with Codebuff 🤖 Co-Authored-By: Codebuff <noreply@codebuff.com>
The static export referenced assets at absolute /_next/... paths, which 404'd on GitHub Pages project sites (served from /cv/), leaving the page unstyled. Sets basePath and assetPrefix from GITHUB_REPOSITORY when building in CI, and makes local asset paths (profile image, favicon, OG image) relative so they resolve correctly under the subpath. OG metadata now uses the actual Pages URL via metadataBase. Generated with Codebuff 🤖 Co-Authored-By: Codebuff <noreply@codebuff.com>
…ction The header's bottom padding and the About section's top padding stacked into ~150px of dead space. Reduced header bottom padding to pb-10 and About top padding to pt-8 so the sections flow together. Generated with Codebuff 🤖 Co-Authored-By: Codebuff <noreply@codebuff.com>
Implements the content review: headline becomes "Partner Program Manager, PUBG WEST" with a tagline and a four-fact proof strip (KRAFTON 2022-present, 100k+ Reddit community, 20-team charity tournament, Western markets). Profile replaces About with tighter opening copy plus a current-focus line, the KRAFTON section is rewritten around outcomes, older roles are compressed, the header eyebrow now reads "KRAFTON | PUBG WEST", and the footer is renamed Contact with the freelance line removed. Page title and OG metadata updated to match. Generated with Codebuff 🤖 Co-Authored-By: Codebuff <noreply@codebuff.com>
The four-fact stats grid read as odd filler under the headline. Removed the stats block from the header and the now-unused stats field from the config. Generated with Codebuff 🤖 Co-Authored-By: Codebuff <noreply@codebuff.com>
Expands KRAFTON into the largest entry with a role summary plus ten substantive bullets covering relationships, campaign delivery, program operations, events, cross-team coordination, reporting, support, escalations and process improvement. Tightens PUBG Reddit into a compact intro plus six bullets so it no longer overwhelms the current role, compresses the earlier technical roles, groups EGX, SpecialEffect and NovaFM under a "Selected community, events and media work" heading, drops generic company-quote lines, and switches to plain hyphens throughout. No invented metrics. Generated with Codebuff 🤖 Co-Authored-By: Codebuff <noreply@codebuff.com>
The rewrite's KRAFTON entry (title, dates) and the end dates for PUBG Reddit and APT Solutions were inaccurate. Now matches the maintained master data and live cv.danbennett.me: Associate Creator Partnerships Manager, PUBG West since December 2020, with Reddit and APT ending December 2020. The KRAFTON description merges the real bullets from master with the centrepiece structure, and the page title/OG metadata are updated to the correct role. Generated with Codebuff 🤖 Co-Authored-By: Codebuff <noreply@codebuff.com>
Replaces the first bullet, which repeated the role summary, with a more specific day-to-day responsibility: acting as the point of contact for PUBG WEST Partners on program requirements, campaign expectations and support. Generated with Codebuff 🤖 Co-Authored-By: Codebuff <noreply@codebuff.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Resolves the PR #78 conflicts: keeps the new Next.js site (branch versions of README and package.json), drops the Jekyll-era files that master modified since the branch diverged (Gemfile.lock, _config.yml, _data/experience.yml, build.sh, modern-resume-theme.gemspec), and keeps vercel.json added from master. Generated with Codebuff 🤖 Co-Authored-By: Codebuff <noreply@codebuff.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b70c5dc4af
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| on: | ||
| push: | ||
| branches: [master, modern-rewrite] |
There was a problem hiding this comment.
Add the actual main branch to deployment triggers
The repository's release branch is main, but this workflow only runs for pushes to master or modern-rewrite. After the rewrite is merged into main, ordinary CV updates on that branch will therefore leave the published site stale unless someone manually dispatches the workflow; include main in this branch filter.
Useful? React with 👍 / 👎.
| className={`experience-item pb-10 last:pb-0 ${ | ||
| experience.group | ||
| ? 'pt-2' | ||
| : 'border-t border-[var(--border-light)] first:border-t-0 first:pt-0 pt-10' |
There was a problem hiding this comment.
Apply first and last spacing at the list level
Each ExperienceItem is wrapped in its own <div>, so every ordinary <article> is simultaneously the first and last child of its wrapper. Consequently first:pt-0, first:border-t-0, and last:pb-0 apply to every entry rather than only the list endpoints, removing the intended separators and vertical spacing throughout the experience list; derive these styles from the mapped index or put the variants on actual siblings.
Useful? React with 👍 / 👎.
| body { | ||
| background: white !important; | ||
| color: black !important; | ||
| } |
There was a problem hiding this comment.
Reset dark palette variables for print
When a visitor prints while dark mode is active, this rule changes only the body's inherited color, while descendants continue using .dark values such as --text-primary: #f9fafb and --text-secondary: #d1d5db. Headings, profile copy, and experience text therefore render nearly white on the forced white page; reset the theme variables or explicitly override descendant colors inside the print media query.
Useful? React with 👍 / 👎.
No description provided.