Un conjunto de herramientas para construir su CV con JSON y crear elegantes archivos HTML/PDF.
JSONCV comprende los siguientes componentes:
Para obtener explicaciones en profundidad y pautas de uso, consulte la documentación a continuación.
JSONCV Use el esquema JSON para crear un estándar basado en JSON para CVS.
El esquema utilizado en JSONCV es una bifurcación del esquema de currículum JSON, con las siguientes diferencias:
Versión de esquema JSON
El currículum de JSON utiliza la versión de Draft-04 obsoleta, mientras que JSONCV usa el Draft-07 actual. Para garantizar la compatibilidad con Draft-07, se han eliminado todas las instancias de additionalItems .
Sección adicional sideProjects
JSONCV incluye una sección adicional, llamada sideProjects , que permite la distinción entre proyectos secundarios y proyectos profesionales
Propiedad name adicional en meta sección
JSONCV incluye una propiedad name en la sección meta , que permite al usuario especificar el nombre deseado para los archivos HTML/PDF exportados.
Estas diferencias no afectan la compatibilidad entre el currículum JSONCV y JSON. Esto significa que puede importar fácilmente los datos de reanudación JSON en JSONCV y viceversa, ya que los datos de JSONCV pasarán la validación del esquema de currículum JSON.
La diferencia completa entre el esquema de currículum JSON y el esquema JSONCV se puede ver aquí

JSONCV viene con un editor en línea que proporciona una interfaz gráfica de usuario para crear y editar sus datos JSONCV. Visítelo en https://jsoncv.reorx.com/editor/.
El editor consta de tres paneles, de izquierda a derecha:
Barra lateral
Permite la navegación a diferentes secciones en el formulario de esquema y proporciona operaciones como "descargar html" y "cargar datos"
Formulario de esquema
Le permite editar las propiedades de sus datos CV. También puede seleccionar qué propiedades mostrar u ocultar.
Avance
Muestra el CV HTML renderizado a medida que se realizan cambios en el formulario de esquema.
El producto central de JSONCV es CV HTML, que es la representación HTML de sus datos JSONCV. Es un documento HTML compacto de un solo archivo que se puede convertir a PDF o alojado en línea para crear un sitio web CV estático.
CV HTML está diseñado con un diseño específico para mostrar un CV en una hoja de papel A4. El CSS se ha adaptado para optimizar la impresión, asegurando la mejor tipografía, ya sea impresa en papel o guardada como PDF. Por lo tanto, CV HTML es el más adecuado para crear CV/currículums profesionales o académicos, en lugar de sitios web de cartera creativos o interactivos.
CV HTML admite temas, que se pueden encontrar en el directorio src/themes .
Para obtener CV HTML, consulte Exportar datos CV y HTML y construir HTML localmente
Los convertidores son scripts para ayudar al usuario a convertir los datos de JSONCV de/a otras fuentes.
Actualmente, solo hay un convertidor disponible: rxresume-to-jsoncv.js , que convierte los datos exportados de rxresume en formato JSONCV.
Si tiene algún requisito adicional, no dude en enviar un problema. Las solicitudes de extracción también son muy apreciadas.
Se recomienda escribir su CV usando el editor en línea. Sin embargo, si se siente cómodo con JSON, puede mantener el archivo de datos utilizando un editor de texto en su máquina local.
Cuando abre el editor por primera vez, se cargan datos de muestra. Puede editarlo o hacer clic en el botón "Nuevos datos" para comenzar con un formulario vacío. Sus datos de CV se guarda en su navegador cada vez que realiza un cambio, por lo que no tiene que preocuparse por perder su trabajo.
Si ya tiene una copia local de sus datos CV, puede hacer clic en el botón "Cargar datos" para cargarla en el editor.
Una vez que haya terminado de editar, puede hacer clic en el botón Descargar JSON para exportar sus datos CV en formato JSON.
Si desea exportar el HTML renderizado en el panel de vista previa, simplemente haga clic en el botón Descargar HTML .
Tenga en cuenta que puede nombrar los archivos exportados agregando la propiedad meta.name . Si no se especifica, el nombre de archivo se construirá utilizando una combinación de basics.name y meta.version .
Para mantener las cosas simples, JSONCV no incluye ni utiliza ninguna herramienta externa para generar PDF. En su lugar, debe usar el archivo HTML generado para convertirlo en un documento PDF. El único requisito es un navegador moderno; Los pasos a continuación usan Google Chrome como ejemplo:
Abra el archivo HTML generado en Chrome.
Presione ⌘ P (o ⌃ P en Windows), y el cuadro de diálogo de impresión se abrirá.
En el cuadro de diálogo, seleccione "Destino" como "Guardar como PDF" y asegúrese de que todos los elementos en "Opciones" no se controlen.

Haga clic en "Guardar" para guardar el archivo PDF en su sistema de archivos.
Tenga en cuenta que el PDF exportado desde Chrome puede tener algunos problemas con la copia de texto. Para obtener más información, consulte la sección Preguntas frecuentes.
JSONCV usa Vite como su herramienta de construcción del sitio estático. El archivo index.html en la raíz del proyecto es el punto de entrada para acumular un CV HTML de un solo archivo.
Estos son los pasos para construir un CV HTML utilizando sus propios datos:
Asegúrese de estar utilizando NodeJS versión 18 o superior.
Instale las dependencias en ejecución: npm run install
Construya su CV HTML especificando DATA_FILENAME y OUT_DIR Englay Variables:
DATA_FILENAME="$HOME/Downloads/mycv/cv.json" OUT_DIR="$HOME/Downloads/mycv" npm run build
Esto construirá su CV HTML utilizando el archivo de datos ubicado en $HOME/Downloads/mycv/cv.json , y el HTML generado se ubicará en el directorio $HOME/Downloads/mycv .
Las siguientes variables de entorno son compatibles en el proceso de compilación:
DATA_FILENAME : los datos de CV a usar pueden ser una ruta relativa o absoluta.OUT_DIR : el directorio de salida para el archivo HTML generado.THEME : El tema a usar debe ser uno de los nombres de directorio en src/themes/ .Para personalizar el color primario del tema, modifique la variable CSS-color -primary en index.scss. Tenga en cuenta que hacer este cambio dará como resultado cambios no destacados en GIT. Si desea construir el HTML usted mismo, se recomienda que cree un nuevo proyecto en lugar de editar el código fuente en JSONCV. Para obtener instrucciones sobre cómo hacer esto, consulte la sección Builic de un sitio CV estático.
El archivo index.html generado se puede usar en cualquier lugar y en cualquier plataforma de alojamiento. Simplemente suba a un servidor web, y tendrá su propio sitio CV en línea. El tema incorporado "Reorx" también incluye soporte receptivo para dispositivos móviles.
Sin embargo, si desea personalización adicional, como el sitio CV en https://cv.reorx.com/ que tiene un pie de página con enlaces al archivo PDF y la página de inicio del autor, puede seguir estos pasos:
Crear un repositorio vacío
Agregue JSONCV como submódulo
git submodule add https://github.com/reorx/jsoncv.git
Ponga su archivo de datos CV, por ejemplo cv.json , en el proyecto.
Inicializar package.json ejecutando npm init .
Instale JSONCV como dependencia ejecutando npm i ./jsoncv .
Copie los scripts y devDependencies de ./jsoncv/package.json a package.json , y luego ejecute npm i para instalarlos.
Copiar ./jsoncv/vite.json.js a vite.json.js y hacer los siguientes cambios:
./src a ./jsoncv/src .dataFilename a su archivo de datos CV, por ejemplo, cv.json .renderData.theme al tema que desea usar. Copie ./jsoncv/index.html a index.html y cambie todas las instancias de ./src a ./jsoncv/src . Luego copie ./jsoncv/index.scss a index.scss .
Ejecute npm run build para probar si todo funciona.
Después de completar estos pasos, ahora puede agregar sus propios elementos y estilos a index.html e index.scss para personalizar aún más su sitio web de CV. Puede usar HTML, CSS y JavaScript para agregar su propia marca, diseño y funcionalidad al sitio.
JSONCV incluye varios temas incorporados que puede usar directamente en el editor o al construir el sitio CV estático. Si desea crear su propio tema personalizado, así es como:
La jerarquía del sistema de archivos para los temas es la siguiente:
src/themes
└── reorx
├── index.ejs
└── index.scss
Puede agregar su propio tema creando una nueva carpeta en src/themes con los archivos index.ejs e index.scss .
index.ejs es una plantilla EJS utilizada para construir el contenido de CV. Los datos que se pasan a la plantilla se estructuran de la siguiente manera:
cv : todos los datos de JSONCV que se ajustan al esquema JSONCVfn : un conjunto de funciones de utilidadgetCVTitle : obtiene el título de CV de los datos cvreformatDate : transforma una cadena de fecha en un formato especificadogetIconSVG : obtiene la cadena SVG iconify o el elemento DOM desde el nombre del icononoSchemaURL : elimine el esquema ( https:// ) prefijo de la URLPara obtener más información, consulte la definición completa en SRC/themes/data.js.
Una vez que haya creado un nuevo tema (usemos yourtheme como ejemplo), puede comenzar a desarrollarlo y previsualizarlo ejecutando el siguiente código:
THEME=yourtheme npm run dev-site
Las solicitudes de extracción para agregar nuevos temas siempre son bienvenidas.
Puede nombrar el tema después de su propio nombre, esto es lo que hice para el tema "Reorx". Porque creo que ese tema está estrechamente vinculado al gusto estético y personal del desarrollador, y las palabras comunes pueden no representar con precisión el tema.
Sí, este es un problema conocido con la función "Save as PDF" de Chrome. Los PDF resultantes pueden tener un texto que está al revés cuando se copia en Preview.App en MacOS.

Este problema ha sido informado por varios usuarios y no es específico de JSONCV. Como se ve en: "Guardar como PDF" produce documentos con texto hacia atrás. - Comunidad de Google Chrome
Solución: use Firefox o Safari para obtener el PDF
Ver ¿JavaScript garantiza la orden de la propiedad del objeto? - Overflow de pila
summary y description JSONCV no podría ser posible sin estos increíbles proyectos a continuación:
Si cree que este proyecto es agradable de usar o ahorra algo de tiempo, considere darme una taza de café :)