一种用于使用JSON构建简历并创建时尚HTML/PDF文件的工具包。
JSONCV包括以下组件:
有关深入的解释和使用指南,请参阅下面的文档。
JSONCV使用JSON模式为CVS创建基于JSON的标准。
JSONCV中使用的模式是JSON简历模式的叉子,具有以下差异:
JSON模式版本
JSON RESUME使用过时的草稿版本,而JSONCV使用当前的草稿-07。为了确保与Draft-07的兼容性,所有additionalItems的实例已被删除。
附加的sideProjects部分
JSONCV包括一个名为sideProjects的其他部分,该部分允许区分侧面项目和职业项目
meta部分中的其他name属性
JSONCV在meta部分中包含一个name属性,该属性允许用户指定导出的HTML/PDF文件所需的名称。
这些差异不会影响JSONCV和JSON简历之间的兼容性。这意味着您可以轻松地将JSON恢复数据导入JSONCV,反之亦然,因为JSONCV数据将通过JSON简历架构的验证。
可以在此处查看JSON简历模式与JSONCV模式之间的完整差异

JSONCV配备了一个在线编辑器,该编辑器提供了用于创建和编辑JSONCV数据的图形用户界面。请访问https://jsoncv.reorx.com/editor/。
编辑器由从左到右的三个窗格组成:
侧边栏
允许导航到架构表格中的不同部分,并提供诸如“下载HTML”和“上传数据”之类的操作
模式形式
让您编辑简历数据的属性。您还可以选择要显示或隐藏的属性。
预览
显示渲染的CV HTML,因为以模式形式进行更改。
JSONCV的核心产品是CV HTML,它是您的JSONCV数据的HTML表示。这是一个紧凑的单文件HTML文档,可以转换为PDF或在线托管以创建静态CV网站。
CV HTML的设计具有特定的布局,可以在A4纸上显示CV。 CSS经过量身定制以优化打印,确保最佳排版是在纸上打印还是保存为PDF。因此,CV HTML最适合创建专业或学术的简历/简历,而不是创造性或互动性投资组合网站。
CV HTML支持主题,可以在src/themes目录中找到。
要获取CV HTML,请参阅导出CV数据和HTML并在本地构建HTML
转换器是脚本,可帮助用户将JSONCV数据从/转换为其他来源。
当前,只有一个可用的转换器: rxresume-to-jsoncv.js ,它将导出的数据从rxresume转换为JSONCV格式。
如果您有其他要求,请随时提交问题。拉力请求也非常感谢。
建议使用在线编辑器编写简历。但是,如果您对JSON感到满意,则可以使用本地计算机上的文本编辑器维护数据文件。
首次打开编辑器时,加载了示例数据。您可以编辑它,也可以单击“新数据”按钮以从一个空表单开始。每次更改时,您的简历数据都会保存在浏览器中,因此您不必担心失去工作。
如果您已经拥有简历数据的本地副本,则可以单击“上传数据”按钮将其加载到编辑器中。
完成编辑后,您可以单击下载JSON按钮以JSON格式导出简历数据。
如果要在预览窗格中导出渲染的HTML,只需单击下载HTML按钮。
请注意,您可以通过添加meta.name属性来命名导出的文件。如果未指定,则将使用basics.name和meta.version的组合来构建文件名。
为了保持简单,JSONCV不包括或使用任何外部工具来生成PDF。相反,您应该使用生成的HTML文件将其转换为PDF文档。唯一的要求是现代浏览器;下面的步骤以Google Chrome为例:
打开Chrome中生成的HTML文件。
按⌘P (或Windows中的P ),然后打开打印对话框。
在对话框中,选择“目标”为“另存为pdf”,并确保“选项”中的所有项目都没有选中。

