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

284 lines
12 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.

# 版本信息
‼️ 发布版本时填写,供脚本~/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设计
### 🔧 技术改进
- 重构项目名称从"note-to-mp"到"note2any"
- 更新仓库地址到 https://biboer.cn/gitea/gavin/note2any.git
- 批量更新66个CSS主题文件的类名
- 优化构建和部署流程
### 📚 文档更新
- 新增系统优化报告 (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修复
**症状1**Obsidian 一直处于"加载工作区中"状态
**症状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
本次更新主要为项目重命名,核心功能保持不变
### 重大更新
#### 项目名称变更 & 仓库迁移
- **新仓库地址**https://biboer.cn/gitea/gavin/note2any.git
- **问题反馈**https://biboer.cn/gitea/gavin/note2any/issues
- **发布页面**https://biboer.cn/gitea/gavin/note2any/releases
#### 样式系统更新
- 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 修复
- 修复切图内容只占右下角的布局问题
- 修复切图高度计算错误的问题
- 修复绝对路径文件保存失败的问题
- 修复主题切换时宽度不一致的问题
- 修复页码显示元素引用错误的问题
#### 技术细节
- 切图时临时设置:
```typescript
position: 'static' // 移除绝对定位
transform: 'none' // 移除缩放变换
width: sliceImageWidth // 设置实际宽度
height: sliceImageHeight // 设置实际高度(新增)
```
- 路径判断逻辑:
```typescript
if (isAbsolutePath(path)) {
// 使用 Node.js fs API
fs.writeFileSync(...)
} else {
// 使用 Obsidian vault API
app.vault.adapter.writeBinary(...)
}
```
### 📚 文档更新
- 更新 README.md 反映 v1.5.0 新功能
- 添加小红书切图功能使用说明
- 完善路径配置说明文档