A clean, responsive, and printer-friendly static website to showcase your CV/resume. This version supports English/French language switching, and ensures that buttons like language toggle and print don’t appear in PDF exports.
- ✅ Static HTML/CSS/JS – No framework or backend required
- ✅ Language switcher (English / French)
- ✅ Printer-friendly layout with custom print styles
- ✅ Responsive design for mobile and desktop
- ✅ Easy to customize JSON data
.
├── data_en.json # Your CV content in English
├── data_fr.json # Your CV content in French
├── index.html # Static HTML template
├── script.js # JavaScript for dynamic rendering and switching
├── style.css # Custom styling and print layout
└── README.md # You're here!
Just open index.html in any modern browser (no server required).
You only need to edit the content in the following JSON files:
data_en.json→ English version of your CVdata_fr.json→ French version of your CV
Each file contains structured data:
{
"personalInfo": {
"name": "Your Name",
"title": "Your Title",
"summary": "Short summary...",
...
},
"experience": [
{
"title": "Your job",
"company": "Company name",
"description": ["One bullet", "Another bullet"]
}
]
}Click the top-left FR/EN button to toggle language. Your choice is saved in the browser (localStorage), so it's remembered on reload.
🖨️ The language button won’t appear when printing or saving as PDF.
- On load, JavaScript:
- Detects the preferred language (
localStorageor defaults to English) - Loads
data_en.jsonordata_fr.json - Populates the HTML dynamically
- Detects the preferred language (
- The Print button (
📄) triggers the browser’s print dialog - Print styles (
@media print) hide UI elements like buttons and optimize layout for A4/PDF
To publish your CV online:
- Push this repo to GitHub
- Go to your repository settings
- Enable GitHub Pages (source: root or
main) - Access it at
https://your-username.github.io/your-repo-name
- Styles: Modify
style.cssto match your branding. - More languages? Duplicate
data_en.jsonasdata_es.json, add a button, and extendscript.js.
Feel free to fork and adapt!