RenderCV允许您从YAML输入文件创建高质量的PDF简历。它支持Markdown语法,并让您完全控制$\LaTeX$代码。
RenderCV的主要动机是提供一个具体的框架,允许:
- 以有组织的方式分别对简历的内容和设计进行版本控制。
- 构建一个自动化流程,在内容修改时更新最终输出(PDF、$\LaTeX$、Markdown、HTML和PNG)。
- 使简历设计统一且结构良好,不留人为错误的余地。
RenderCV提供内置的$\LaTeX$和Markdown模板,可以直接生成高质量的简历。但是,这些模板完全是任意的,可以轻松更新以利用RenderCV的功能,使用自定义简历主题。
RenderCV接受一个类似这样的YAML文件:
cv:
name: 张三
location: 您的位置
email: youremail@yourdomain.com
sections:
这是一个部分标题:
- 这是一种条目类型,TextEntry——只是一个普通字符串。
- 在一个部分下,您可以拥有任意多的条目。
- RenderCV提供各种条目类型,如TextEntry、
BulletEntry、EducationEntry、ExperienceEntry、NormalEntry、
OneLineEntry、PublicationEntry。
- 每种条目类型都有自己的属性集和不同的
外观。
我的教育部分:
- institution: 博斯普鲁斯大学
area: 机械工程
degree: 理学学士
start_date: 2024-09
end_date: 2029-05
highlights:
- 'GPA: 3.9/4.0 ([成绩单](https://example.com))'
- '**课程:** 结构分析、热力学、
热传导'
经验:
...
然后,它会生成这些PDF之一,以及相应的$\LaTeX$代码、Markdown文件、HTML文件和PNG图像。以下每个都是RenderCV 4个内置主题之一的示例。点击下方图片预览PDF文件。
HTML文件的内容可以粘贴到Grammarly或任何文字处理器中进行拼写和语法检查。
它还会验证输入文件。如果有任何问题,它会告诉用户问题所在以及如何修复。
RenderCV附带一个JSON Schema,因此可以交互式地填写YAML输入文件。
快速入门指南
可以使用rendercv-pipeline或按照以下步骤操作。
- 安装Python(3.10或更新版本)。
- 在终端中运行以下命令安装RenderCV。
pip install rendercv
- 运行以下命令生成起始输入文件。
rendercv new "全名"
- 在您喜欢的编辑器中编辑
全名_CV.yaml
的内容(提示:使用支持JSON Schema的编辑器)。 - 运行以下命令生成您的简历。
rendercv render 全名_CV.yaml
这里,您可以找到一个全面的用户指南,详细介绍了YAML输入文件结构和命令行界面(CLI)。
动机
编写简历内容和设计简历是应该分开处理的两个问题。RenderCV试图提供这种分离。这种方法鼓励用户专注于内容,而不被简历的外观分散注意力,反之亦然。
RenderCV还提供了一套实用工具,可以自动化简历更新过程中的大部分手动工作。在YAML输入文件中更新单个句子或日期后,RenderCV将:
- 重新创建您的$\LaTeX$文件,
- 渲染新的PDF文件,
- 创建新的Markdown文件,
- 创建新的HTML文档,以及
- 将PDF文件的每一页创建为PNG图像。
为什么要使用RenderCV而不是$\LaTeX$?我也可以对$\LaTeX$代码进行版本控制!
RenderCV不是$\LaTeX$的替代品。它是一套设计用于创建和管理$\LaTeX$简历的实用工具。如果您目前正在使用$\LaTeX$创建简历,您应该尝试RenderCV。在RenderCV中使用您现有的$\LaTeX$主题非常容易。
RenderCV相比纯$\LaTeX$的优势:
- RenderCV将简历的内容与$\LaTeX$代码分开。它们将存储在独立的文件中,RenderCV将使用两者来生成您的简历。
- 您将能够分别对$\LaTeX$代码和内容进行版本控制。
- 在YAML文件中更新内容比更新复杂的$\LaTeX$文件更容易。
- 纯$\LaTeX$简历会有很多代码重复,因为简历是一个包含部分列表和条目列表的文档。RenderCV对每种条目类型只有一个$\LaTeX$代码,根据YAML输入文件自动复制。
- 在$\LaTeX$文档中进行拼写检查并不是很直接。
文档
贡献
欢迎对RenderCV的所有贡献!要开始,请阅读开发者指南。