V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
xiaohanyu
V2EX  ›  分享创造

YAMLResume v0.9 发布:支持 HTML 输出

  •  
  •   xiaohanyu ·
    xiaohanyu · 1 天前 · 492 次点击

    Hello:

    距离前次 YAMLResume v0.8 更新 三周,今天来跟分享一下 v0.9 的重大更新:我们终于补全了原生 HTML 输出支持,完成了从同一份配置生成 PDF (LaTeX)、Markdown 到 HTML 三种输出格式。

    Demo:

    YAMLResume HTML Demo

    为什么我们还需要一个 HTML 简历输出?

    说实话,大家都习惯了那种传统的求职流程:改 Tex 、压 PDF 、发邮件。但我观察到最近几年,大家越来越倾向于在个人博客、GitHub Pages 或者像 Readme 这种地方放一份自己的在线 CV 。

    以前的方案通常有几种:

    1. 直接放 PDF 链接:用户点击后要在手机上捏合缩放,体验极差。
    2. 手写 HTML/CSS:稍微改个经历就要去改 HTML 或者 CSS ,很麻烦。
    3. Markdown 渲染:定制性的输出布局比较固定,难以修改

    这次 v0.9 带来的 HTML 引擎,就是为了平衡这些痛点。你只需要在 resume.yml 里加两行配置,执行 yamlresume build,它就能吐出一个完全自包含( Self-contained )的 HTML 文件。所有的 CSS 都是内联的,没有 CDN 加载,没有外部依赖,你把它丢到任何静态服务器,甚至是直接双击打开,排版都是完美的。

    当前 YAMLResume v0.9 支持一款 calm 模板(受到 LaTeX moderncv 模板的启发),在桌面端优雅大气,在手机端则会自动调整间距和字体,预览:

    YAMLResume Calm Teamplte

    一些工程实践

    在做 HTML 引擎时,我没打算随便拼凑一点字符串。

    • 类型安全:整个渲染器是用 TypeScript 重写的,配合 Zod 做配置验证,配置错了一丁点都会在编译期报错,而不是等线上显示错位。
    • 转义与安全:简历里难免有一些特殊字符,我们做了极其严格的 HTML 转义,这不仅是为了排版正确,更是为了防止 XSS 攻击。
    • 100% 测试覆盖:HTML 渲染部分的测试代码就超过了 1000 行。

    未来计划

    目前 v0.9 只是个开始。接下来我们打算引入更多基于 Web 设计审美的模板,比如“程序员暗色风格”、“单列极简风格”等。同时,我们也会支持更细致的排版参数控制。

    如果你也厌倦了手动维护好几份简历文件,或者想给自己的 GitHub 页加一份体面的在线 CV ,欢迎升级试用:

    • npm install -g yamlresume@latest
    • brew install yamlresume@latest

    一些链接:

    2 条回复    2025-12-26 20:31:03 +08:00
    xiaohanyu
        2
    xiaohanyu  
    OP
       1 天前
    @duchenpaul 下个版本会提供 更多的 template 以供选择,实际上的 demo 已经有了,就是还需要蛮多打磨的,所以还没有放出来: https://x.com/hanyuxiao1988/status/1999397769321283934

    JSON Resume 格式兼容目前提供了一个官方的转换工具: https://yamlresume.dev/docs/ecosystem/json2yamlresume
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2038 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 16:12 · PVG 00:12 · LAX 08:12 · JFK 11:12
    ♥ Do have faith in what you're doing.