rendercv
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseQuick Start
快速开始
Available themes: , , , , ,
Available locales: , , , , , , , , , , , , , , , , , , , , ,
classicharvardengineeringresumesengineeringclassicsb2novmoderncvenglisharabicdanishdutchfrenchgermanhebrewhindihungarianindonesianitalianjapanesekoreanmandarin_chinesenorwegian_bokmålnorwegian_nynorskpersianportugueserussianspanishturkishvietnameseThese are starting points — every aspect of the design and locale can be fully customized in the YAML file.
bash
undefined可用主题: , , , , ,
可用语言区域: , , , , , , , , , , , , , , , , , , , , ,
classicharvardengineeringresumesengineeringclassicsb2novmoderncvenglisharabicdanishdutchfrenchgermanhebrewhindihungarianindonesianitalianjapanesekoreanmandarin_chinesenorwegian_bokmålnorwegian_nynorskpersianportugueserussianspanishturkishvietnamese这些是初始配置——设计和语言区域的所有方面都可以在YAML文件中完全自定义。
bash
undefinedInstall RenderCV
Install RenderCV
uv tool install "rendercv[full]"
uv tool install "rendercv[full]"
Create a starter YAML file (you can specify theme and locale)
Create a starter YAML file (you can specify theme and locale)
rendercv new "John Doe"
rendercv new "John Doe" --theme moderncv --locale german
rendercv new "John Doe"
rendercv new "John Doe" --theme moderncv --locale german
Render to PDF (also generates Typst, Markdown, HTML, PNG by default)
Render to PDF (also generates Typst, Markdown, HTML, PNG by default)
rendercv render John_Doe_CV.yaml
rendercv render John_Doe_CV.yaml
Watch mode: auto-re-render whenever the YAML file changes
Watch mode: auto-re-render whenever the YAML file changes
rendercv render John_Doe_CV.yaml --watch
rendercv render John_Doe_CV.yaml --watch
Render only PNG (useful for previewing or checking page count)
Render only PNG (useful for previewing or checking page count)
rendercv render John_Doe_CV.yaml --dont-generate-pdf --dont-generate-html --dont-generate-markdown
rendercv render John_Doe_CV.yaml --dont-generate-pdf --dont-generate-html --dont-generate-markdown
Override fields from the CLI without editing the YAML
Override fields from the CLI without editing the YAML
rendercv render cv.yaml --cv.name "Jane Doe" --design.theme "moderncv"
undefinedrendercv render cv.yaml --cv.name "Jane Doe" --design.theme "moderncv"
undefinedYAML Structure
YAML结构
A RenderCV input has four sections. Only is required — the others have sensible defaults.
cvyaml
cv: # Your content: name, contact info, and all sections
design: # Visual styling: theme, colors, fonts, margins, spacing, layouts
locale: # Language: month names, phrases, translations
settings: # Behavior: output paths, bold keywords, current dateSingle file vs. separate files: All four sections can live in one YAML file, or each can be a separate file. Separate files are useful for reusing the same design/locale across multiple CVs:
bash
undefinedRenderCV的输入包含四个部分。仅部分是必填项——其他部分都有合理的默认值。
cvyaml
cv: # Your content: name, contact info, and all sections
design: # Visual styling: theme, colors, fonts, margins, spacing, layouts
locale: # Language: month names, phrases, translations
settings: # Behavior: output paths, bold keywords, current date单文件 vs 分离文件: 四个部分可以全部放在一个YAML文件中,也可以每个部分单独存为一个文件。分离文件便于在多份简历中复用相同的设计/语言区域配置:
bash
undefinedSingle self-contained file (all sections in one file)
单文件(所有部分在一个文件中)
rendercv render John_Doe_CV.yaml
rendercv render John_Doe_CV.yaml
Separate files: CV content + design + locale loaded independently
分离文件:简历内容 + 设计 + 语言区域独立加载
rendercv render cv.yaml --design design.yaml --locale-catalog locale.yaml --settings settings.yaml
When using separate files, each file contains only its section (e.g., `design.yaml` has `design:` as the top-level key). CLI-loaded files override values in the main YAML file.
The YAML maps directly to Pydantic models. The complete type-safe schema is provided below so you can understand every field, its type, and its default value.rendercv render cv.yaml --design design.yaml --locale-catalog locale.yaml --settings settings.yaml
使用分离文件时,每个文件仅包含对应的部分(例如`design.yaml`的顶层键为`design:`)。通过CLI加载的文件会覆盖主YAML文件中的对应值。
YAML结构直接映射到Pydantic模型。下方提供了完整的类型安全架构,帮助你理解每个字段、字段类型及其默认值。Pydantic Schema
Pydantic架构
The YAML input is validated against these Pydantic models.
YAML输入会根据这些Pydantic模型进行验证。
Top-Level Model
顶层模型
python
class RenderCVModel(BaseModelWithoutExtraKeys):
cv: Cv = pydantic.Field(default_factory=Cv, title='CV', description='The content of the CV.')
design: Design = pydantic.Field(default_factory=ClassicTheme, title='Design')
locale: Locale = pydantic.Field(default_factory=EnglishLocale, title='Locale Catalog')
settings: Settings = pydantic.Field(default_factory=Settings, title='RenderCV Settings', description='The settings of the RenderCV.')
python
class RenderCVModel(BaseModelWithoutExtraKeys):
cv: Cv = pydantic.Field(default_factory=Cv, title='CV', description='The content of the CV.')
design: Design = pydantic.Field(default_factory=ClassicTheme, title='Design')
locale: Locale = pydantic.Field(default_factory=EnglishLocale, title='Locale Catalog')
settings: Settings = pydantic.Field(default_factory=Settings, title='RenderCV Settings', description='The settings of the RenderCV.')
CV Content (cv
)
cv简历内容(cv
)
cvThe field is a dictionary where keys are section titles (any string you want) and values are lists of entries. Each section contains entries of the same type.
cv.sectionspython
class Cv(BaseModelWithoutExtraKeys):
name: str | None = pydantic.Field(default=None, examples=['John Doe', 'Jane Smith'])
headline: str | None = pydantic.Field(default=None, examples=['Software Engineer', 'Data Scientist', 'Product Manager'])
location: str | None = pydantic.Field(default=None, examples=['New York, NY', 'London, UK', 'Istanbul, Türkiye'])
email: pydantic.EmailStr | list[pydantic.EmailStr] | None = pydantic.Field(default=None, examples=['john.doe@example.com', ['john.doe.1@example.com', 'john.doe.2@example.com']])
photo: ExistingPathRelativeToInput | pydantic.HttpUrl | None = pydantic.Field(default=None, union_mode='left_to_right', examples=['photo.jpg', 'images/profile.png', 'https://example.com/photo.jpg'])
phone: pydantic_phone_numbers.PhoneNumber | list[pydantic_phone_numbers.PhoneNumber] | None = pydantic.Field(default=None, examples=['+1-234-567-8900', ['+1-234-567-8900', '+44 20 1234 5678']])
website: pydantic.HttpUrl | list[pydantic.HttpUrl] | None = pydantic.Field(default=None, examples=['https://johndoe.com', ['https://johndoe.com', 'https://www.janesmith.dev']])
social_networks: list[SocialNetwork] | None = pydantic.Field(default=None)
custom_connections: list[CustomConnection] | None = pydantic.Field(default=None, examples=[[{'placeholder': 'Book a call', 'url': 'https://cal.com/johndoe', 'fontawesome_icon': 'calendar-days'}]])
sections: dict[str, Section] | None = pydantic.Field(default=None, examples=[{'Experience': '...', 'Education': '...', 'Projects': '...', 'Skills': '...'}])
python
type SocialNetworkName = Literal['LinkedIn', 'GitHub', 'GitLab', 'IMDB', 'Instagram', 'ORCID', 'Mastodon', 'StackOverflow', 'ResearchGate', 'YouTube', 'Google Scholar', 'Telegram', 'WhatsApp', 'Leetcode', 'X', 'Bluesky', 'Reddit']
available_social_networks = get_args(SocialNetworkName.__value__)
class SocialNetwork(BaseModelWithoutExtraKeys):
network: SocialNetworkName = pydantic.Field()
username: str = pydantic.Field(examples=['john_doe', '@johndoe@mastodon.social', '12345/john-doe'])
python
class CustomConnection(BaseModelWithoutExtraKeys):
fontawesome_icon: str
placeholder: str
url: pydantic.HttpUrl | None
cv.sectionspython
class Cv(BaseModelWithoutExtraKeys):
name: str | None = pydantic.Field(default=None, examples=['John Doe', 'Jane Smith'])
headline: str | None = pydantic.Field(default=None, examples=['Software Engineer', 'Data Scientist', 'Product Manager'])
location: str | None = pydantic.Field(default=None, examples=['New York, NY', 'London, UK', 'Istanbul, Türkiye'])
email: pydantic.EmailStr | list[pydantic.EmailStr] | None = pydantic.Field(default=None, examples=['john.doe@example.com', ['john.doe.1@example.com', 'john.doe.2@example.com']])
photo: ExistingPathRelativeToInput | pydantic.HttpUrl | None = pydantic.Field(default=None, union_mode='left_to_right', examples=['photo.jpg', 'images/profile.png', 'https://example.com/photo.jpg'])
phone: pydantic_phone_numbers.PhoneNumber | list[pydantic_phone_numbers.PhoneNumber] | None = pydantic.Field(default=None, examples=['+1-234-567-8900', ['+1-234-567-8900', '+44 20 1234 5678']])
website: pydantic.HttpUrl | list[pydantic.HttpUrl] | None = pydantic.Field(default=None, examples=['https://johndoe.com', ['https://johndoe.com', 'https://www.janesmith.dev']])
social_networks: list[SocialNetwork] | None = pydantic.Field(default=None)
custom_connections: list[CustomConnection] | None = pydantic.Field(default=None, examples=[[{'placeholder': 'Book a call', 'url': 'https://cal.com/johndoe', 'fontawesome_icon': 'calendar-days'}]])
sections: dict[str, Section] | None = pydantic.Field(default=None, examples=[{'Experience': '...', 'Education': '...', 'Projects': '...', 'Skills': '...'}])
python
type SocialNetworkName = Literal['LinkedIn', 'GitHub', 'GitLab', 'IMDB', 'Instagram', 'ORCID', 'Mastodon', 'StackOverflow', 'ResearchGate', 'YouTube', 'Google Scholar', 'Telegram', 'WhatsApp', 'Leetcode', 'X', 'Bluesky', 'Reddit']
available_social_networks = get_args(SocialNetworkName.__value__)
class SocialNetwork(BaseModelWithoutExtraKeys):
network: SocialNetworkName = pydantic.Field()
username: str = pydantic.Field(examples=['john_doe', '@johndoe@mastodon.social', '12345/john-doe'])
python
class CustomConnection(BaseModelWithoutExtraKeys):
fontawesome_icon: str
placeholder: str
url: pydantic.HttpUrl | None
Entry Types
条目类型
cv.sectionsShared fields — these are available on entry types that support dates and complex fields (ExperienceEntry, EducationEntry, NormalEntry, PublicationEntry):
| Field | Type | Default | Notes |
|---|---|---|---|
| | | Free-form: |
| | | Strict format: YYYY-MM-DD, YYYY-MM, or YYYY. |
| | | Same formats as |
| | | |
| | | |
| | | Bullet points. |
9 entry types:
| Entry Type | Required Fields | Optional Fields | Typical Use |
|---|---|---|---|
| ExperienceEntry | | all shared fields | Jobs, positions |
| EducationEntry | | | Degrees, schools |
| PublicationEntry | | | Papers, articles |
| NormalEntry | | all shared fields | Projects, awards |
| OneLineEntry | | — | Skills, languages |
| BulletEntry | | — | Simple bullet points |
| NumberedEntry | | — | Numbered list items |
| ReversedNumberedEntry | | — | Reverse-numbered items (5, 4, 3...) |
| TextEntry | (plain string) | — | Free-form paragraphs |
Example:
yaml
cv:
sections:
experience: # list of ExperienceEntry (detected by company + position)
- company: Google
position: Engineer
start_date: 2020-01
highlights:
- Did something impactful
skills: # list of OneLineEntry (detected by label + details)
- label: Languages
details: Python, C++
about_me: # list of TextEntry (plain strings)
- This is a free-form paragraph about me.Entries also accept arbitrary extra keys (silently ignored during rendering). A typo in a field name will NOT cause an error.
cv.sections共享字段——适用于支持日期和复杂字段的条目类型(ExperienceEntry、EducationEntry、NormalEntry、PublicationEntry):
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| | | 自由格式: |
| | | 严格格式:YYYY-MM-DD、YYYY-MM或YYYY。 |
| | | 格式与 |
| | | |
| | | |
| | | 项目符号列表。 |
9种条目类型:
| 条目类型 | 必填字段 | 可选字段 | 典型用途 |
|---|---|---|---|
| ExperienceEntry | | 所有共享字段 | 工作经历、职位 |
| EducationEntry | | | 教育经历、学校 |
| PublicationEntry | | | 论文、文章 |
| NormalEntry | | 所有共享字段 | 项目、奖项 |
| OneLineEntry | | — | 技能、语言 |
| BulletEntry | | — | 简单项目符号 |
| NumberedEntry | | — | 编号列表项 |
| ReversedNumberedEntry | | — | 反向编号项(5、4、3...) |
| TextEntry | (纯字符串) | — | 自由格式段落 |
示例:
yaml
cv:
sections:
experience: # list of ExperienceEntry (detected by company + position)
- company: Google
position: Engineer
start_date: 2020-01
highlights:
- Did something impactful
skills: # list of OneLineEntry (detected by label + details)
- label: Languages
details: Python, C++
about_me: # list of TextEntry (plain strings)
- This is a free-form paragraph about me.条目也支持任意额外键(渲染时会被忽略)。字段名称拼写错误不会导致报错。
Design (design
)
design设计(design
)
designAll built-in themes share the same structure — they only differ in default values. See the sample designs below for every available field and its default. Set to pick a theme, then override any field.
design.theme所有内置主题共享相同的结构——仅默认值不同。查看下方示例设计,了解所有可用字段及其默认值。设置选择主题,然后可覆盖任意字段。
design.themeLocale (locale
)
locale语言区域(locale
)
localeBuilt-in locales: , , , , , , , , , , , , , , , , , , , , ,
englisharabicdanishdutchfrenchgermanhebrewhindihungarianindonesianitalianjapanesekoreanmandarin_chinesenorwegian_bokmålnorwegian_nynorskpersianportugueserussianspanishturkishvietnameseSet to a built-in locale name to use it. Override any field to customize translations. Set to any string and provide all translations for a fully custom locale.
locale.languagelanguage内置语言区域:, , , , , , , , , , , , , , , , , , , , ,
englisharabicdanishdutchfrenchgermanhebrewhindihungarianindonesianitalianjapanesekoreanmandarin_chinesenorwegian_bokmålnorwegian_nynorskpersianportugueserussianspanishturkishvietnamese设置为内置语言区域名称即可使用。可覆盖任意字段来自定义翻译。若设置为任意字符串并提供完整翻译,即可创建完全自定义的语言区域。
locale.languagelanguageSettings (settings
)
settings设置(settings
)
settingsKey fields: (list of strings to auto-bold), (override today's date), (output paths, generation flags).
bold_keywordscurrent_daterender_command.*关键字段:(自动加粗的字符串列表)、(覆盖当前日期)、(输出路径、生成标志)。
bold_keywordscurrent_daterender_command.*Important Patterns
重要注意事项
YAML quoting
YAML引号
ALWAYS quote string values that contain a colon (). This is the most common cause of invalid YAML. Highlights, titles, summaries, and any free-form text often contain colons:
:yaml
undefined包含冒号()的字符串值必须加引号。 这是YAML解析失败的最常见原因。项目要点、标题、摘要等自由格式文本通常包含冒号:
:yaml
undefinedWRONG — colon breaks YAML parsing:
WRONG — colon breaks YAML parsing:
- title: Catalytic Mechanisms: A New Approach
highlights:
- Relevant coursework: Distributed Systems, ML
- title: Catalytic Mechanisms: A New Approach
highlights:
- Relevant coursework: Distributed Systems, ML
RIGHT — wrap in double quotes:
RIGHT — wrap in double quotes:
- title: "Catalytic Mechanisms: A New Approach"
highlights:
- "Relevant coursework: Distributed Systems, ML"
Rule: if a string value contains `:`, it MUST be quoted. When in doubt, quote it.- title: "Catalytic Mechanisms: A New Approach"
highlights:
- "Relevant coursework: Distributed Systems, ML"
规则:如果字符串值包含`:`,必须加引号。不确定时,就加引号。Bullet characters
项目符号字符
The field only accepts these exact characters: , , , , , , , , . Do not use en-dash (), , , or any other character. When in doubt, omit to use the theme default.
design.highlights.bullet●•◦-◆★■—○–>*bulletdesign.highlights.bullet●•◦-◆★■—○–>*bulletPhone numbers
电话号码
Phone numbers MUST be in international format with country code (E.164). Never invent a phone number — only include one if the user provides it.
yaml
undefined电话号码必须采用带国家代码的国际格式(E.164标准)。不要编造电话号码——仅当用户提供时才添加。
yaml
undefinedWRONG:
WRONG:
phone: "(555) 123-4567"
phone: "555-123-4567"
phone: "(555) 123-4567"
phone: "555-123-4567"
RIGHT:
RIGHT:
phone: "+15551234567"
If the user provides a local number without country code, ask which country, or omit the phone field.phone: "+15551234567"
如果用户提供了不带国家代码的本地号码,请询问所属国家,或省略电话字段。Text formatting
文本格式
All text fields support inline Markdown: , , . Block-level Markdown (headers, lists, blockquotes, code blocks) is not supported. Raw Typst commands and math () also pass through.
**bold***italic*[link text](url)$$f(x)$$所有文本字段支持行内Markdown:、、。不支持块级Markdown(标题、列表、块引用、代码块)。原始Typst命令和数学公式()也会被直接传递。
**bold***italic*[link text](url)$$f(x)$$Date handling
日期处理
- and
date/start_dateare mutually exclusive. Ifend_dateis provided,dateandstart_dateare ignored.end_date - If only is given,
start_datedefaults toend_date."present" - /
start_daterequire strict formats: YYYY-MM-DD, YYYY-MM, or YYYY.end_date - is flexible: accepts any string ("Fall 2023") in addition to date formats.
date
- 与
date/start_date互斥。如果提供了end_date,则date和start_date会被忽略。end_date - 如果仅提供,
start_date默认值为end_date。"present" - /
start_date要求严格格式:YYYY-MM-DD、YYYY-MM或YYYY。end_date - 格式灵活:除日期格式外,还接受任意字符串(如"Fall 2023")。
date
Section titles
章节标题
- keys auto-capitalize:
snake_case→ "Work Experience"work_experience - Keys with spaces or uppercase are used as-is.
- 蛇形命名()的键会自动大写:
snake_case→ "Work Experience"work_experience - 包含空格或大写字母的键会原样使用。
Publication authors
论文作者
Use (single asterisks, italic) to highlight the CV owner in author lists.
*Name*使用(单星号,斜体)在作者列表中突出显示简历所有者。
*Name*Nested highlights (sub-bullets)
嵌套项目要点(子项目符号)
yaml
highlights:
- Main bullet point
- Sub-bullet 1
- Sub-bullet 2yaml
highlights:
- Main bullet point
- Sub-bullet 1
- Sub-bullet 2CLI Reference
CLI参考
rendercv new "Full Name"
rendercv new "Full Name"rendercv new "Full Name"
rendercv new "Full Name"Generate a starter YAML file.
| Option | Short | What it does |
|---|---|---|
| Theme to use (default: | |
| Locale to use (default: | |
| Also create editable Typst template files for full design control |
生成初始YAML文件。
| 选项 | 短选项 | 功能 |
|---|---|---|
| 使用的主题(默认: | |
| 使用的语言区域(默认: | |
| 同时创建可编辑的Typst模板文件,实现完全设计控制 |
rendercv render <input.yaml>
rendercv render <input.yaml>rendercv render <input.yaml>
rendercv render <input.yaml>Generate PDF, Typst, Markdown, HTML, and PNG from a YAML file.
| Option | Short | What it does |
|---|---|---|
| | Re-render automatically when the YAML file changes |
| | Suppress all output messages |
| | Load design section from a separate YAML file |
| | Load locale section from a separate YAML file |
| | Load settings section from a separate YAML file |
| | Custom output directory |
Per-format controls: sets custom output path, skips generation. Formats: , , , , .
--{format}-path PATH--dont-generate-{format}pdftypstmarkdownhtmlpngOverride any YAML field from the CLI using dot notation (overrides without editing the file):
bash
rendercv render CV.yaml --cv.name "Jane Doe" --design.theme "moderncv"
rendercv render CV.yaml --cv.sections.education.0.institution "MIT"从YAML文件生成PDF、Typst、Markdown、HTML和PNG格式文件。
| 选项 | 短选项 | 功能 |
|---|---|---|
| | YAML文件变化时自动重新渲染 |
| | 抑制所有输出信息 |
| | 从单独的YAML文件加载设计部分 |
| | 从单独的YAML文件加载语言区域部分 |
| | 从单独的YAML文件加载设置部分 |
| | 自定义输出目录 |
按格式控制:设置自定义输出路径,跳过对应格式的生成。支持的格式:, , , , 。
--{format}-path PATH--dont-generate-{format}pdftypstmarkdownhtmlpng通过CLI覆盖任意YAML字段(无需编辑文件):
bash
rendercv render CV.yaml --cv.name "Jane Doe" --design.theme "moderncv"
rendercv render CV.yaml --cv.sections.education.0.institution "MIT"rendercv create-theme "theme-name"
rendercv create-theme "theme-name"rendercv create-theme "theme-name"
rendercv create-theme "theme-name"Scaffold a custom theme directory with editable Typst templates for complete design control.
生成包含可编辑Typst模板的自定义主题目录,实现完全设计控制。
JSON Schema
JSON Schema
For YAML editor autocompletion and validation:
yaml
undefined用于YAML编辑器自动补全和验证:
yaml
undefinedyaml-language-server: $schema=https://raw.githubusercontent.com/rendercv/rendercv/refs/tags/v2.8/schema.json
yaml-language-server: $schema=https://raw.githubusercontent.com/rendercv/rendercv/refs/tags/v2.8/schema.json
undefinedundefinedComplete Example
完整示例
Sample CV
简历示例
yaml
cv:
name: John Doe
headline:
location: San Francisco, CA
email: john.doe@email.com
photo:
phone:
website: https://rendercv.com/
social_networks:
- network: LinkedIn
username: rendercv
- network: GitHub
username: rendercv
custom_connections:
sections:
Welcome to RenderCV:
- RenderCV reads a CV written in a YAML file, and generates a PDF with
professional typography.
- Each section title is arbitrary.
education:
- institution: Princeton University
area: Computer Science
degree: PhD
date:
start_date: 2018-09
end_date: 2023-05
location: Princeton, NJ
summary:
highlights:
- 'Thesis: Efficient Neural Architecture Search for Resource-Constrained Deployment'
- 'Advisor: Prof. Sanjeev Arora'
- NSF Graduate Research Fellowship, Siebel Scholar (Class of 2022)
- institution: Boğaziçi University
area: Computer Engineering
degree: BS
date:
start_date: 2014-09
end_date: 2018-06
location: Istanbul, Türkiye
summary:
highlights:
- 'GPA: 3.97/4.00, Valedictorian'
- Fulbright Scholarship recipient for Graduate Studies
experience:
- company: Nexus AI
position: Co-Founder & CTO
date:
start_date: 2023-06
end_date: present
location: San Francisco, CA
summary:
highlights:
- Built foundation model infrastructure serving 2M+ monthly API requests
with 99.97% uptime
- Raised $18M Series A led by Sequoia Capital, with participation from
a16z and Founders Fund
- Scaled engineering team from 3 to 28 across ML research, platform, and
applied AI divisions
- Developed proprietary inference optimization reducing latency by 73%
compared to baseline
- company: NVIDIA Research
position: Research Intern
date:
start_date: 2022-05
end_date: 2022-08
location: Santa Clara, CA
summary:
highlights:
- Designed sparse attention mechanism reducing transformer memory
footprint by 4.2x
- Co-authored paper accepted at NeurIPS 2022 (spotlight presentation, top
5% of submissions)
projects:
- name: '[FlashInfer](https://github.com/)'
date:
start_date: 2023-01
end_date: present
location:
summary: Open-source library for high-performance LLM inference kernels
highlights:
- Achieved 2.8x speedup over baseline attention implementations on A100
GPUs
- Adopted by 3 major AI labs, 8,500+ GitHub stars, 200+ contributors
- name: '[NeuralPrune](https://github.com/)'
date: '2021'
start_date:
end_date:
location:
summary: Automated neural network pruning toolkit with differentiable
masks
highlights:
- Reduced model size by 90% with less than 1% accuracy degradation on
ImageNet
- Featured in PyTorch ecosystem tools, 4,200+ GitHub stars
publications:
- title: 'Sparse Mixture-of-Experts at Scale: Efficient Routing for Trillion-Parameter
Models'
authors:
- '*John Doe*'
- Sarah Williams
- David Park
summary:
doi: 10.1234/neurips.2023.1234
url:
journal: NeurIPS 2023
date: 2023-07
- title: Neural Architecture Search via Differentiable Pruning
authors:
- James Liu
- '*John Doe*'
summary:
doi: 10.1234/neurips.2022.5678
url:
journal: NeurIPS 2022, Spotlight
date: 2022-12
selected_honors:
- bullet: MIT Technology Review 35 Under 35 Innovators (2024)
- bullet: Forbes 30 Under 30 in Enterprise Technology (2024)
skills:
- label: Languages
details: Python, C++, CUDA, Rust, Julia
- label: ML Frameworks
details: PyTorch, JAX, TensorFlow, Triton, ONNX
patents:
- number: Adaptive Quantization for Neural Network Inference on Edge Devices
(US Patent 11,234,567)
- number: Dynamic Sparsity Patterns for Efficient Transformer Attention (US
Patent 11,345,678)
invited_talks:
- reversed_number: Scaling Laws for Efficient Inference — Stanford HAI
Symposium (2024)
- reversed_number: Building AI Infrastructure for the Next Decade —
TechCrunch Disrupt (2024)
yaml
cv:
name: John Doe
headline:
location: San Francisco, CA
email: john.doe@email.com
photo:
phone:
website: https://rendercv.com/
social_networks:
- network: LinkedIn
username: rendercv
- network: GitHub
username: rendercv
custom_connections:
sections:
Welcome to RenderCV:
- RenderCV reads a CV written in a YAML file, and generates a PDF with
professional typography.
- Each section title is arbitrary.
education:
- institution: Princeton University
area: Computer Science
degree: PhD
date:
start_date: 2018-09
end_date: 2023-05
location: Princeton, NJ
summary:
highlights:
- 'Thesis: Efficient Neural Architecture Search for Resource-Constrained Deployment'
- 'Advisor: Prof. Sanjeev Arora'
- NSF Graduate Research Fellowship, Siebel Scholar (Class of 2022)
- institution: Boğaziçi University
area: Computer Engineering
degree: BS
date:
start_date: 2014-09
end_date: 2018-06
location: Istanbul, Türkiye
summary:
highlights:
- 'GPA: 3.97/4.00, Valedictorian'
- Fulbright Scholarship recipient for Graduate Studies
experience:
- company: Nexus AI
position: Co-Founder & CTO
date:
start_date: 2023-06
end_date: present
location: San Francisco, CA
summary:
highlights:
- Built foundation model infrastructure serving 2M+ monthly API requests
with 99.97% uptime
- Raised $18M Series A led by Sequoia Capital, with participation from
a16z and Founders Fund
- Scaled engineering team from 3 to 28 across ML research, platform, and
applied AI divisions
- Developed proprietary inference optimization reducing latency by 73%
compared to baseline
- company: NVIDIA Research
position: Research Intern
date:
start_date: 2022-05
end_date: 2022-08
location: Santa Clara, CA
summary:
highlights:
- Designed sparse attention mechanism reducing transformer memory
footprint by 4.2x
- Co-authored paper accepted at NeurIPS 2022 (spotlight presentation, top
5% of submissions)
projects:
- name: '[FlashInfer](https://github.com/)'
date:
start_date: 2023-01
end_date: present
location:
summary: Open-source library for high-performance LLM inference kernels
highlights:
- Achieved 2.8x speedup over baseline attention implementations on A100
GPUs
- Adopted by 3 major AI labs, 8,500+ GitHub stars, 200+ contributors
- name: '[NeuralPrune](https://github.com/)'
date: '2021'
start_date:
end_date:
location:
summary: Automated neural network pruning toolkit with differentiable
masks
highlights:
- Reduced model size by 90% with less than 1% accuracy degradation on
ImageNet
- Featured in PyTorch ecosystem tools, 4,200+ GitHub stars
publications:
- title: 'Sparse Mixture-of-Experts at Scale: Efficient Routing for Trillion-Parameter
Models'
authors:
- '*John Doe*'
- Sarah Williams
- David Park
summary:
doi: 10.1234/neurips.2023.1234
url:
journal: NeurIPS 2023
date: 2023-07
- title: Neural Architecture Search via Differentiable Pruning
authors:
- James Liu
- '*John Doe*'
summary:
doi: 10.1234/neurips.2022.5678
url:
journal: NeurIPS 2022, Spotlight
date: 2022-12
selected_honors:
- bullet: MIT Technology Review 35 Under 35 Innovators (2024)
- bullet: Forbes 30 Under 30 in Enterprise Technology (2024)
skills:
- label: Languages
details: Python, C++, CUDA, Rust, Julia
- label: ML Frameworks
details: PyTorch, JAX, TensorFlow, Triton, ONNX
patents:
- number: Adaptive Quantization for Neural Network Inference on Edge Devices
(US Patent 11,234,567)
- number: Dynamic Sparsity Patterns for Efficient Transformer Attention (US
Patent 11,345,678)
invited_talks:
- reversed_number: Scaling Laws for Efficient Inference — Stanford HAI
Symposium (2024)
- reversed_number: Building AI Infrastructure for the Next Decade —
TechCrunch Disrupt (2024)
Sample Design (classic — complete reference)
设计示例(classic——完整参考)
This shows every available design field with its default value. All themes share the same structure.
yaml
design:
theme: classic
page:
size: us-letter
top_margin: 0.7in
bottom_margin: 0.7in
left_margin: 0.7in
right_margin: 0.7in
show_footer: true
show_top_note: true
colors:
body: rgb(0, 0, 0)
name: rgb(0, 79, 144)
headline: rgb(0, 79, 144)
connections: rgb(0, 79, 144)
section_titles: rgb(0, 79, 144)
links: rgb(0, 79, 144)
footer: rgb(128, 128, 128)
top_note: rgb(128, 128, 128)
typography:
line_spacing: 0.6em
alignment: justified
date_and_location_column_alignment: right
font_family:
body: Source Sans 3
name: Source Sans 3
headline: Source Sans 3
connections: Source Sans 3
section_titles: Source Sans 3
font_size:
body: 10pt
name: 30pt
headline: 10pt
connections: 10pt
section_titles: 1.4em
small_caps:
name: false
headline: false
connections: false
section_titles: false
bold:
name: true
headline: false
connections: false
section_titles: true
links:
underline: false
show_external_link_icon: false
header:
alignment: center
photo_width: 3.5cm
photo_position: left
photo_space_left: 0.4cm
photo_space_right: 0.4cm
space_below_name: 0.7cm
space_below_headline: 0.7cm
space_below_connections: 0.7cm
connections:
phone_number_format: national
hyperlink: true
show_icons: true
display_urls_instead_of_usernames: false
separator: ''
space_between_connections: 0.5cm
section_titles:
type: with_partial_line
line_thickness: 0.5pt
space_above: 0.5cm
space_below: 0.3cm
sections:
allow_page_break: true
space_between_regular_entries: 1.2em
space_between_text_based_entries: 0.3em
show_time_spans_in:
- experience
entries:
date_and_location_width: 4.15cm
side_space: 0.2cm
space_between_columns: 0.1cm
allow_page_break: false
short_second_row: true
degree_width: 1cm
summary:
space_above: 0cm
space_left: 0cm
highlights:
bullet: •
nested_bullet: •
space_left: 0.15cm
space_above: 0cm
space_between_items: 0cm
space_between_bullet_and_text: 0.5em
templates:
footer: '*NAME -- PAGE_NUMBER/TOTAL_PAGES*'
top_note: '*LAST_UPDATED CURRENT_DATE*'
single_date: MONTH_ABBREVIATION YEAR
date_range: START_DATE – END_DATE
time_span: HOW_MANY_YEARS YEARS HOW_MANY_MONTHS MONTHS
one_line_entry:
main_column: '**LABEL:** DETAILS'
education_entry:
main_column: |-
**INSTITUTION**, AREA
SUMMARY
HIGHLIGHTS
degree_column: '**DEGREE**'
date_and_location_column: |-
LOCATION
DATE
normal_entry:
main_column: |-
**NAME**
SUMMARY
HIGHLIGHTS
date_and_location_column: |-
LOCATION
DATE
experience_entry:
main_column: |-
**COMPANY**, POSITION
SUMMARY
HIGHLIGHTS
date_and_location_column: |-
LOCATION
DATE
publication_entry:
main_column: |-
**TITLE**
SUMMARY
AUTHORS
URL (JOURNAL)
date_and_location_column: DATE
以下展示了所有可用设计字段及其默认值。所有主题共享相同结构。
yaml
design:
theme: classic
page:
size: us-letter
top_margin: 0.7in
bottom_margin: 0.7in
left_margin: 0.7in
right_margin: 0.7in
show_footer: true
show_top_note: true
colors:
body: rgb(0, 0, 0)
name: rgb(0, 79, 144)
headline: rgb(0, 79, 144)
connections: rgb(0, 79, 144)
section_titles: rgb(0, 79, 144)
links: rgb(0, 79, 144)
footer: rgb(128, 128, 128)
top_note: rgb(128, 128, 128)
typography:
line_spacing: 0.6em
alignment: justified
date_and_location_column_alignment: right
font_family:
body: Source Sans 3
name: Source Sans 3
headline: Source Sans 3
connections: Source Sans 3
section_titles: Source Sans 3
font_size:
body: 10pt
name: 30pt
headline: 10pt
connections: 10pt
section_titles: 1.4em
small_caps:
name: false
headline: false
connections: false
section_titles: false
bold:
name: true
headline: false
connections: false
section_titles: true
links:
underline: false
show_external_link_icon: false
header:
alignment: center
photo_width: 3.5cm
photo_position: left
photo_space_left: 0.4cm
photo_space_right: 0.4cm
space_below_name: 0.7cm
space_below_headline: 0.7cm
space_below_connections: 0.7cm
connections:
phone_number_format: national
hyperlink: true
show_icons: true
display_urls_instead_of_usernames: false
separator: ''
space_between_connections: 0.5cm
section_titles:
type: with_partial_line
line_thickness: 0.5pt
space_above: 0.5cm
space_below: 0.3cm
sections:
allow_page_break: true
space_between_regular_entries: 1.2em
space_between_text_based_entries: 0.3em
show_time_spans_in:
- experience
entries:
date_and_location_width: 4.15cm
side_space: 0.2cm
space_between_columns: 0.1cm
allow_page_break: false
short_second_row: true
degree_width: 1cm
summary:
space_above: 0cm
space_left: 0cm
highlights:
bullet: •
nested_bullet: •
space_left: 0.15cm
space_above: 0cm
space_between_items: 0cm
space_between_bullet_and_text: 0.5em
templates:
footer: '*NAME -- PAGE_NUMBER/TOTAL_PAGES*'
top_note: '*LAST_UPDATED CURRENT_DATE*'
single_date: MONTH_ABBREVIATION YEAR
date_range: START_DATE – END_DATE
time_span: HOW_MANY_YEARS YEARS HOW_MANY_MONTHS MONTHS
one_line_entry:
main_column: '**LABEL:** DETAILS'
education_entry:
main_column: |-
**INSTITUTION**, AREA
SUMMARY
HIGHLIGHTS
degree_column: '**DEGREE**'
date_and_location_column: |-
LOCATION
DATE
normal_entry:
main_column: |-
**NAME**
SUMMARY
HIGHLIGHTS
date_and_location_column: |-
LOCATION
DATE
experience_entry:
main_column: |-
**COMPANY**, POSITION
SUMMARY
HIGHLIGHTS
date_and_location_column: |-
LOCATION
DATE
publication_entry:
main_column: |-
**TITLE**
SUMMARY
AUTHORS
URL (JOURNAL)
date_and_location_column: DATE
Other Theme Overrides
其他主题配置示例
Other themes only override specific fields from the classic defaults above. To use a theme, set and optionally override any field. Each theme also customizes (entry layout patterns) — see the classic sample above for the full template structure. The override YAMLs below omit templates for brevity.
design.themedesign.templates其他主题仅覆盖classic主题的特定字段。使用主题时,设置并可选择性覆盖任意字段。每个主题也会自定义(条目布局模板)——完整模板结构请参考上方classic示例。下方配置示例省略了模板部分以简化内容。
design.themedesign.templatesharvard
harvard
yaml
undefinedyaml
undefinedyaml-language-server: $schema=../../../../../../schema.json
yaml-language-server: $schema=../../../../../../schema.json
design:
theme: harvard
page:
top_margin: 0.5in
bottom_margin: 0.5in
left_margin: 0.5in
right_margin: 0.5in
show_top_note: false
colors:
name: rgb(0,0,0)
headline: rgb(0,0,0)
connections: rgb(0,0,0)
section_titles: rgb(0,0,0)
links: rgb(0,0,0)
typography:
font_family:
body: XCharter
name: XCharter
headline: XCharter
connections: XCharter
section_titles: XCharter
font_size:
name: 25pt
connections: 9pt
section_titles: 1.3em
header:
space_below_name: 0.5cm
space_below_headline: 0.5cm
space_below_connections: 0.5cm
connections:
show_icons: false
separator: •
space_between_connections: 0.4cm
section_titles:
type: centered_with_centered_partial_line
space_below: 0.2cm
sections:
space_between_regular_entries: 1em
show_time_spans_in: []
entries:
short_second_row: false
undefineddesign:
theme: harvard
page:
top_margin: 0.5in
bottom_margin: 0.5in
left_margin: 0.5in
right_margin: 0.5in
show_top_note: false
colors:
name: rgb(0,0,0)
headline: rgb(0,0,0)
connections: rgb(0,0,0)
section_titles: rgb(0,0,0)
links: rgb(0,0,0)
typography:
font_family:
body: XCharter
name: XCharter
headline: XCharter
connections: XCharter
section_titles: XCharter
font_size:
name: 25pt
connections: 9pt
section_titles: 1.3em
header:
space_below_name: 0.5cm
space_below_headline: 0.5cm
space_below_connections: 0.5cm
connections:
show_icons: false
separator: •
space_between_connections: 0.4cm
section_titles:
type: centered_with_centered_partial_line
space_below: 0.2cm
sections:
space_between_regular_entries: 1em
show_time_spans_in: []
entries:
short_second_row: false
undefinedengineeringresumes
engineeringresumes
yaml
undefinedyaml
undefinedyaml-language-server: $schema=../../../../../../schema.json
yaml-language-server: $schema=../../../../../../schema.json
design:
theme: engineeringresumes
page:
show_footer: false
typography:
font_family:
body: XCharter
name: XCharter
headline: XCharter
connections: XCharter
section_titles: XCharter
font_size:
name: 25pt
section_titles: 1.2em
bold:
name: false
header:
connections:
separator: '|'
show_icons: false
display_urls_instead_of_usernames: true
colors:
name: rgb(0,0,0)
connections: rgb(0,0,0)
headline: rgb(0,0,0)
section_titles: rgb(0,0,0)
links: rgb(0,0,0)
links:
underline: true
show_external_link_icon: false
section_titles:
type: with_full_line
space_above: 0.5cm
space_below: 0.3cm
sections:
space_between_regular_entries: 0.42cm
space_between_text_based_entries: 0.15cm
show_time_spans_in: []
entries:
short_second_row: false
summary:
space_above: 0.08cm
side_space: 0cm
highlights:
bullet: ●
nested_bullet: ●
space_left: 0cm
space_above: 0.08cm
space_between_items: 0.08cm
space_between_bullet_and_text: 0.3em
undefineddesign:
theme: engineeringresumes
page:
show_footer: false
typography:
font_family:
body: XCharter
name: XCharter
headline: XCharter
connections: XCharter
section_titles: XCharter
font_size:
name: 25pt
section_titles: 1.2em
bold:
name: false
header:
connections:
separator: '|'
show_icons: false
display_urls_instead_of_usernames: true
colors:
name: rgb(0,0,0)
connections: rgb(0,0,0)
headline: rgb(0,0,0)
section_titles: rgb(0,0,0)
links: rgb(0,0,0)
links:
underline: true
show_external_link_icon: false
section_titles:
type: with_full_line
space_above: 0.5cm
space_below: 0.3cm
sections:
space_between_regular_entries: 0.42cm
space_between_text_based_entries: 0.15cm
show_time_spans_in: []
entries:
short_second_row: false
summary:
space_above: 0.08cm
side_space: 0cm
highlights:
bullet: ●
nested_bullet: ●
space_left: 0cm
space_above: 0.08cm
space_between_items: 0.08cm
space_between_bullet_and_text: 0.3em
undefinedengineeringclassic
engineeringclassic
yaml
undefinedyaml
undefinedyaml-language-server: $schema=../../../../../../schema.json
yaml-language-server: $schema=../../../../../../schema.json
design:
theme: engineeringclassic
typography:
font_family:
body: Raleway
name: Raleway
headline: Raleway
connections: Raleway
section_titles: Raleway
bold:
name: false
section_titles: false
header:
alignment: left
links:
show_external_link_icon: false
section_titles:
type: with_full_line
sections:
show_time_spans_in: []
entries:
short_second_row: false
summary:
space_above: 0.12cm
highlights:
space_left: 0cm
space_above: 0.12cm
space_between_items: 0.12cm
undefineddesign:
theme: engineeringclassic
typography:
font_family:
body: Raleway
name: Raleway
headline: Raleway
connections: Raleway
section_titles: Raleway
bold:
name: false
section_titles: false
header:
alignment: left
links:
show_external_link_icon: false
section_titles:
type: with_full_line
sections:
show_time_spans_in: []
entries:
short_second_row: false
summary:
space_above: 0.12cm
highlights:
space_left: 0cm
space_above: 0.12cm
space_between_items: 0.12cm
undefinedsb2nov
sb2nov
yaml
undefinedyaml
undefinedyaml-language-server: $schema=../../../../../../schema.json
yaml-language-server: $schema=../../../../../../schema.json
design:
theme: sb2nov
typography:
font_family:
body: New Computer Modern
name: New Computer Modern
headline: New Computer Modern
connections: New Computer Modern
section_titles: New Computer Modern
colors:
name: rgb(0,0,0)
connections: rgb(0,0,0)
section_titles: rgb(0,0,0)
headline: rgb(0,0,0)
links: rgb(0,0,0)
links:
underline: true
show_external_link_icon: false
section_titles:
type: with_full_line
sections:
show_time_spans_in: []
header:
connections:
hyperlink: true
show_icons: false
display_urls_instead_of_usernames: true
separator: •
entries:
short_second_row: false
highlights:
bullet: ◦
nested_bullet: ◦
undefineddesign:
theme: sb2nov
typography:
font_family:
body: New Computer Modern
name: New Computer Modern
headline: New Computer Modern
connections: New Computer Modern
section_titles: New Computer Modern
colors:
name: rgb(0,0,0)
connections: rgb(0,0,0)
section_titles: rgb(0,0,0)
headline: rgb(0,0,0)
links: rgb(0,0,0)
links:
underline: true
show_external_link_icon: false
section_titles:
type: with_full_line
sections:
show_time_spans_in: []
header:
connections:
hyperlink: true
show_icons: false
display_urls_instead_of_usernames: true
separator: •
entries:
short_second_row: false
highlights:
bullet: ◦
nested_bullet: ◦
undefinedmoderncv
moderncv
yaml
undefinedyaml
undefinedyaml-language-server: $schema=../../../../../../schema.json
yaml-language-server: $schema=../../../../../../schema.json
design:
theme: moderncv
typography:
line_spacing: 0.6em
font_family:
body: Fontin
name: Fontin
headline: Fontin
connections: Fontin
section_titles: Fontin
font_size:
name: 25pt
section_titles: 1.4em
bold:
name: false
section_titles: false
header:
alignment: left
photo_width: 4.15cm
photo_space_left: 0cm
photo_space_right: 0.3cm
links:
underline: true
show_external_link_icon: false
section_titles:
type: moderncv
space_above: 0.55cm
space_below: 0.3cm
line_thickness: 0.15cm
sections:
show_time_spans_in: []
entries:
short_second_row: false
side_space: 0cm
space_between_columns: 0.3cm
summary:
space_above: 0.1cm
highlights:
space_left: 0cm
space_above: 0.15cm
space_between_items: 0.1cm
space_between_bullet_and_text: 0.3em
undefineddesign:
theme: moderncv
typography:
line_spacing: 0.6em
font_family:
body: Fontin
name: Fontin
headline: Fontin
connections: Fontin
section_titles: Fontin
font_size:
name: 25pt
section_titles: 1.4em
bold:
name: false
section_titles: false
header:
alignment: left
photo_width: 4.15cm
photo_space_left: 0cm
photo_space_right: 0.3cm
links:
underline: true
show_external_link_icon: false
section_titles:
type: moderncv
space_above: 0.55cm
space_below: 0.3cm
line_thickness: 0.15cm
sections:
show_time_spans_in: []
entries:
short_second_row: false
side_space: 0cm
space_between_columns: 0.3cm
summary:
space_above: 0.1cm
highlights:
space_left: 0cm
space_above: 0.15cm
space_between_items: 0.1cm
space_between_bullet_and_text: 0.3em
undefined