Files
note2any/todolist.md
2025-10-10 17:00:09 +08:00

7.2 KiB
Raw Blame History

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

  5. 按4重构后。obsidian一直处于“加载工作区中”。在“安全模式”下打开obsidian再在设置下关闭安全模式插件能正常加载但右上角弹出提示“获取样式失败defaultldefault请检查主题是否正确安装。”

修复后重启obsidian还是一直处于“加载工作区中”。但从安全模式进入在关闭安全模式插件正常加载且没有错误提示。

SOLVEobsidian控制台打印信息定位在哪里阻塞AI修复。

  1. 把代码逻辑中的所有css移到styles.css中。

  2. 小红书模式,页面渲染使用选择的主题。参考微信公众号模式进行渲染。

  3. 需求小红书模式下html渲染后按照previewWidth × previewHeight 的预览窗口尺寸切割,内容不能丢失。 主题、字体、字大小变化时,需要进行重新分页,保持内容不丢失。 去掉主题设置,使用全局主题设置。(️先简化,后续小红书和微信公众号应主题应该需要独立开。) 去掉字体设置,使用主题字体。 字体大小支持直接编辑。 问题: - 字变大时,一页的内容放不下,重新分页应该会增加页数。但现在重新分页当前页放不下的内容只是被剪掉了。 - 表格显示不完整。

  4. styles.css中有很多冗余。改为grid布局。部分完成这部分需要后面手动调整重构。🧶 ♻️ ❇️ 问题:小红书预览布局有问题

    小红书布局改为grid但平台选择器部分没有完成修改。 保持微信和小红书页面一致性都用grid重构复用css样式代码。

  5. 新建docs文件夹把除了README和todolist以外的markdown文件放到docs中。

经验

  1. 在不确定AI是否理解或者需求是否准确的情况下先用codex chat模式提问看回答确定AI理解是否准确。 尤其对于较大规模的重构需求,这点很重要 ‼️

  2. 复杂页面codex生成的css可能无比复杂不便于维护修改。 自己写布局demo原型让codex参考布局修改(原来元素美化的css可保留)。 demo原型可以手绘后拍照让chatgpt生成在此基础上自己修改。