Skip to content

Latest commit

 

History

History
212 lines (152 loc) · 19.9 KB

File metadata and controls

212 lines (152 loc) · 19.9 KB

Changelog

1.7.0 (2026-07-28)

  • 新增重复日程,与常见日历应用一致采用规则型:日程只存一条重复规则,视图按规则展开成一个个实例,改规则整串跟着变,不会在数据里堆出几百条副本。
  • 频率沿用简洁档位:每天 / 每个工作日 / 每周 / 每两周 / 每月 / 每年;结束方式为永不 / 重复次数 / 某日结束。每月、每年按同一日号推进,遇到没有该日号的月份(如 31 日、闰日)自动跳过;每个工作日只落在周一至周五。
  • 修改或拖动重复日程时会询问改动范围:仅此日程(把这一次从系列里摘出去,单独保存)、此后所有日程(原系列在此之前结束,从这一次起另开一条,剩余次数自动带过去)、全部日程(整串跟着变)。删除同样三选一。
  • 重复待办逐次记录完成状态:勾掉今天不会把整串一起划掉。
  • 重复日程在日 / 周 / 月视图的事件块上显示循环标记,编辑弹窗顶部另有「每周 · 共 6 次」这样的规则说明。
  • 修复日程块与日程面板内无法触发思源全局快捷键(如打开设置)的问题:挂件运行在 iframe 中,键盘事件不会冒泡到思源宿主,现在带修饰键的组合会转发给宿主处理,输入框内的 ⌘C/⌘V/⌘Z 等编辑组合仍由挂件自己处理。
  • 修复顶部锚点按钮在翻页后仍显示绑定日期/周次的问题:按钮现在显示当前正在查看的日期或周次,只有正好停在绑定值上时才高亮,一眼能看出点它可以回到绑定范围。

1.6.6 (2026-07-21)

  • 将文档内嵌日程从挂件块改为 IFrame 块,保持原有日/周/月视图、块属性与高度行为不变,并符合插件集市对非挂件内容的块类型要求。

1.6.5 (2026-07-12)

  • 补全面板页签的首次拖选恢复:思源可能在面板打开时预先激活宿主 iframe,现改为按每个日历实例是否真正接收过鼠标序列判断,并在面板失焦或隐藏后重新准备首次交互。
  • 避免指针已经按下后再执行延迟的 calendar.updateSize(),防止布局预热插入拖拽中途而打断 FullCalendar 的选择状态。

1.6.4 (2026-07-11)

  • 修复嵌入思源文档的日程块偶发需要先点击已有日程,之后才能拖选新建的问题:首次交互前现在会同时激活宿主 iframe 与挂件内部窗口;若 Chromium 在激活 iframe 时吞掉 FullCalendar 依赖的首次 mousedown,插件会补发该起始事件并继续接收真实移动与释放事件,避免拖拽序列被打断。

1.6.3 (2026-06-18)

  • 修复周视图全天事件同时出现事件卡片左边框和内部色条的重复显示问题,统一保留周视图原生卡片色条。
  • 收紧快捷添加日程弹窗的高度与底部间距,减少表单下方多余空白。

1.6.2 (2026-06-18)

  • 修复跨日事件在明暗主题切换后只有其中一个日期片段更新配色的问题;现在同一事件被拆分出的全部可见片段都会同步刷新。

1.6.1 (2026-06-17)

  • 修复日程块切换到夜间主题后,已渲染的旧事件仍保留浅色背景的问题;现在主题同步后会重新计算当前视图事件块配色。
  • 更新插件图标为铺满画布的 Google Calendar 风格图标,避免在集市列表中显得过小。
  • 更新集市预览图,改为使用匿名示例数据生成的真实周视图截图。

1.6.0 (2026-06-16)

  • 新增日程关键词搜索:在新建按钮左侧增加顶栏内联搜索框,可按标题或备注即时过滤当前日 / 周 / 月视图中的日程,并可与颜色筛选同时使用。
  • 优化中文输入体验:拼音组词过程中不触发过滤,候选词正式上屏后再刷新搜索结果。

