HackMyResume
从你的命令行或者 shell 创建多种格式的精美简历和个人简历。在干净的Markdown 和 JSON 中创作,导出为 Word、HTML、PDF、LaTeX、 纯文本和其他任意格式。战斗的力量,拯救树木。与 FRESH 和 JRS 简历兼容。
HackMyResume 是一款适合开发人员使用的瑞士军刀,只适用于本地的简历和CVs。用它来:
- 生成 HTML、Markdown、LaTeX、MS Word、PDF、纯文本、JSON、XML、YAML、打印、烟雾信号、信鸽和其他任意格式的简历和 CVs,来自单一的事实来源 -- 不会违反DRY。
- 分析你的简历中关键词的密度、差距和其他指标。
- 在 FRESH 和 JSON Resume 之间转换格式。
- 根据两种格式验证简历。
HackMyResume 是使用 Node.js 构建的,可在最新版本的 OS X、Linux 或 Windows 上运行。 查看常见问题。
特性
- OS X、Linux 和 Windows。
- 从数十种 FRESH 或 JSON 简历主题中进行选择。
- 专用的、本地的简历创作和分析。
- 分析您的简历以了解关键字、差距和其他指标。
- 将您的简历数据存储为持久的,可版本化的 JSON 或 YAML 文档。
- 在不违反 DRY 的情况下以多种格式制作精美的简历。
- 输出为 HTML、Markdown、LaTeX、PDF、MS Word、JSON、YAML、纯文本或 XML。
- 根据 FRESH 或 JSON 简历模式验证简历。
- 支持多个输入和输出恢复。
- 在 FRESH 和 JSON 简历之间转换。
- 在您的命令行或桌面上使用。
- 通过 MIT 许可获得免费和开放源代码。
- 每日/每周更新。贡献是受欢迎的。
安装
使用 NPM 安装最新的稳定版 HackMyResume:
[sudo] npm install hackmyresume -g
或者,安装最新的最新版本(每日更新):
[sudo] npm install hacksalot/hackmyresume#dev -g
安装 PDF 支持(可选)
HackMyResume 尽力避免对用户强加特定的 PDF 引擎要求,而是将与您安装的任何 PDF 引擎一起工作。
目前,HackMyResume 的 PDF 生成需要在您的系统上安装 Phantom.js 、wkhtmltopdf 或 WeasyPrint ,并且相应的二进制文件可以在 PATH 上访问。对于关心 PDF 格式的用户,这是一个可选的要求。如果您不关心 PDF 格式,请跳过这一步。
安装主题
HackMyResume 同时支持 FRESH 和JSON Resume风格的简历主题。
- FRESH 主题目前预装了 HackMyResume。
- JSON 简历主题可以从 NPM、GitHub 或手动安装。
要安装 JSON 简历主题,只需cd到要存储主题的文件夹,然后运行以下命令之一:
#使用 NPM 安装 npm install jsonresume-theme-[theme-name] #用GitHub安装 git clone https://github.com/[user-or-org]/[repo-name]
然后,当您准备好生成简历时,只需在安装时引用主题文件夹的位置:
hackmyresume build resume.json TO out/resume.all -t node_modules/jsonresume-theme-classy
注意:您可以在文件系统的任何位置使用安装主题。 您不需要 package.json 或其他 NPM/Node 基础结构。
入门
要使用 HackMyResume,您需要以 FRESH 或 JSON Resume 格式创建有效的简历。 然后,您可以开始使用命令行工具。您应该注意五个基本命令:
- build 生成HTML、Word、Markdown、PDF和其他格式的简历。当你需要提交、上传、打印或发送特定格式的简历时,可以使用它。
# hackmyresume build <INPUTS...> TO <OUTPUTS...> [-t THEME] hackmyresume build resume.json TO out/resume.all hackmyresume build r1.json r2.json TO out/rez.html out/rez.md foo/rez.all
- 新 以 FRESH 或 JSON 简历格式创建新简历。
# hackmyresume new <OUTPUTS...> [-f <FORMAT>] hackmyresume new resume.json hackmyresume new resume.json -f fresh hackmyresume new r1.json r2.json -f jrs
- 分析 检查你的简历中的关键词、持续时间和其他指标。
# hackmyresume convert <INPUTS...> TO <OUTPUTS...> hackmyresume convert resume.json TO resume-jrs.json hackmyresume convert 1.json 2.json 3.json TO out/1.json out/2.json out/3.json
- 转换 可将您的源简历转换为FRESH和JSON简历
格式。使用它在两种格式之间进行转换以利用工具和服务。
# hackmyresume convert <INPUTS...> TO <OUTPUTS...> hackmyresume convert resume.json TO resume-jrs.json hackmyresume convert 1.json 2.json 3.json TO out/1.json out/2.json out/3.json
- 验证 根据 FRESH 或 JSON 简历模式验证指定的简历。使用它来确保你的简历数据是充分和完整的。
# hackmyresume validate <INPUTS...> hackmyresume validate resume.json hackmyresume validate r1.json r2.json r3.json
- peek 将简历或简历上的任何字段、属性或对象路径回显到标准输出。
# hackmyresume validate <INPUTS...> hackmyresume validate resume.json hackmyresume validate r1.json r2.json r3.json
支持的输出格式
HackMyResume 支持以下输出格式:
输出格式 | Ext | 注意 |
HTML | .html | A standard HTML 5 + CSS resume format that can be viewed in a browser, deployed to a website, etc. |
Markdown | .md | A structured Markdown document that can be used as-is or used to generate HTML. |
LaTeX | .tex | A structured LaTeX document (or collection of documents) that can be processed with pdflatex, xelatex, and similar tools. |
MS Word | .doc | A Microsoft Word office document (XML-driven; WordProcessingML). |
Adobe Acrobat (PDF) | A binary PDF document driven by an HTML theme (through wkhtmltopdf). | |
plain text | .txt | A formatted plain text document appropriate for emails or copy-paste. |
JSON | .json | A JSON representation of the resume. |
YAML | .yml | A YAML representation of the resume. |
RTF | .rtf | Forthcoming. |
Textile | .textile | Forthcoming. |
image | .png, .bmp | Forthcoming. |
使用
假设您手边有一份 json 格式的简历,生成不同格式和组合的简历很容易。只需运行:
hackmyresume build <inputs> to <outputs> [-t theme].
其中 <inputs> 是一个或多个 .json 简历文件,用空格分隔; <outputs><> 是一个或多个目的地简历,<theme> 是所需的主题(默认为 Modern)。 例如:
# 生成所有的简历格式 (HTML, PDF, DOC, TXT, YML, etc.) hackmyresume build resume.json TO out/resume.all -t modern # 生成特定的简历格式 hackmyresume build resume.json TO out/resume.html hackmyresume build resume.json TO out/resume.pdf hackmyresume build resume.json TO out/resume.md hackmyresume build resume.json TO out/resume.doc hackmyresume build resume.json TO out/resume.json hackmyresume build resume.json TO out/resume.txt hackmyresume build resume.json TO out/resume.yml # 指定2个输入和3个输出 hackmyresume build in1.json in2.json TO out.html out.doc out.pdf
您应该看到以下效果:
*** HackMyResume v1.4.0 *** Reading JSON resume: foo/resume.json Applying MODERN Theme (7 formats) Generating HTML resume: out/resume.html Generating TXT resume: out/resume.txt Generating DOC resume: out/resume.doc Generating PDF resume: out/resume.pdf Generating JSON resume: out/resume.json Generating MARKDOWN resume: out/resume.md Generating YAML resume: out/resume.yml
高级
应用主题
HackMyResume 可以使用任何 FRESH 或 JSON Resume 主题(后者必须是 首先安装)。要在生成简历时指定主题,请使用 -t 或 --theme 参数:
hackmyresume build resume.json TO out/rez.all -t [theme]
参数 [theme] 可以是预定义主题的名称,也可以是指向任何 FRESH 或 JSON Resume 主题文件夹的路径
hackmyresume build resume.json TO out/rez.all -t modern hackmyresume build resume.json TO OUT.rez.all -t ../some-folder/my-custom-theme/ hackmyresume build resume.json TO OUT.rez.all -t node_modules/jsonresume-theme-classy
FRESH 主题目前已预装在 HackMyResume 中。 JSON 简历主题可以在使用前安装:
#将 JSON 简历主题安装到本地 node_modules 子文件夹中: npm install jsonresume-theme-[name] # Use it with HackMyResume hackmyresume build resume.json -t node_modules/jsonresume-theme-[name]
从 v1.6.0 开始,可用的预定义 FRESH 主题是积极的、现代的、紧凑的、最小化的和 hello-world。 有关 JSON Resume 主题的列表,请查看 NPM Registry。
合并简历
您可以将多个简历按照从最一般到最具体的顺序进行指定,从而将它们合并在一起:
#将 specific.json 合并到 base.json 并生成所有格式 hackmyresume build base.json specific.json TO resume.all
这对于用来自特定(目标)简历的信息覆盖基本(通用)简历非常有用。例如,您可以使用目标游戏开发人员简历中的特定细节覆盖通用的软件开发人员简历,或者将两份部分简历合并为完整的简历。合并遵循传统的 extend() 风格的行为,并且对于可以合并多少份简历没有任何限制:
hackmyresume build in1.json in2.json in3.json in4.json TO out.html out.doc Reading JSON resume: in1.json Reading JSON resume: in2.json Reading JSON resume: in3.json Reading JSON resume: in4.json Merging in4.json onto in3.json onto in2.json onto in1.json Generating HTML resume: out.html Generating WORD resume: out.doc
多个目标
您可以指定多个输出目标,HackMyResume将构建它们:
# Generate out1.doc, out1.pdf, and foo.txt from me.json. hackmyresume build me.json TO out1.doc out1.pdf foo.txt
使用 .all
特殊的 .all 扩展告诉 HackMyResume 为给定的简历生成所有受支持的输出格式。例如,这个……
#生成所有简历格式(HTML,PDF,DOC,TXT等) hackmyresume build me.json TO out/resume.all
告诉 HackMyResume 读取 me.json 并生成 out/resume.md、out/resume.doc、out/resume.html、out/resume.txt、out/resume.pdf 和 out/resume.json。
建立 PDFs
不关心 PDF 的用户可以使用 --PDF none开关关闭所有主题和格式的 PDF 生成。
HackMyResume 采用独特的 PDF 生成方法。 HackMyResume 将尝试使用通过引擎的命令行界面(CLI)安装的任何 PDF 引擎,而不是在用户上强制执行特定的 PDF 引擎。 目前,这意味着......
......未来计划支持的其他引擎。但是现在,为了使用 HackMyResume 生成 PDF 简历,必须在您的路径上安装或访问这些引擎中的一个或多个。这意味着您应该能够从您的 shell 或终端直接调用这些工具,而不会出错:
wkhtmltopdf input.html output.pdf phantomjs script.js input.html output.pdf weasyprint input.html output.pdf
假设您已经在系统上安装了一个或两个这些引擎,您可以通过 --pdf 选项(简写 -p )告诉HackMyResume 使用哪种格式的PDF生成:
hackmyresume build resume.json TO out.all --pdf phantom hackmyresume build resume.json TO out.all --pdf wkhtmltopdf hackmyresume build resume.json TO out.all --pdf weasyprint hackmyresume build resume.json TO out.all --pdf none
分析
HackMyResume 可以分析你的简历关键字、就业差距和其他 指标。运行:
hackmyresume analyze <my-resume>.json
根据 HackMyResume 版本的不同,您应该看到类似于以下内容的输出:
*** HackMyResume v1.6.0 *** Reading resume: resume.json Analyzing FRESH resume: resume.json SECTIONS (10): employment: 12 education: 2 service: 1 skills: 8 writing: 1 recognition: 0 social: 4 interests: 2 references: 1 languages: 2 COVERAGE (61.1%): Total Days: 6034 Employed: 3688 Gaps: 8 [31, 1065, 273, 153, 671, 61, 61, 31] Overlaps: 1 [243] KEYWORDS (61): Node.js: 6 mentions JavaScript: 9 mentions SQL Server: 3 mentions Visual Studio: 6 mentions Web API: 1 mentions N-tier / 3-tier: 1 mentions HTML 5: 1 mentions JavaScript: 6 mentions CSS: 2 mentions Sass / LESS / SCSS: 1 mentions LAMP: 3 mentions WISC: 1 mentions HTTP: 21 mentions JSON: 1 mentions XML: 2 mentions REST: 1 mentions WebSockets: 2 mentions Backbone.js: 3 mentions Angular.js: 1 mentions Node.js: 4 mentions NPM: 1 mentions Bower: 1 mentions Grunt: 2 mentions Gulp: 1 mentions jQuery: 2 mentions Bootstrap: 3 mentions Underscore.js: 1 mentions PhantomJS: 1 mentions CoffeeScript: 1 mentions Python: 11 mentions Perl: 4 mentions PHP: 7 mentions MySQL: 12 mentions PostgreSQL: 4 mentions NoSQL: 2 mentions Apache: 2 mentions AWS: 2 mentions EC2: 2 mentions RDS: 3 mentions S3: 1 mentions Azure: 1 mentions Rackspace: 1 mentions C++: 23 mentions C++ 11: 1 mentions Boost: 1 mentions Xcode: 2 mentions gcc: 1 mentions OO&AD: 1 mentions .NET: 20 mentions Unity 5: 2 mentions Mono: 3 mentions MonoDevelop: 1 mentions Xamarin: 1 mentions TOTAL: 180 mentions
验证
HackMyResume 还可以根据 FRESH/FRESCA 或 JSON Resume 格式验证一个或多个现有的简历,使用 validate 命令:
#针对 FRESH 或 JSON Resume 模式验证 myresume.json。 hackmyresume validate resumeA.json resumeB.json
HackMyResume 将依次验证每个指定的简历:
*** HackMyResume v1.6.0 *** Validating JSON resume: resumeA.json (INVALID) Validating JSON resume: resumeB.json (VALID)
转换
HackMyResume 可以在 FRESH 和 JSON Resume 格 式之间进行转换。只需运行:
hackmyresume convert <INPUTS> <OUTPUTS>
其中<inputs> 是一个或多个以 FRESH 或 JSON 简历格式的简历 <outputs> 是输出文件名的相应列表。 HackMyResume 会自动检测每个输入简历的格式(FRESH 或 JRS)并将其转换为其他格式(JRS 或 FRESH)。
基于文件的选项
您可以通过外部选项或“.hackmyrc”将选项传递给HackMyResume 文件与 - 选项或 -o 开关: 您可以通过外部选项或 .hackmyrc 文件将选项传递到 HackMyResume,其中带有--options 或 -o 开关
hackmyresume build resume.json -o path/to/options.json
选项文件可以包含任何记录的 HackMyResume 选项,包括 theme、silent、debug、pdf、css 和其他设置。
{ "theme": "compact", "sectionTitles": { "employment": "Work" }, "wkhtmltopdf": { "margin-top": "20mm" } }
如果在命令行和外部选项文件中都指定了一个选项,则命令行选项优先。
#path/to/options.json 指定了 POSITIVE 主题 #-t 参数指定 COMPACT 主题 #-t 参数获胜。 hackmyresume build resume.json -o path/to/options.json -t compact > Reading resume: resume.json > Applying COMPACT theme (7 formats)
美化
HackMyResume 默认情况下对 HTML 格式的简历应用 js-beautify 样式的 HTML 美化。要禁用修饰,可以使用 —no-prettify 或 -n 标志。
hackmyresume build resume.json out.all --no-prettify
静音模式
使用 -s 或 --silent 以无提示模式运行:
hackmyresume BUILD resume.json -o someFile.all -s hackmyresume BUILD resume.json -o someFile.all --silent
调试模式
使用 -d 或 --debug 强制 HMR 在发生错误时发出调用堆栈。在 未来,这个选项会发出详细的错误记录。
hackmyresume BUILD resume.json -d hackmyresume ANALYZE resume.json --debug
禁用编码
使用 -no-escape 选项禁用 Handlebars 主题中的编码。注意: 此选项对非 Handlebars主题没有影响。
hackmyresume build resume.json --no-escape
私人的简历字段
有一个演出、教育阶段、会员资格或其他相关历史,你想隐藏大多数(例如公共)简历,但有时会在别人身上显示? 使用“private”标记它:true 默认情况下从出站生成的简历中省略它。
"employment": { "history": [ { "employer": "Acme Real Estate" }, { "employer": "Area 51 Alien Research Laboratory", "private": true }, { "employer": "H&R Block" } ]
然后,当你想要一份包括私人零工等内容的简历副本时,告诉 HackMyResume 可以发送私人字段。你可以用 -private 开关。
hackmyresume build resume.json private-resume.all --private
自定义主题助手
您可以使用主题的 theme.json 文件的帮助键将自己的自定义 Handlebars 助手附加到 FRESH 主题。
{ "title": "my-cool-theme", // ... "helpers": [ "../path/to/helpers/*.js", "some-other-helper.js" ] }
HackMyResume将尝试加载每个路径或glob并使用Handlebars.registerHelper注册任何指定的文件,使它们可用于您的主题。
贡献
HackMyResume 是 MIT 许可下的社区驱动的免费和开源项目。 鼓励捐款,我们及时回应所有PR和问题。 有关详细信息,请参阅 CONTRIBUTING.md。
贡献
HackMyResume 是 MIT 的社区驱动的免费和开源项目 执照。鼓励捐款,我们回应所有PR和问题, 通常在24小时内。有关详细信息,请参阅 CONTRIBUTING.md 。
许可证
MIT。疯了。详情请参阅 LICENSE.md 。
(First edition: vz edited at 2019.08.26)