# obsidian-resume-editor **Repository Path**: hellokunzai/obsidian-resume-editor ## Basic Information - **Project Name**: obsidian-resume-editor - **Description**: No description available - **Primary Language**: TypeScript - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-06 - **Last Updated**: 2026-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Resume Editor(简历编辑器) Obsidian 表单式简历编辑器:左侧填写结构化字段,右侧实时预览,一键导出 PDF / HTML / DOCX / LaTeX。 > Form-driven resume editor for Obsidian. English docs: [README.md](./README.md). ## 功能特性 - **表单式编辑** —— 不用学任何自定义 Markdown 语法。填好姓名、联系方式、教育、工作、项目、技能等字段,简历由编辑器自动生成。 - **实时预览** —— 输入即更新,所见即所得。 - **12 套模板** —— 单栏、双栏、学术、经典、时间轴、瑞士、现代、极简、左右分栏、优雅、创意、杂志风,均采用适合 A4 的排版样式。 - **多格式导出** —— PDF(`html2pdf.js`)、HTML、DOCX(自研零依赖 OOXML 生成器)、LaTeX,全部在本机生成。 - **原生 `.resume` 文件格式** —— 每份简历是一个结构化 JSON 文件,Obsidian 会直接用本编辑器打开。旧版 `.md` 简历(带 `resume` frontmatter 标记或配置块)仍可被识别并自动迁移。 - **每份简历独立样式** —— 主题色(12 色板)、正文字号、行距、模块间距、页边距、段间距、字体、多页 A4 分页线开关。保存在每份简历内部,互不干扰。 - **灵活模块** —— 基础信息、教育经历、工作经历、项目经历、专业技能、自我评价、证书、自定义模块;支持拖拽排序、折叠、显隐切换。 - **头像与自定义联系方式** —— 头像支持尺寸 / 宽高比 / 圆角设置;可追加额外联系方式(图标 + 标签 + 值)。 - **自动保存** —— 设置中可开关;关闭时通过「保存」按钮手动保存。 ## 安装(BRAT) 1. 安装 BRAT 插件,将本仓库作为 beta 插件添加。 2. 在 设置 → 第三方插件 中启用 **Resume Editor**。 ## 使用 - 点击侧边栏图标或执行命令 **打开简历编辑器**(Open Resume Editor),在右侧打开双栏视图。 - 命令 **新建简历**(New resume)会创建一份 `.resume` 文件,默认命名为 `新建简历.resume`;若已存在则自动顺延为 `新建简历 1.resume`、`新建简历 2.resume`…… - 命令 **标记当前笔记为简历**(Mark current note as resume)把当前笔记转为简历。 - 在文件资源管理器中右键文件夹/文件 → **新建简历**,在该目录下创建简历。 - 点击任意 `.resume` 文件,会直接进入编辑器。 - 编辑内容在开启「自动保存」时自动写入;关闭时用「保存」按钮。若没有活动文件,首次保存会在库根目录新建一份简历笔记。 ### 导出 使用编辑器内的导出按钮,或执行命令:**导出简历为 PDF / HTML / DOCX / LaTeX**。导出文件通过 Obsidian 的 vault API 写入当前笔记所在位置。 ## 模板 默认模板(设置 → Resume Editor → 默认模板)仅作用于新建简历;已保存的简历会以自己的 `templateId` 为准,因此旧文件外观不会被覆盖。 | 模板 | 说明 | | --- | --- | | 单栏(Single column) | 单栏通栏,简洁稳妥。 | | 双栏(Two columns) | 左侧边栏(头像、联系方式)+ 右侧内容。 | | 学术(Academic) | 基础信息置顶,正式黑色排版。 | | 经典(Classic) | 传统单栏商务风。 | | 时间轴(Timeline) | 竖向时间轴展示日期/经历。 | | 瑞士(Swiss) | 网格化、极简、强调字体。 | | 现代(Modern) | 蓝色点缀,现代感。 | | 极简(Minimalist) | 大量留白,基础信息置顶。 | | 左右分栏(Left & right) | 左侧 30% 放头像与联系方式。 | | 优雅(Elegant) | 暖棕色调,精致。 | | 创意(Creative) | 粉色点缀,富有表现力。 | | 杂志风(Editorial) | 青色调,杂志版式。 | ## 全局样式(按简历独立) 打开编辑器左栏顶部的 **全局样式** 面板: - **主题色** —— 12 色板。 - **正文字号** —— 11–16 px。 - **行距** —— 1.2–2.0。 - **模块间距** —— 8–32 px。 - **页边距** —— 16–48 px。 - **段间距** —— 0–16 px。 - **字体** —— 可选自定义字体栈。 - **显示 A4 分页线** —— 内容超过一页时,画出 A4 高度的虚线分页边界并显示预计总页数。导出时按内容自然分页(不再做整体缩放)。 样式保存在笔记的配置块中,每份简历独立;旧文件无这些字段时回落默认值。 ## 数据与隐私 本插件 **默认离线运行**,编辑、实时预览、PDF / HTML / LaTeX 导出与存储均不进行任何出站网络请求 —— 不含 AI / 云功能,简历数据绝不会离开你的设备。所有文件都存放在你的 vault 中,导出也在本地完成。 唯一例外:当 **DOCX 导出**需要嵌入以 `https://` 开头的远程图片时,插件会通过 Obsidian 的 `requestUrl` 拉取该图片并嵌入到 `.docx` 文件中。除此之外不会向任何地址发送数据,且请求仅指向你所引用的那张图片 URL。 ## 平台支持 **桌面端与移动端均支持。** 需要 Obsidian **1.11.4+**;插件设置 `isDesktopOnly: false`,可在手机与平板上运行。 所有导出均为纯前端,仅使用 Obsidian 的 `vault.adapter` API —— 不依赖 Electron、`fs`、`path`、`os`、`child_process`: - **PDF** —— `html2pdf.js`(`html2canvas` + `jsPDF`),通过 `app.vault.adapter.writeBinary` 写入。 - **DOCX** —— 自研零依赖 OOXML 生成器,通过 `app.vault.adapter.writeBinary` 写入。 - **HTML / LaTeX** —— 通过 `app.vault.adapter.write` 写入。 移动端与桌面端的差异: - **单栏布局** —— 编辑与预览不并排显示。默认显示 **编辑** 面板,点击头部专用 **切换按钮** 在编辑/预览间切换。 - **A4 预览自适应** —— 预览渲染固定 794px 宽的 A4 纸张,并按屏幕宽度整体缩放,看起来就像真实 A4 页。 - **↑↓ 排序按钮** —— 触屏下隐藏拖拽手柄,每个可排序列表改为上/下按钮。 - **PDF 导出分辨率** 在移动端降低(`scale: 1.5` 而非 `2`)以节省内存。 ## 开发 ```bash npm install npm run dev # 监听构建 npm run build # 类型检查 + 生产构建 ``` ## 许可协议 MIT