1.5.6 (2026-06-15)

  • 修复新建/编辑事件时所有事件块整体闪烁:改为单事件增量刷新,新建、编辑、删除、勾选待办都只更新对应的那一个块,不再 refetchEvents() 整表重建,其余事件块全程稳定不闪。
  • 新建事件支持颜色实时预览:在新建弹窗里修改颜色、时间、标题时,日历上的事件块即时跟随变化(此前颜色必须保存后才生效)。原因是事件块配色由 CSS 变量决定,而 setProp 不会重跑挂载钩子,现已在改色时直接更新已渲染元素。
  • 修复部分事件“凭空消失”:移除按文档(docId)隔离机制,所有日程块(面板与任意文档内的嵌入块)统一显示全部事件,回归单一全局日历;历史上被误打文档标签的事件已归位。

1.5.5 (2026-06-14)

  • 修复快捷键呼出的添加日程弹窗背景显示问题;优化 quickadd 模式下的弹窗样式。

1.5.4 (2026-06-15)

  • 将「添加日程」默认快捷键由 Option+Command+K 调整为 Option+Command+S;新增「打开日程面板」命令,默认快捷键为 Option+Command+Shift+S
  • 在日程块 iframe 与独立日程面板内部补充单键 S 快捷键,鼠标聚焦日程块后仍可呼出添加日程弹窗,且输入框内不会触发。
  • 日/周视图的全天事件增加小型颜色标记,避免全天行事件在浅色显示下丢失颜色识别。

1.5.3 (2026-06-15)

  • 修复未固定顶栏图标时的菜单定位:当「日程块」被收进思源右上角「插件」菜单后,点击插件列表中的入口不再因事件坐标和隐藏顶栏按钮失效而跳到窗口左上角;菜单会优先锚定右上角插件入口,保持与思源原生插件菜单一致的位置。

1.5.2 (2026-06-14)

  • 修复首次交互偶发失效:增强日程块 iframe 首次获得焦点时的交互预热逻辑,覆盖鼠标、触控与 FullCalendar 拖拽状态机,避免刚打开笔记后首次拖选新建或拖动已有日程偶发无响应。

1.5.1 (2026-06-14)

  • 修复截图布局塌陷:修复了在侧边栏面板等状态下对日程进行截图导出时,由于 CSS 强制覆盖滚动容器导致日历主体网格塌陷为零高度的 Bug。现在采用 FullCalendar 官方推荐的 setOption("height", "auto") API 动态调整高度,可完美截出完整的日程视图。

1.5.0 (2026-06-14)

将日程块和面板的事件配色风格全面进化为 Apple 日历样式:

  • 极简视觉设计:将全实心色块设计升级为带有左侧粗色条、背景轻量半透明柔和渲染的卡片式现代质感(Apple 日历同款风格)。
  • 智能高对比度文字:使用 CSS color-mix 算法,在亮色和暗色主题下自动计算最匹配的高可读性前景色,确保各种深浅的自定义颜色均具有优秀的视觉对比度。
  • 动态组件自适应
    • 在文档挂件的普通月视图下,自动隐藏冗余的内部 marker 色条,直接利用事件卡片的左侧色条提供清晰的颜色区分。
    • 在侧边栏面板的超窄月视图下,依然维持原先极简透明的 marker 列表样式,保证极窄宽度的阅读体验。
    • 待办事项的复选框自动同步继承最新的高对比度文字颜色,色彩更协调。

1.4.1 (2026-06-14)

针对 1.4.0 面板及月视图新功能的细节微调与修复:

  • 待办对齐:微调月视图的待办复选框尺寸(13px)与左侧色条 marker 齐平,并与右侧事件标题垂直居中,优化视觉对齐效果。
  • 时间指针:当前时间指针自适应当前主题的前景色(亮色主题下近黑,暗色主题下近白),避免与任何事件颜色冲突。
  • 弹窗修复:修复「还有 N 项」弹窗落在「今天」格子上时因今日高亮误染变成半透明的穿透重叠 Bug。

1.4.0 (2026-06-14)

一次较大的版本更新:在原有「嵌入文档的日程块」之外,新增了一个独立的全局日程面板,并补齐月视图、农历、面板天气等能力,同时对配色、待办、弹窗等细节做了系统性打磨。

