Skip to content

rafnixg/resume

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Resume - Rafnix Gabriel Guzmán Garcia

Sync Resumes Website License: MIT JSON Resume Ask DeepWiki

Mi curriculum profesional publicado como sitio estatico, generado desde Reactive Resume y JSON Resume con GitHub Actions.

Acerca de

Repositorio que gestiona mi CV profesional con un pipeline automatizado:

  1. Reactive Resume (rxresu.me) como editor principal del CV
  2. Backup automatico del JSON completo via API
  3. Generacion de HTML estatico desde los backups y desde public/resume.json
  4. Publicacion en GitHub Pages

Caracteristicas:

  • Backup de resumes desde Reactive Resume API
  • Generacion de HTML estatico con diseno responsivo
  • Export de PDF y screenshots via API
  • Pagina principal desde JSON Resume (public/resume.json)
  • Paginas adicionales por cada resume de rxresume
  • Sincronizacion de backups locales hacia resumes existentes en Reactive Resume
  • Sitemap automatico
  • Umami Analytics integrado
  • SEO (Open Graph, Twitter Cards)
  • Workflow manual con GitHub Actions

Vista Previa

Estructura del Proyecto

├── backups/                          # Backups JSON de rxresume (API)
│   ├── {slug}.json                   # Resume en español
│   └── {slug}-en.json                # Resume en inglés
├── public/                           # Sitio estatico (GitHub Pages root)
│   ├── index.html                    # Pagina principal (desde public/resume.json)
│   ├── resume.json                   # JSON Resume estandar
│   ├── sitemap.xml                   # Sitemap generado automaticamente
│   ├── assets/                       # Recursos estaticos
│   │   ├── {slug}.pdf                # PDF exportado desde rxresume
│   │   ├── {slug}.png                # Screenshot desde rxresume
│   │   ├── banner_web.png
│   │   └── logo.png
│   └── resume/                       # Paginas HTML por resume
│       └── index-{slug}.html         # HTML generado desde backup
├── scripts/
│   ├── rxresume.py                   # Wrapper class para rxresume API
│   ├── rxresume_backup.py            # Backup de resumes desde API
│   ├── rxresume_export.py            # Export: HTML, PDF, sitemap, analytics
│   ├── rxresume_import.py            # Importa o sincroniza backup JSON a rxresume segun el slug
│   ├── rxresume_sync.py              # Sincroniza un backup JSON con un resume existente
│   ├── export_config.py              # Configuracion compartida del export
│   ├── export_rendering.py           # Render HTML para JSON Resume y Reactive Resume
│   ├── export_sitemap.py             # Generacion de sitemap.xml
│   └── add_custom_tags.py            # Inyeccion de analytics y meta tags
└── .github/workflows/
    └── rxresume-sync.yml             # Workflow: backup -> export -> commit

Scripts

Script Descripcion
rxresume.py Clase RxResumeClient que encapsula las llamadas a la API de rxresume
rxresume_backup.py Lista y descarga todos los resumes como JSON en backups/
rxresume_export.py Genera HTML, descarga PDF/PNG, inyecta analytics, crea sitemap
rxresume_import.py Importa un backup JSON y, si el slug ya existe, sincroniza el resume existente
rxresume_sync.py Sincroniza explicitamente un backup JSON con un resume existente
export_config.py Centraliza rutas y constantes del pipeline de export
export_rendering.py Contiene el render HTML de secciones para JSON Resume y Reactive Resume
export_sitemap.py Genera el sitemap a partir de los resumes exportados
add_custom_tags.py Clase CustomTagAdder para inyectar scripts y meta tags en HTML

Como Usar

public/resume.json es la unica fuente JSON Resume del repositorio.

Los archivos en backups/ son la fuente de verdad para los resumes de Reactive Resume (rafnix-guzman-python y rafnix-guzman-python-en).

Requisitos

  • Python 3.10+
  • pip install requests
  • API key de rxresu.me (Settings -> API Keys)

Ejecucion local

# 1. Backup de todos los resumes
RXRESUME_API_KEY=tu-api-key python scripts/rxresume_backup.py

# 2. Export HTML + PDF + sitemap + analytics
RXRESUME_API_KEY=tu-api-key python scripts/rxresume_export.py

# Sin API key solo genera HTML desde los backups existentes
python scripts/rxresume_export.py

# 3. Sincronizar un backup con Reactive Resume
RXRESUME_API_KEY=tu-api-key python scripts/rxresume_sync.py rafnix-guzman-python-en.json

# 4. Importar un backup JSON; si el slug ya existe, hace sync automaticamente
RXRESUME_API_KEY=tu-api-key python scripts/rxresume_import.py rafnix-guzman-python-en.json

Flujo recomendado

  1. Edita public/resume.json si quieres cambiar la pagina principal basada en JSON Resume.
  2. Edita backups/rafnix-guzman-python.json o backups/rafnix-guzman-python-en.json si quieres cambiar los resumes de Reactive Resume.
  3. Ejecuta python scripts/rxresume_import.py <archivo>.json o python scripts/rxresume_sync.py <archivo>.json para subir esos cambios.
  4. Ejecuta python scripts/rxresume_export.py para regenerar public/.

Despliegue

El despliegue se ejecuta manualmente desde GitHub Actions:

  1. Ejecutar workflow desde Actions -> "Sync resumes from Reactive Resume" -> Run workflow
  2. Backup: Descarga los resumes desde la API de rxresume
  3. Export: Genera HTML, descarga PDF/PNG, inyecta analytics, crea sitemap
  4. Commit & Push: Sube los cambios a backups/ y public/
  5. GitHub Pages: Sirve public/ como sitio estatico

Configuracion del repositorio

  1. Agrega el secret RXRESUME_API_KEY:
    • Settings -> Secrets and variables -> Actions -> New repository secret
  2. Configura GitHub Pages:
    • Settings -> Pages -> Source: Deploy from branch -> main / public

Licencia

Este proyecto esta bajo la Licencia MIT - ver el archivo LICENSE para mas detalles.


Desarrollado por Rafnix Gabriel Guzman Garcia | Python Backend | AI Engineer | Odoo Developer

About

Resume CV website

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors