Um kit de ferramentas para criar seu currículo com JSON e criar arquivos html/pdf elegantes.
O JSONCV compreende os seguintes componentes:
Para explicações detalhadas e diretrizes de uso, consulte a documentação abaixo.
O JSONCV usa o esquema JSON para criar padrão baseado em JSON para CVS.
O esquema usado no JSONCV é um bifurcação do esquema de currículo JSON, com as seguintes diferenças:
Versão do esquema JSON
O JSON Resume utiliza a versão desatualizada do rascunho-04, enquanto o JSONCV usa o draft-07 atual. Para garantir a compatibilidade com o rascunho-07, todas as instâncias de additionalItems foram removidas.
Seção Adicional sideProjects
O JSONCV inclui uma seção adicional, chamada sideProjects , que permite a distinção entre projetos paralelos e projetos de carreira
Propriedade name adicional na seção meta
O JSONCV inclui uma propriedade name na seção meta , que permite ao usuário especificar o nome desejado para arquivos HTML/PDF exportados.
Essas diferenças não afetam a compatibilidade entre o retomado JSONCV e JSON. Isso significa que você pode importar facilmente os dados do JSON para o JSONCV e o vice -versa, pois os dados do JSONCV passarão a validação do esquema de currículo JSON.
O diferencial completo entre o esquema de currículo JSON e o esquema JSONCV pode ser visto aqui

O JSONCV vem com um editor online que fornece uma interface gráfica do usuário para criar e editar seus dados JSONCV. Visite -o em https://jsonncv.reorx.com/editor/.
O editor é composto por três painéis, da esquerda para a direita:
Barra lateral
Permite a navegação para diferentes seções no formulário de esquema e fornece operações como "Download HTML" e "Upload Data"
Formulário de esquema
Permite editar as propriedades dos seus dados do CV. Você também pode selecionar quais propriedades exibir ou ocultar.
Visualização
Exibe o CV renderizado HTML como alterações são feitas no formulário de esquema.
O principal produto do JSONCV é o CV HTML, que é a representação HTML dos seus dados JSONCV. É um documento HTML compacto e de arquivo único que pode ser convertido em PDF ou hospedado on-line para criar um site estático de currículo.
O CV HTML foi projetado com um layout específico para exibir um CV em uma folha de papel A4. O CSS foi adaptado para otimizar a impressão, garantindo a melhor tipografia impressa em papel ou salva como um PDF. Portanto, o CV HTML é mais adequado para a criação de currículos/currículos profissionais ou acadêmicos, em vez de sites de portfólio criativos ou interativos.
O CV HTML suporta temas, que podem ser encontrados no diretório src/themes .
Para obter CV HTML, consulte a exportação de dados CV e HTML e construa HTML localmente
Os conversores são scripts para ajudar o usuário a converter dados JSONCV de/para outras fontes.
Atualmente, existe apenas um conversor disponível: rxresume-to-jsoncv.js , que converte os dados exportados do RXRESUME no formato JSONCV.
Se você tiver algum requisito adicional, sinta -se à vontade para enviar um problema. Os pedidos de tração também são muito apreciados.
Recomenda -se escrever seu currículo usando o editor online. No entanto, se você se sentir confortável com o JSON, poderá manter o arquivo de dados usando um editor de texto em sua máquina local.
Quando você abre o editor pela primeira vez, um exemplo de dados é carregado. Você pode editá -lo ou clicar no botão "Novos dados" para iniciar com um formulário vazio. Seus dados do CV são salvos no seu navegador toda vez que você faz uma alteração, para não precisar se preocupar em perder seu trabalho.
Se você já possui uma cópia local dos seus dados do CV, clique no botão "Upload de dados" para carregá -los no editor.
Depois de terminar a edição, você pode clicar no botão JSON para exportar seus dados CV no formato JSON.
Se você deseja exportar o HTML renderizado no painel de visualização, basta clicar no botão Baixar HTML .
Observe que você pode nomear os arquivos exportados adicionando a propriedade meta.name . Se não for especificado, o nome do arquivo será construído usando uma combinação de basics.name e meta.version .
Para simplificar as coisas, o JSONCV não inclui ou usa ferramentas externas para gerar PDFs. Em vez disso, você deve usar o arquivo HTML gerado para convertê -lo em um documento PDF. O único requisito é um navegador moderno; As etapas abaixo usam o Google Chrome como exemplo:
Abra o arquivo HTML gerado no Chrome.
Pressione ⌘ p (ou ⌃ p nas janelas) e a caixa de diálogo de impressão será aberta.
Na caixa de diálogo, selecione "Destino" como "Salvar como PDF" e verifique se todos os itens em "Opções" estão desmarcados.

Clique em "Salvar" para salvar o arquivo PDF no seu sistema de arquivos.
Observe que o PDF exportado do Chrome pode ter alguns problemas com a cópia de texto. Para mais informações, consulte a seção de perguntas frequentes.
O JSONCV usa o Vite como sua ferramenta de construção no local estático. O arquivo index.html na raiz do projeto é o ponto de entrada para a compra de um HTML CV de arquivo único.
Aqui estão as etapas para criar um CV HTML usando seus próprios dados:
Certifique -se de estar usando o NodeJS versão 18 ou superior.
Instale as dependências em execução: npm run install
Construa seu CV HTML especificando DATA_FILENAME e OUT_DIR AIMBORAL VARIÁVEIS:
DATA_FILENAME="$HOME/Downloads/mycv/cv.json" OUT_DIR="$HOME/Downloads/mycv" npm run build
Isso criará seu CV HTML usando o arquivo de dados localizado em $HOME/Downloads/mycv/cv.json , e o HTML gerado estará localizado no diretório $HOME/Downloads/mycv .
As seguintes variáveis de ambiente são suportadas no processo de construção:
DATA_FILENAME : os dados do CV a serem usados podem ser um caminho relativo ou absoluto.OUT_DIR : o diretório de saída para o arquivo HTML gerado.THEME : O tema a ser usado, deve ser um dos nome do diretório no src/themes/ .Para personalizar a cor primária do tema, modifique a variável CSS -Primary-Color em index.scss. Observe que fazer essa alteração resultará em alterações não agendadas no Git. Se você deseja criar o HTML, é recomendável criar um novo projeto em vez de editar o código -fonte no JSONCV. Para obter instruções sobre como fazer isso, consulte a seção Build a Static CV Site.
O arquivo index.html gerado pode ser usado em qualquer lugar e em qualquer plataforma de hospedagem. Basta carregá -lo para um servidor da Web e você terá seu próprio site de CV online. O tema interno "Reorx" também inclui suporte responsivo para dispositivos móveis.
No entanto, se você deseja personalização extra, como o site CV em https://cv.reorx.com/, que possui um rodapé com links para o arquivo PDF e a página inicial do autor, você pode seguir estas etapas:
Crie um repositório vazio
Adicione o JSONCV como o submódulo
git submodule add https://github.com/reorx/jsoncv.git
Coloque seu arquivo de dados CV, por exemplo, cv.json , no projeto.
Initialize package.json executando npm init .
Instale o JSONCV como uma dependência executando npm i ./jsoncv .
Copie os scripts e devDependencies de ./jsoncv/package.json para package.json e execute npm i para instalá -los.
Copy ./jsoncv/vite.json.js para vite.json.js e faça as seguintes alterações:
./src para ./jsoncv/src .dataFilename para o seu arquivo de dados CV, por exemplo, cv.json .renderData.theme para o tema que você deseja usar. Copy ./jsoncv/index.html para index.html e altere todas as instâncias de ./src para ./jsoncv/src . Em seguida, copie ./jsoncv/index.scss para index.scss .
Execute npm run build para testar se tudo funcionar.
Depois de concluir essas etapas, agora você pode adicionar seus próprios elementos e estilos ao index.html e index.scss para personalizar ainda mais o site do CV. Você pode usar HTML, CSS e JavaScript para adicionar sua própria marca, layout e funcionalidade ao site.
O JSONCV inclui vários temas embutidos que você pode usar diretamente no editor ou ao criar o local estático do CV. Se você deseja criar seu próprio tema personalizado, aqui está como:
A hierarquia do sistema de arquivos para temas é a seguinte:
src/themes
└── reorx
├── index.ejs
└── index.scss
Você pode adicionar seu próprio tema criando uma nova pasta no src/themes com arquivos index.ejs e index.scss .
index.ejs é um modelo EJS usado para construir o conteúdo de CV. Os dados que são passados para o modelo são estruturados da seguinte forma:
cv : todos os dados do JSONCV que estão em conformidade com o esquema JSONCVfn : Um conjunto de funções de utilidadegetCVTitle : obtém o título do CV dos dados cvreformatDate : transforma uma string de data em um formato especificadogetIconSVG : obtém a string svg svg ou o elemento DOM do iconify do nome do íconenoSchemaURL : Remova o prefixo do esquema ( https:// ) do URLPara obter mais informações, consulte a definição completa no SRC/temas/data.js.
Depois de criar um novo tema (vamos usar yourtheme como exemplo), você pode começar a desenvolvê -lo e visualizá -lo executando o seguinte código:
THEME=yourtheme npm run dev-site
Pull Pedidos para adicionar novos temas são sempre bem -vindos.
Você pode nomear o tema após seu próprio nome, foi isso que eu fiz para o tema "Reorx". Porque eu acho que esse tema está fortemente ligado à estética e do gosto pessoal do desenvolvedor, e as palavras comuns podem não representar com precisão o tema.
Sim, este é um problema conhecido com o recurso "Save como PDF" do Chrome. Os PDFs resultantes podem ter texto que é para trás quando copiado no visualize.app no macOS.

Este problema foi relatado por vários usuários e não é específico para o JSONCV. Como visto em: "Salvar como PDF" produz documentos com texto para trás. - Comunidade do Google Chrome
Solução: Use Firefox ou Safari para obter o PDF
Veja Javascript garante a ordem da propriedade do objeto? - Pilha estouro
summary e description O JSONCV não pôde ser possível sem esses projetos incríveis abaixo:
Se você acha que este projeto é agradável de usar ou salva algum tempo, considere me dar uma xícara de café :)