为什么要自己写

用 Obsidian 写东西,发小红书的时候排版是最痛苦的环节。写完之后要截图、拼图、调字号——每发一篇都像在做手工活。

试过社区里的排版插件,打开源码看了一眼,模板和样式混在一起,扩展性不够。我需要的是能精确控制字体、行高、字间距、封面效果的东西,而且每篇文章的配置要能独立保存。

现有插件的设计目标和我的需求不在一个方向上,所以跟 Claude 一起从零写了一个。

Note Renderer

一个 Obsidian 插件,在侧边栏实时预览排版效果,写完 markdown 直接导出小红书可用的分页图片。

核心能力:

  • 9 套内置主题:从极简白(paper)到水墨金(ink-gold)到莫兰迪色系(sage / mist / rose),一键切换
  • 中文排版:50+ 字体可选(黑体、宋体、仿宋、楷体、圆体),字号 24-72px,行高和字间距实时调
  • 封面设计:支持富文本封面(markdown + HTML)、背景图叠加、描边/发光/色带效果
  • 智能分页:自动在段落边界分页,也可以用 --- 手动控制
  • 全屏图片页![[image|full]] 语法,图片独占一页,无边距
  • 预设系统:保存/加载命名配置,适合多篇文章流水线排版
  • per-note 配置:每篇文章在 ## renderer_config 里锁定自己的主题和参数
  • 一键导出:所有页面打包成 ZIP,每页一张 PNG
  • AI 辅助排版:附带 headless Chrome 预览脚本,AI 可以直接看到渲染结果来调整分页和高亮

两种页面比例:长文 3:5(1080×1800)和图文 3:4(1080×1440)。

开发方式

用 Claude Code + vibe coding 的方式开发。第一版大概半小时跑起来,后面陆续迭代了主题系统、封面效果、预设管理、全屏图片等功能。

技术栈:TypeScript + esbuild,渲染引擎用 marked,导出用 html-to-image + jszip,预览脚本用 puppeteer-core。

获取

GitHub:https://github.com/filosfino/obsidian-note-renderer

MIT 协议,已提交 Obsidian 社区插件市场审核。目前可以从 GitHub Release 手动安装。

可以来我的小红书主页了解

欢迎试用,有问题提 issue。

 

0
0