Skip to content

Modern rewrite - #78

Merged
DanBennettUK merged 16 commits into
masterfrom
modern-rewrite
Aug 24, 2026
Merged

Modern rewrite#78
DanBennettUK merged 16 commits into
masterfrom
modern-rewrite

Conversation

@DanBennettUK

Copy link
Copy Markdown
Owner

No description provided.

Eevee and others added 15 commits February 17, 2026 00:32
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>
@vercel

vercel Bot commented Aug 24, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
dan-bennett-online-cv Error Error Aug 24, 2026 12:17pm

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>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge 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 👍 / 👎.

Comment thread components/Experience.tsx
Comment on lines +41 to +44
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'

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

Comment thread app/globals.css
Comment on lines +120 to +123
body {
background: white !important;
color: black !important;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

@DanBennettUK
DanBennettUK merged commit d5ef67c into master Aug 24, 2026
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant