Skip to content

Repository files navigation

CV

Astro TypeScript Tailwind CSS Docker Lighthouse License: MIT

Use this template

Minimalist CV — Astro theme preview

A print-ready CV/resume template for Astro. Your whole CV lives in one typed config file, ships zero client-side JavaScript, follows the system dark mode automatically, and turns into a clean recruiter-ready PDF with Ctrl+P.

Live demo

Features

  • 📝 Single Config File - Update all your cv data in one place
  • 🖨️ Print Optimized - Specially designed print styles: press Ctrl + P for a clean, one-column PDF
  • 🌓 Dark Mode - Follows the system theme (prefers-color-scheme) with no JavaScript and no flash
  • 🎨 Minimalist Design - Clean, professional layout focused on content
  • 📱 Responsive - Looks great on all devices, from mobile to desktop
  • Zero JavaScript - Ships with no client-side JS for lightning-fast loads
  • 🚀 Static Generation - Pre-rendered HTML for optimal performance
  • 🎯 SEO Friendly - Open Graph, Twitter cards, JSON-LD Person schema, sitemap and canonical URLs

Screenshots

Dark mode Print to PDF Responsive
Dark mode Print to PDF Responsive

🛠️ Tech Stack

🚀 Getting Started

Prerequisites

  • Node.js 22.12+

Installation

The fastest way — click Use this template to create your own copy. Or clone manually:

  1. Clone the repository

    git clone https://github.com/ZhukDI/cv.git
    cd cv
  2. Install dependencies

    npm install
  3. Start the development server

    npm run dev
  4. Open http://localhost:4321 in your browser

  5. Customize your CV

    Edit the src/data/cv.ts file to add your personal information, work experience, education, and skills. The /demo page is rendered from src/data/demo-cv.ts — a fictional dataset kept as a neutral example for the theme listing; delete the page and its data file if you don't need it.

🧞 Commands

All commands are run from the root of the project, from a terminal:

Command Action
npm install Installs dependencies
npm run dev Starts local dev server at localhost:4321
npm run build Build your production site to ./dist/
npm run preview Preview your build locally, before deploying
npm run screenshots Regenerate promo screenshots in screenshots/ (requires a prior npm run build and local Chrome)
npm run astro ... Run CLI commands like astro add, astro check
npm run astro -- --help Get help using the Astro CLI

☁️ Deployment

Cloudflare Pages (production)

The site runs on Cloudflare Pages and is connected to this GitHub repository:

  • Push or merge to main → automatic production build and deploy
  • Pull requests → automatic preview builds (see the Cloudflare Pages check on the PR for the preview URL and logs)

Docker (self-hosted alternative)

If you prefer not to use Cloudflare, the site can be served from an nginx container:

docker build -t zhukdi/dzhuk-cv:latest .
docker compose up -d   # serves the image on http://localhost:8080

The multi-stage Dockerfile builds the site with Node and serves dist/ via nginx.

📚 Documentation

🤝 Contributing

Contributions are welcome! Feel free to:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments