Files
note2any/release.md
2025-10-21 21:47:02 +08:00

12 KiB
Raw Blame History

版本信息

‼️ 发布版本时填写,供脚本~/pubsh/release.sh使用

v1.3.12

🚀 核心架构重构与优化

新增核心模块系统

  • ErrorHandler: 统一错误处理机制,提供集中化的错误管理和用户友好的提示
  • ProgressIndicator: 全新的进度反馈系统,为长时间操作提供实时状态更新
  • ConfigManager: 中心化配置管理,支持运行时配置验证和热更新
  • PublisherInterface: 标准化平台发布接口,支持多平台扩展
  • PublisherManager: 统一的发布平台管理器
  • ContentProcessor: 模块化内容处理流水线

专业化处理模块

  • GalleryProcessor: 专门处理图库短代码,支持目录式和块级图库
  • ImageProcessor: 统一图像处理接口支持WebP转换、批量处理、微信上传
  • HtmlProcessor: HTML内容生成和格式化支持响应式设计和移动端优化

架构改进

┌─────────────────────────────────────────────┐
│   Core System Layer (新增)                  │
│   - ErrorHandler (错误处理)                 │
│   - ProgressIndicator (进度反馈)             │
│   - ConfigManager (配置管理)                 │
│   - PublisherManager (发布管理)              │
└──────────────┬──────────────────────────────┘
               │ 支撑
               ↓
┌─────────────────────────────────────────────┐
│   Business Logic Layer                      │
│   preview-manager.ts (中央调度器)           │
│   - 集成核心模块                             │
│   - 增强错误处理                             │
│   - 进度反馈集成                             │
└──────────────┬──────────────────────────────┘
               │ 管理
       ┌───────┼───────┐
       ↓       ↓       ↓
┌──────────┐ ┌──────────┐ ┌──────────┐
│Platform  │ │Wechat    │ │Xiaohong- │
│Chooser   │ │Preview   │ │shu       │
│(UI选择器)│ │(微信实现)│ │Preview   │
└──────────┘ └──────────┘ │(小红书)  │
                           └──────────┘

性能优化

  • 模块化加载,减少初始化时间
  • 异步处理优化,提升响应性能
  • 智能缓存机制,减少重复计算

可维护性提升

  • 明确的模块职责分离
  • 统一的接口和约定
  • 完善的类型定义
  • 向后兼容的API设计

🔧 技术改进

📚 文档更新

  • 新增系统优化报告 (OPTIMIZATION_REPORT_v1.3.12.md)
  • 更新README文档反映新的项目名称
  • 完善架构文档

v1.3.4

重构

新的架构图

┌─────────────────────────────────────────────┐
│   Obsidian Framework Layer                  │
│   preview-view.ts (ItemView 容器)           │
│   - 视图生命周期管理                         │
│   - 事件监听注册                             │
│   - 委托所有业务逻辑                         │
└──────────────┬──────────────────────────────┘
               │ 持有并委托
               ↓
┌─────────────────────────────────────────────┐
│   Business Logic Layer                      │
│   preview-manager.ts (中央调度器) ★         │
│   - 创建和管理所有子组件                     │
│   - 处理平台切换(唯一入口)                 │
│   - 协调组件交互                             │
│   - 管理渲染流程                             │
└──────────────┬──────────────────────────────┘
               │ 管理
       ┌───────┼───────┐
       ↓       ↓       ↓
┌──────────┐ ┌──────────┐ ┌──────────┐
│Platform  │ │Wechat    │ │Xiaohong- │
│Chooser   │ │Preview   │ │shu       │
│(UI选择器)│ │(微信实现)│ │Preview   │
└──────────┘ └──────────┘ │(小红书)  │
                           └──────────┘

单向数据流

用户操作 → PlatformChooser.onChange()
              ↓
         PreviewManager.switchPlatform()
              ↓
         ┌────┴────┐
         ↓         ↓
    show/hide  show/hide
    Wechat     Xiaohongshu

bug修复

症状1Obsidian 一直处于"加载工作区中"状态 症状2:进入安全模式后关闭安全模式,插件能加载但提示:

"获取样式失败defaultldefault请检查主题是否正确安装。"

v1.3.8

重新实现分页测量,清理多余日志。

  • 重新实现分页测量构建隐藏的“测量页面”与真实页面同样的宽度、内边距40px和 class逐个把克隆元素追加进去利用 scrollHeight 决定是否换页,保证 margin 折叠后计算准确 (src/xiaohongshu/paginator.ts:57waitForLayout 新增)。
  • 当元素放不下当前页时,移除测量克隆并把已排内容写入分页,再以该元素开启新页;不可分割元素允许独占一页即便超高 (src/xiaohongshu/paginator.ts:101)。
  • 清理多余日志,同时共用 PAGE_PADDING 常量让 renderPage 和测量逻辑保持一致 (src/xiaohongshu/paginator.ts:182)。

现在分页依据真实渲染高度,预览窗口内不会再丢失底部内容。建议在小红书预览里多翻几页、调整字号后重新分页验证结果。

v1.3.10

重构xhs和wechat布局统一使用grid便于维护。

v1.3.11

修改wechat封面旋转问题。对全局配置进行了重构分页显示更加清晰。

封面图片先转位png解决旋转问题。

v1.3.12

本次更新主要为项目重命名,核心功能保持不变

重大更新

项目名称变更 & 仓库迁移

样式系统更新

  • CSS类名 & 主题资源统一

v1.4.0

架构升级与代码质量提升

🏗️ 架构升级与代码质量提升

核心架构现代化

  • 模块化重构: 建立了完整的核心模块系统包含错误处理、进度反馈、配置管理等9个专业模块
  • 类型安全: 全面的TypeScript类型定义零编译错误提升代码可靠性
  • 接口标准化: 统一的平台发布接口,支持更好的扩展性和维护性

新增核心功能模块

  • 统一错误处理: ErrorHandler模块提供集中化的错误管理和用户友好提示
  • 实时进度反馈: ProgressIndicator为长时间操作提供状态更新
  • 智能配置管理: ConfigManager支持运行时验证和热更新
  • 可扩展发布系统: 标准化的平台接口,便于新平台接入

专业化处理引擎

  • 图库处理器: 专门优化图库短代码处理,支持多种格式和智能选择
  • 图像处理引擎: 统一的图像处理接口,支持格式转换、批量处理、云端上传
  • HTML生成器: 增强的HTML处理支持响应式设计和移动端优化

开发体验改进

  • 代码组织: 清晰的模块职责分离1400+行新增代码
  • 维护性: 统一的接口约定和完善的文档
  • 向后兼容: 保持现有API稳定平滑升级路径

性能与稳定性

  • 启动优化: 模块化加载减少初始化时间
  • 响应性能: 异步处理优化,提升用户体验
  • 错误恢复: 智能的错误处理和恢复机制

🔧 技术债务清理

  • 重构大型文件,提升代码可读性
  • 统一错误处理模式
  • 优化资源加载策略
  • 完善类型定义覆盖

📖 文档与工程化

  • 新增详细的架构文档和优化报告
  • 完善开发和部署流程
  • 更新项目说明和使用指南

v1.5.0

🎨 使用figma重构界面。功能完善与体验优化。

小红书平台增强

  • 可编辑页码: 页码输入框支持直接输入跳转,提升翻页效率

    • 点击页码框可直接输入目标页码
    • 支持回车键和失焦自动跳转
    • 聚焦时自动全选文本,方便快速输入
    • 输入验证:超出范围自动恢复当前页码
  • 切图功能完善: 实现完整的小红书切图保存功能

    • 支持"当前图"和"全部图"两种切图模式
    • 自动计算正确的图片尺寸(基于宽度和横竖比设置)
    • 修复切图布局问题:内容正确填充整个图片区域
    • 修复定位问题:移除 transform 缩放和 absolute 定位影响
    • 智能路径处理:支持绝对路径和 vault 相对路径
  • 路径管理优化:

    • 默认保存路径改为 vault 相对路径(xhs-images
    • 支持绝对路径(如 /Users/xxx/images/xhs/
    • 支持 vault 内相对路径(如 images/xhs
    • 自动创建不存在的目录
    • 保存成功后显示完整文件路径通知

主题系统优化

  • 统一宽度限制:

    • wx-mp-pro 主题添加 max-width: 750px 限制
    • xhs-philosophy 主题保持一致
    • 添加 margin: 0 auto 实现内容居中
    • 统一 padding 为 20px提升阅读体验
  • 主题一致性:

    • 确保不同主题在相同宽度设置下显示效果一致
    • 避免内容过度拉伸,保持舒适的阅读宽度
    • 优化移动端和桌面端的显示效果

默认设置改进

  • 默认平台调整:

    • 启动时默认显示"公众号"平台
    • 更符合主流用户使用习惯
    • currentPlatform 默认值从 xiaohongshu 改为 wechat
  • 设置界面优化:

    • 切图保存路径说明更新为"vault 内相对路径"
    • 占位符文本更新为相对路径示例
    • 添加路径类型说明,避免用户混淆

代码质量提升

  • 类型安全:

    • 添加 parseAspectRatio 函数处理横竖比解析
    • 完善 slice.ts 的类型定义和错误处理
    • 统一使用 TypeScript 严格模式
  • 函数优化:

    • 重构 ensureDir 支持两种路径类型
    • 优化图片保存逻辑,使用正确的 API
    • 改进样式恢复机制,确保预览不受影响

Bug 修复

  • 修复切图内容只占右下角的布局问题
  • 修复切图高度计算错误的问题
  • 修复绝对路径文件保存失败的问题
  • 修复主题切换时宽度不一致的问题
  • 修复页码显示元素引用错误的问题

技术细节

  • 切图时临时设置:

    position: 'static'      // 移除绝对定位
    transform: 'none'       // 移除缩放变换
    width: sliceImageWidth  // 设置实际宽度
    height: sliceImageHeight // 设置实际高度(新增)
    
  • 路径判断逻辑:

    if (isAbsolutePath(path)) {
      // 使用 Node.js fs API
      fs.writeFileSync(...)
    } else {
      // 使用 Obsidian vault API
      app.vault.adapter.writeBinary(...)
    }
    

📚 文档更新

  • 更新 README.md 反映 v1.5.0 新功能
  • 添加小红书切图功能使用说明
  • 完善路径配置说明文档