Files
note2any/todolist.md
2025-10-09 21:19:57 +08:00

129 lines
7.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# todo list & recording
## 功能
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. 小红书模式问题:
- html分页预览不是从顶部开始显示显示不完整。
- 预览窗口似乎只显示了一部分?上面部分被挡住了吗?
- 参考微信公众号模式下的预览窗口,不同点在于小红书模式下,每页的宽高比按配置要求。
4. 修改:
- 公共部分独立出来如“发布平台”放在新建platform-choose.ts中“发布平台”选择切换平台逻辑放在该模块中便于以后其他平台扩展。
- 其他所有组件独立。node-preview.ts改为mp-preview.ts, 专门用于处理微信公众号模式下的页面和逻辑处理preview-view.ts改为xhs-preview.ts专门用于小红书模式下的页面和逻辑处理。
效果不理想。❌,需求修改如下:
目前mp-preview.ts中既实现微信公众号micro-publicmp的处理逻辑又实现小红书xiaohongshuxhs的处理逻辑模块不清晰。优化
- 平台选择是公共部分组件及逻辑放在新建的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还是一直处于“加载工作区中”。但从安全模式进入在关闭安全模式插件正常加载且没有错误提示。
SOLVEobsidian控制台打印信息定位在哪里阻塞AI修复。
6. 把代码逻辑中的所有css移到styles.css中。
7. 小红书模式,页面渲染使用选择的主题。参考微信公众号模式进行渲染。
8. 需求小红书模式下html渲染后按照previewWidth × previewHeight 的预览窗口尺寸切割,内容不能丢失。
主题、字体、字大小变化时,需要进行重新分页,保持内容不丢失。
去掉主题设置,使用全局主题设置。(❗️先简化,后续小红书和微信公众号应主题应该需要独立开。)
去掉字体设置,使用主题字体。
字体大小支持直接编辑。
问题:
- 字变大时,一页的内容放不下,重新分页应该会增加页数。但现在重新分页当前页放不下的内容只是被剪掉了。
- 表格显示不完整。
9. styles.css中有很多冗余。改为grid布局。部分完成这部分需要后面**手动调整**重构。🧶 ♻️ ❇️
问题:小红书预览布局有问题❓
小红书布局改为grid但平台选择器部分没有完成修改。
保持微信和小红书页面一致性都用grid重构复用css样式代码。
10. 新建docs文件夹把除了README和todolist以外的markdown文件放到docs中。
## 经验
1. 在不确定AI是否理解或者需求是否准确的情况下先用codex chat模式提问看回答确定AI理解是否准确。
尤其对于较大规模的重构需求,这点很重要 ‼️ 。
2. 复杂页面codex生成的css可能无比复杂不便于维护修改。
自己写布局demo原型让codex参考布局修改(原来元素美化的css可保留)。
demo原型可以手绘后拍照让chatgpt生成在此基础上自己修改。