单击“保存”以将PDF文件保存在您的文件系统中。
请注意,从Chrome导出的PDF可能会在文本复制方面存在一些问题。有关更多信息,请参见FAQ部分。
JSONCV使用VITE作为其静态站点构建工具。项目根目录中的index.html文件是用于购买单文件CV HTML的入口点。
以下是使用您自己的数据构建CV HTML的步骤:
确保您使用的是Nodejs版本18或更高版本。
通过运行安装依赖项: npm run install
通过指定DATA_FILENAME和OUT_DIR环境变量来构建CV HTML:
DATA_FILENAME="$HOME/Downloads/mycv/cv.json" OUT_DIR="$HOME/Downloads/mycv" npm run build
这将使用位于$HOME/Downloads/mycv/cv.json数据文件构建您的CV HTML,生成的HTML将位于$HOME/Downloads/mycv目录中。
在构建过程中支持以下环境变量:
DATA_FILENAME :要使用的CV数据可以是相对路径或绝对路径。OUT_DIR :生成的HTML文件的输出目录。THEME :要使用的主题必须是src/themes/中的目录名称之一。要自定义主题的主要颜色,请在index.scss中修改 - 原色CSS变量。请注意,进行此更改将导致GIT的分类变化。如果您想自己构建HTML,建议您创建一个新项目,而不是在JSONCV中编辑源代码。有关如何执行此操作的说明,请参考构建静态简历站点部分。
生成的index.html文件可以在任何地方和任何托管平台上使用。只需将其上传到Web服务器,您将拥有自己的在线简历网站。内置主题“ Reorx”还包括对移动设备的响应支持。
但是,如果您需要额外的自定义,例如https://cv.reorx.com/具有带有链接到PDF文件和作者主页的页脚的CV网站,您可以按照以下步骤操作:
创建一个空存储库
将JSONCV添加为子模块
git submodule add https://github.com/reorx/jsoncv.git
将您的简历数据文件(例如cv.json )放在项目中。
通过运行npm init初始化package.json 。
通过运行npm i ./jsoncv将JSONCV作为依赖性安装。
将./jsoncv/package.json的scripts和devDependencies复制到package.json ,然后运行npm i以安装它们。
复制./jsoncv/vite.json.js to vite.json.js并进行以下更改:
./src的所有实例更改为./jsoncv/src 。dataFilename的值更改为CV数据文件,例如cv.json 。renderData.theme更改为您要使用的主题。复制./jsoncv/index.html到index.html ,然后将./src的所有实例更改为./jsoncv/src 。然后将./jsoncv/index.scss复制到index.scss 。
运行npm run build以测试一切是否有效。
完成这些步骤后,您现在可以将自己的元素和样式添加到index.html和index.scss ,以进一步自定义您的简历网站。您可以使用HTML,CSS和JavaScript将自己的品牌,布局和功能添加到网站上。
JSONCV包含几个内置主题,您可以直接在编辑器中或构建静态简历站点时使用它们。如果您想创建自己的自定义主题,这是:
主题的文件系统层次结构如下:
src/themes
└── reorx
├── index.ejs
└── index.scss
您可以通过使用index.ejs和index.scss src/themes创建一个新文件夹来添加自己的主题。
index.ejs是用于构造简历内容的EJS模板。传递给模板的数据的结构如下:
cv :符合JSONCV模式的整个JSONCV数据fn :一组实用程序功能getCVTitle :从cv数据获取简历标题reformatDate :将日期字符串转换为指定格式getIconSVG :从图标名称中获取Iconify SVG字符串或DOM元素noSchemaURL :删除URL的架构( https:// )前缀有关更多信息,请参见SRC/主题/DATA.JS中的完整定义。
创建一个新主题后(让我们以yourtheme为例),您可以通过运行以下代码开始开发和预览它:
THEME=yourtheme npm run dev-site
始终欢迎添加新主题的拉动请求。
您可以将主题命名为您自己的名字,这就是我为主题“ Reorx”所做的。因为我认为这个主题与开发人员的美学和个人品味紧密绑定,并且常用词可能不能准确地代表主题。
是的,这是Chrome的“保存为PDF”功能的已知问题。生成的PDF可以具有在MacOS上复制的文本。

该问题已由几个用户报告,并非针对JSONCV。如下所示:“另存为pdf”产生带有向后文本的文档。 -Google Chrome社区
解决方案:使用Firefox或Safari获取PDF
请参阅JavaScript是否保证对象属性订单? - 堆叠溢出
summary和description属性中的标记如果没有这些出色的项目,则无法使JSONCV成为可能:
如果您认为这个项目可以使用或节省一些时间,请考虑给我喝杯咖啡:)