{"repo":"fxyadela/write-then-publish","free":true,"listed":false,"github":"https://github.com/fxyadela/write-then-publish","clone":"git clone https://github.com/fxyadela/write-then-publish.git","description":"本地优先的中文内容排版工具：把 Markdown 转成小红书图文卡片、公众号长文和可下载图片，并支持 Obsidian 工作流。","language":"JavaScript","stars":200,"topics":["canvas","chinese-content","content-creator","markdown-editor","obsidian","publishing-tool","wechat","xiaohongshu"],"license":null,"category":"productivity","readme_excerpt":"写了就发 · Write Then Publish 写完，不必再到处排版。 一份内容，在同一个工作区完成图文卡片、公众号长文、图片与实况排版，再直接导出。 在线使用 · 核心功能 · 本地运行 · 能力矩阵 1920 × 1278 全屏实际页面 ：左侧保留完整编辑框，右侧同时显示 9 张图文卡片；示例使用 1,853 字原创长文和真实图片，没有占位卡片。 把“写完之后”的最后一公里，收进一个页面 写了就发不替你写内容，专注解决分版、排版、素材处理、多格式复用和发布前确认。 同一份正文，两种输出 图文卡片自动分页，公众号长文保留 Markdown 结构。切换模式只改变输出形式，不会重写正文。 图片即传即排 支持上传、粘贴、拖放和批量导入；图片可以裁剪，并在预览区直接调整大小、位置和对齐。 Obsidian 双向同步 读取 Wiki 图片引用；有目录权限时写回 Markdown 与附件，没有写入权限时明确降级为 ZIP。 同一份内容，真实切换为图文卡片与公众号长文 下面两张图均来自最新版实际运行页面。截图按完整宽度独立展示，避免并排压缩后看不清界面文字。 图文卡片 全屏多卡片工作区 左侧显示完整编辑框，右侧三列并排展示 9 张卡片，前两排和包含真实图片的卡片同时可见。标准输出为 1728 × 2304 PNG，默认正文 34 号。 图文卡片支持标题、引用、强调色、头像、普通图片和 Live Photo 混排；需要时可仅在首页显示头像，为后续页面留出更多正文空间。 公众号长文 全宽公众号长文 长文保留标题、列表、引用、代码、表格和正文图片，支持主题、字体、字号与主题色设置。可以下载 PNG 长图、复制公众号富文本，或在配置完成的 macOS 本地版同步到公众号草稿箱。 Live Photo 单张看细节，批量预览并一次下载整组内容 视频可以和头像、标题、正文一起排进图文卡片。插入时选择平台、画面比例、片段与声音；导出前可以检查单张效果，也可以按原始页序预览整组内容。 单张预览与下载 完整单张下载面板 上方可长按预览动态效果；下方明确显示 1 张实况照片 、文件大小、发布平台与时长、手机交接步骤和下载按钮。 批量预览与下载 完整批量下载面板 左侧显示 Live Photo 当前页与整组缩略图；右侧明确列出 1 张实况照片 、 12 张高清图片 、手机交接步骤和“下载全部内容”按钮。普通图片与实况页按原始顺序打包，不会打乱整组内容。 完整操作页面 平台、比例、片段与声音都在同一画面内 - 小红书默认 5 秒，公众号默认 3 秒； - 长视频会显示缩略图时间轴，可拖动选择片段； - 支持画面裁剪、比例调整和原视频声音开关； - 源视频短于目标时长时，片段时间轴自动隐藏。 真实 3 秒视频节选 点击画面查看真实 3 秒 MP4 节选 。这不是示意动画，和截图中的人物、字幕及场景来自同一段实际视频。 生成与手机交接 支持 WebCodecs 的浏览器会在本地完成画面合成、封面帧、Apple 配对标记与打包。标准交接路径为： 不要把 JPG 和 MOV 分开发送，否则可能丢失 Apple Live Photo 配对信息。 “原视频不上传”只指浏览器本地生成这条路径。登录后的云端草稿同步会另行备份项目素材；不支持 WebCodecs 时，在线版还可能使用私有云端任务兜底。希望素材始终只留在当前设备时，请使用游客模式和受支持的浏览器。 核心功能 图片裁剪与拖动排版 - 上传、粘贴、拖放或批量导入图片； - 支持自由、原图、 1:1 、 4:3 、 16:9 、 3:4 ","default_branch":null,"files":null,"tree":[],"storefront":"/r/fxyadela","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/fxyadela/write-then-publish/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}