重磅新增

  • 新增独立日程面板:通过顶栏「日程块」菜单的「打开日程面板」在标签页中打开,承载同一套日程数据,但以更大画幅呈现,适合当作个人日程主视图。
  • 面板内支持日 / 周 / 月三视图自由切换(嵌入文档的日程块仍保持单一视图、互不混切的设计)。
  • 新增月视图:每格显示公历+农历,事件以点状色条紧凑排布,超出时折叠为「还有 N 项」弹窗;月视图日期之后会显示当天天气图标。
  • 面板自动跟随当前时间:当前时间指针每分钟自动下移,跨过午夜会自动翻到新的一天(前提是正停留在当前日期范围内),切回窗口时也会重新校准——与「日历块/周历块一次绑定即固定」的逻辑不同,无需手动关开。
  • 日期头、月视图均接入农历显示。

配色

  • 默认取色板改用 Apple 系统色(Calendar 同款):绿 #34c759、蓝 #007aff、红 #ff3b30、黄 #ffcc00、紫 #af52de。整体更和谐耐看,月视图下蓝绿也清晰可分;亮色(黄、绿)会自动切换为深色字保证可读性。

优化与修复

  • 修复日 / 周视图「全天」行悬停时冒出一个无意义小圆点的问题(FullCalendar 在全天行残留的空日期数字)。
  • 恢复待办事件的白点底纹:未完成待办在原色块上叠加白点纹理,勾选完成后白点消失、色块回归普通样式(月视图点状事件除外,避免发虚)。
  • 月视图待办复选框颜色改为跟随事件标题色,与日 / 周视图保持一致,不再跟随色块颜色。
  • 已选天气图标去除灰底,灰底仅在天气弹窗中用于标识当前所选项。
  • 颜色管理:移除「拖动排序 · 点击改色」提示文字;拖拽柄改用与记账块一致的六点式手柄。

1.3.5 (2026-06-14)

  • 重构快捷命令「添加日程」的弹窗容器:改用思源原生 Dialog 机制,彻底消除之前高斯模糊遮罩在某些情况下呼出时的明显抖动与卡顿。
  • 对齐记账块的轻量交互体感:在保留日程卡片原有大小、配色面板、备注字段等丰富样式的同时,实现无缝无阻断的原生弹窗录入体验。
  • 微调默认取色板:调整为 Notion 风格低饱和度默认色系,提升事件色块在深浅主题下的整体文字可读性与高级视觉感。

1.3.4 (2026-06-13)

  • 重构设置面板的绑定周次交互:将原先易产生兼容性问题的 HTML5 week 输入框,替换为直观的文本输入框,并支持回显和直接保存汉化后的周次格式(如 2026年第24周)。
  • 智能光标聚焦机制:点进设置时,代码会通过 setSelectionRange 智能检测并仅高亮选中“周次数字”部分(如 24),使用户可直接打字或修改周数而无需手动移动光标,交互更加自然。
  • 优化顶栏按钮样式:设置、筛选、截图与新建等按钮调整为扁平化、无硬边框的圆角矩形,在常态下呈现柔和浅灰色,悬浮变亮,整体视觉效果更克制、精美。
  • 重构中间的锚定状态按钮(周/日按钮)样式:常态下采用偏浅色的扁平化无框风格;激活(已锚定)状态下学习记账块周账按钮的精美卡片样式,增加柔和内描边和浅阴影。同时修复了截图导出时因未清除 box-shadow 阴影和卡片背景,导致 html2canvas 渲染出灰色和白色拼接瑕疵的 Bug。
  • 改进中间周视图标题格式:由原先的 2026-W24 优化为更符合阅读习惯的 2026年第24周 格式,与记账块周账标题风格统一,且不影响内部逻辑。
  • 调整日历表头今天状态的星期几和日期样式:日期和农历回归自然原色与浅色,星期几方块调整为温和的浅灰色背景(比今天整列的背景稍深),移除刺眼的高饱和度强调色。
  • 统一翻页及操作按钮的圆角和尺寸,全方位提升交互界面的整体美观度。
  • 优化天气选择与展示外观:被选中的天气选项背景改用无高亮、更显素雅克制的淡灰色背景(跟周几旁边的灰色背景保持一致,回退高饱和度强调色)。同时,移除日历今天列头部天气图标的高亮颜色,使其与普通日子天气高亮状态完全一样,视觉效果更加和谐一致。

