# todo list ## 功能 1. 实现markdown预览页面切图功能,预览页面是以完成渲染的页面,生成一整张长图。再按文章顺序裁剪为图片(png格式)。(v1.3.1) - 长图宽度为1080,可配置。切图图片横竖比例3:4,图片宽度保持与长图相同。 ✅ - 横竖比例和图片宽像素可配置。 ✅ - 标题取frontmatter的title属性。 ✅ - 图片保存路径可配置,默认为/Users/gavin/note2mp/images/xhs。 ✅ - 图片名取frontmatter的slug属性,如: slug: mmm,文章长图命名为mmm.png,如切为3张图片,则切图图片名按顺序依次为mmm_1.png,mmm_2.png,mmm_3.png ✅ - 文章预览中增加“切图”按钮,点击执行预览文章的切图操作。 ✅ 2. 说明/修改/增加: - 发布平台选"小红书"时,保留“刷新”,“发布到小红书”,去掉“切图”按钮,用"当前页切图"和"全部页切图"替代切图按钮和功能。 其他按钮及页面布局如下: +------------------------------------------------------------+ | [刷新] [发布到小红书] | ← 顶部工具栏 | [模板选择▼] [主题选择▼] [字体选择 ▼] 字体大小[- +] | ← 顶部工具栏 +------------------------------------------------------------+ +------------------------------------------------------------+ | @Yeban 夜半 2025/10/8 | ← 作者信息行 | | | 17日下午课程:《理想国》 | ← 标题 | | | 财富是好的,美德是财富的结果。... | ← 正文(多行) | | | 欲望中解放出来,可以做很多事情... | | | | (正文继续,多段落) | | | +------------------------------------------------------------+ [ ← 2/7 → ] ← 分页导航 +------------------------------------------------------------+ | [⬇ 当前页切图] [⇓ 全部页切图] | ← 底部操作栏 +------------------------------------------------------------+ ✅ 效果参考附图。 ✅ - 先对html分页,在预览中分页显示。 - 页面适配切图比例的设置。 - 确保表格和图片不跨页面显示。 - 点击"模版选择",可以选择渲染的模版。点击"主题选择",可以选择渲染的主题。点击"字体选择",可以选择字体。 - 点击"+"所有字体加一号,点击"-"所有字体减一号。 - 点击"当前页切图",把当前html页面转为png图片,图片保存路径和命名按此前设置。 - 点击"全部页切图",把所有html页面转为png图片,图片保存路径和命名按此前设置。 ✅ ## 问题 1. "发布平台"首次选“小红书”时,预览页面没有加载当前文章。 ✅ 2. 顶部按钮适应窗口宽度,超出窗口,折行显示。 ✅ 3. 小红书模式,页预览不完整 4. 修改: - 公共部分独立出来,如“发布平台”,放在新建platform-choose.ts中,“发布平台”选择切换平台逻辑放在该模块中,便于以后其他平台扩展。 - 其他所有组件独立。node-preview.ts改为mp-preview.ts, 专门用于处理微信公众号模式下的页面和逻辑处理;preview-view.ts改为xhs-preview.ts,专门用于小红书模式下的页面和逻辑处理。 效果不理想。❌,需求修改如下: 目前mp-preview.ts中既实现微信公众号(micro-public,mp)的处理逻辑,又实现小红书(xiaohongshu,xhs)的处理逻辑,模块不清晰。优化: - 平台选择是公共部分,组件及逻辑放在新建的platform-choose.ts中,platform-choose.ts的“发布平台”选择切换平台。 公共部分独立,便于以后其他模式的扩展。 - mp-preview.ts改为wechat-preview.ts,专注处理微信公众号页面和逻辑处理。 - preview-view.ts改为xhs-preview.ts,专门用于小红书模式下的页面和逻辑处理。 - platform-choose.ts平台选择后,依据选择模式,调用wechat-preview.ts(微信公众号)或xhs-preview.ts(小红书)中的方法进行组件、页面渲染和逻辑处理。 - wechat-preview.ts中保留微信公众号模式(micro-public,mp)相关的处理逻辑,小红书处理逻辑移到xhs-preview.ts中。 ![参考ARCHITECTURE_REFACTORING_COMPLETE.md](ARCHITECTURE_REFACTORING_COMPLETE.md) ✅ 5. 按4重构后。obsidian一直处于“加载工作区中”。在“安全模式”下打开obsidian,再在设置下关闭安全模式,插件能正常加载,但右上角弹出提示“获取样式失败defaultldefault,请检查主题是否正确安装。” 修复后,重启obsidian还是一直处于“加载工作区中”。但从安全模式进入,在关闭安全模式,插件正常加载,且没有错误提示。 SOLVE:obsidian控制台打印信息,定位在哪里阻塞,AI修复。 ✅ 5. 把代码逻辑中的所有css移到styles.css中。✅