A curriculum vitae template that lets you write your CV in Markdown and export to HTML/PDF.
-
Install Node.js 18+.
-
Install dependencies:
pnpm install
-
Start dev server:
pnpm dev
-
Open the printed-style CV preview (default):
http://localhost:5173.
This repo works with pnpm, npm, or yarn. CI uses pnpm and the committed pnpm-lock.yaml, so pnpm is the recommended default.
Common command equivalents:
# install
pnpm install
npm install
yarn install
# dev server
pnpm dev
npm run dev
yarn dev
# production build (includes the configured PDF when Chrome is available)
pnpm build
npm run build
yarn build
# local preview
pnpm preview
npm run preview
yarn preview- Edit your resume in
index.md. - Contact items are rendered directly from frontmatter metadata.
Supported contact fields:
title: Your Name
hero:
image: media/your-wordmark.svg
pdf:
filename: your-name-cv
homepage:
url: https://example.com
text: example.com
email:
url: mailto:you@example.com
text: you@example.com
phone: +1 (555) 555-5555Use any subset of homepage, email, and phone; only provided fields are shown.
The optional pdf.filename field controls the generated download name. The
.pdf extension may be included or omitted; unsupported filename characters
are replaced with hyphens. It defaults to cv.pdf.
The hero.image field is optional. It accepts a path relative to the site root or
an absolute URL. When it is omitted—or when the image cannot load—the title is
rendered as a stacked text wordmark using the same black and purple styling.
Quoted nicknames such as Alex "Lex" Smith are automatically used as the purple
accent line.
Production builds generate the configured PDF file in dist/ when Chrome or
Chromium is available.
The Download PDF button downloads that file directly. During development,
the Vite server generates the same PDF on demand. Screen/print styles are served
from public/media/.