1.3.3 (2026-06-13)

  • 新增日程时,拖选/临时镜像会沿用最近一次新建或编辑使用的颜色,避免先显示蓝色、打开编辑后再跳成最近颜色。
  • 编辑或新建日程时选择颜色,会同步更新下一次新建日程的默认颜色;取色板变动后会自动回退到仍然可用的颜色。

1.3.2 (2026-06-13)

  • 修复日程块 iframe 未获焦点时,首次双击空白区域或拖选新建可能无响应的问题。
  • 保留空白区域单击不新建的设计:仍需双击或拖选创建日程。

1.3.1 (2026-06-13)

  • 优化短日程时间显示逻辑:限制时间文本(.cb-event-time)在单行布局中不被压缩及换行,优先保证时间字样(如 23:30-23:15-23:30等)完整显示,超出列宽时对事件标题进行省略截断。
  • 修复短日程样式选择器拼写错误:更正 CSS 中短日程元素 .cb-event-time/.cb-event-title 的前缀 typo,使行高、字体和紧凑单行排版样式正确生效。
  • 优化事件时长自动显示逻辑:不再因标题换行而无条件隐藏事件时长(如 (4h)),仅在事件块本身可用高度不足以容纳内容时才自动隐藏。

1.3.0 (2026-06-13)

  • 事件块新增自动用时显示:大于 45 分钟且空间充足时,在标题下显示 (1h30m) 这类总用时;15 分钟、30 分钟和 45 分钟以内事件不显示。
  • 用时显示会根据真实布局自动收起:如果事件标题换行或事件块高度不足,不占用额外空间。
  • 新增「设为待办」选项:事件可显示复选框,未完成待办使用点状纹理区分,完成后标题加删除线且恢复普通事件块背景。
  • 修复跨天定时事件的分段时间文案:首日片段显示 23:30-,次日片段显示 -4:00,避免次日错误显示为 00:00-4:00
  • 优化截图导出:取消保存不再提示失败;截图时隐藏设置、筛选、新建、截图和翻页按钮,保留日期/周次标题。
  • 修复周历块默认高度足够时仍显示滚动块的问题:只有块高度不足以完整显示 24 小时时才出现滚动条。

