CV in JSON Resume format with multilingual support and automatic deployment to GitHub Pages.
# Install dependencies
npm install
# Build and serve locally
npm run serve
# Build everything (HTML, PDF, JSON)
npm run buildThe project uses environment variables. Copy .env.example to .env for local development:
| Variable | Description | Default |
|---|---|---|
BASE_PATH |
Base path for GitHub Pages | '' |
CV_NAME |
Name in slug format (e.g., john-doe) |
john-doe |
LANGUAGES |
Supported languages (comma-separated) | en,es |
Tip
PDFs are generated as {CV_NAME}_cv_{lang}.pdf.
| File | Description |
|---|---|
config.js |
Centralized configuration |
resume.{lang}.json |
CV in the specified language |
.env.example |
Configuration example |
Note
The first language in LANGUAGES is served at root (/), others in subdirectories (/{lang}/).
| File | Description |
|---|---|
dist/index.html |
Default language HTML |
dist/{name}_cv_{lang}.pdf |
Default language PDF |
dist/content.json |
Default language JSON |
dist/{lang}/... |
Other language files |
| Command | Description |
|---|---|
npm run serve |
Build and serve CV locally |
npm run build |
Build everything (HTML, PDF, JSON) |
npm run build:html |
Generate HTML for all languages |
npm run build:pdf |
Generate PDF for all languages |
npm run build:json |
Copy JSON for all languages |
-
Create your
resume.{lang}.jsonfiles -
Configure variables in GitHub:
- Go to Settings → Secrets and variables → Actions → Variables
- Create the following repository variables:
Variable Description Example BASE_PATHYour repository name resumeCV_NAMEYour name in slug format john-doeLANGUAGESLanguages comma-separated en,es -
Enable GitHub Pages:
- Go to Settings → Pages
- Under Source, select GitHub Actions
-
Push and GitHub Pages will deploy automatically
The CV deploys automatically to GitHub Pages when pushing to main with changes in resume.*.json, config.js, or scripts/.