1.2.0 (2026-06-13)

  • 默认取色板移除首位的石墨灰(#616161),避免与主题主色重复、对比度偏弱的问题。
  • 齿轮设置弹窗新增「颜色管理」:可拖动调整颜色顺序、点击色块改色、删除已有颜色、新增颜色,改动即时保存。
  • 颜色筛选弹窗与新建/编辑日程弹窗中的取色板,均自动沿用「颜色管理」里的最新顺序,三处保持一致。
  • 取色板配置保存在 data/storage/schedule-block/palette.json,多个同时打开的日程块通过广播即时同步。

1.1.0 (2026-06-13)

  • 新增全局命令「添加日程」,默认快捷键为 Option+Command+K,可在不进入某个日程块时快速记录日程。
  • 顶栏「日程块」菜单新增「添加日程」入口,与快捷键呼出同一个添加弹窗。
  • 「添加日程」复用日程块内的新建弹窗样式,使用毛玻璃背景遮罩,并在整个思源窗口中居中显示。
  • 添加弹窗标题占位文案由「添加标题」调整为「添加日程」,语义更明确。
  • 日程块工具栏新增截图按钮,位于颜色筛选按钮右侧,可直接截取当前日历块或周历块视图为 PNG。
  • 截图导出时自动隐藏截图按钮、弹窗、备注浮层和当前时间刻度指针,避免干扰图片内容。
  • 截图保存对话框优先以桌面作为默认位置;若当前运行环境不支持指定默认目录,则自动回退到系统默认位置。

1.0.0 (2026-06-12)

  • 优化弹窗定位:按当前屏幕可见区域自动选择上方或下方显示,避免事件位于屏幕底部时弹窗被挤到不可见位置。
  • 在日/周表头增加农历月日显示,样式与公历月日保持一致。
  • 调整日程颜色排序:默认灰色保留在首位,彩色部分按红、橙、黄、绿、蓝、紫的自然顺序排列。
  • 新建日程时增加临时预览块,切换颜色会即时反映到日历视图,保存后才写入日程数据。
  • 新建和编辑日程时支持标题、颜色即时预览。
  • 新建和编辑日程改为有交互即自动保存:输入标题、修改颜色、调整时间或备注后会自动落盘;完全未操作的新建草稿关闭后不保存。
  • 齿轮设置中增加默认日程时长,可按日程块分别保存;选项为 15、30、45、60 分钟。
  • 改开始时间时保持原时长,自动平移结束时间。
  • 增加日程数据加载保护与写前备份,避免数据文件损坏时被空数据覆盖。
  • 增加 Cmd/Ctrl+Z 撤销上一条日程数据操作。
  • 扩展文档标题日期/周次识别,支持 YYYY-M-DYYYY.M.DYYYY/M/DYYYY年M月D日YYYYMMDDYYYY-WwwYYYY年第W周
  • 翻页时不再重复写入未变化的视图属性,减少无意义的文档属性更新。
  • 工具栏「+」新建日程同样支持交互即自动保存,与拖选新建行为一致。
  • 「取消」按钮与 Esc 现在会真正撤回本次编辑:新建时删除已自动保存的草稿,编辑时回滚到打开前的内容;点击弹窗外部则保留自动保存结果。
  • 加大时间轴行高提升可读性;短日程改用"时间+标题"单行紧凑显示,显示高度严格按真实时长,不再遮挡相邻日程。
  • 日程数据写入串行化,避免快速连续操作时的并发写竞争;单次保存失败不再影响后续保存。
  • 数据读取失败进入只读保护后,每 30 秒自动重试加载,恢复正常即解除保护。
  • 新建日程块默认高度调整为可完整显示 24 小时(1330px),无需手动拉伸。
  • 默认新建日程时长由 1 小时改为 30 分钟(仍可在齿轮设置中按块调整)。
  • 空白区域单击不再触发新建,改为双击或拖选才新建(对齐 Notion 日历),点击已有日程的编辑行为不变。
  • 拖选跨过两天临界点(如 23:00 到次日 00:00)时,弹窗明确保留第二天日期与时间;起止日期始终显示,避免午夜边界被误解为同日时间。
  • 调整编辑弹窗日期/时间布局:起止日期同排显示,日期行与时间行按开始/结束两列上下对齐。
  • 修复重启思源后旧日程块不显示历史事件的问题:旧数据中空 docId 的全局事件会继续在文档日程块中显示,不再被文档过滤条件误排除。
  • 支持为每天设置极简天气标记(晴、阴、雨、雪):表头改为两排显示,上排为公历与农历,下排为星期与天气图标;天气独立保存到 weather.json,不影响日程数据。
  • 工具栏新增按颜色筛选按钮,可按事件颜色控制当前日程块显示哪些日程;筛选色板顺序与新建日程色板一致。
  • 设置弹窗文案优化:「绑定周」改为「绑定周次」,「默认时长」改为「默认事件时长」。
  • 优化颜色筛选交互:全选状态下点击某个颜色会直接只显示该颜色;筛选状态下可继续增减颜色,并可一键恢复全部颜色。
  • 设置、筛选、新建、天气按钮支持再次点击同一按钮关闭对应弹窗。
  • 修正时间轴顶部 00:00 标签被裁切的问题。
  • 鼠标悬停在带备注的日程上会显示备注浮层,移开后自动隐藏。
  • 修正设置、筛选、新建和天气按钮二次点击会先关闭再重新打开的问题。
  • 优化编辑弹窗日期/时间两行的对齐,起止分隔符统一改为右箭头。
  • 工具栏「+」新建日程默认从当前时间开始,并按默认事件时长计算结束时间。
  • 修复新插入日程块首次加载时可能未拿到宿主块 ID,导致文档标题日期(如 2026-6-13)未生效而回落到当天的问题;插入端现在会直接传入并持久化默认日期。
  • 文档标题周次识别增加中文格式,例如 2026年第26周2026年26周