Skip to content

Releases: MogroWangStudio/Plainstruct

Plainstruct 4.0.3 Release

Choose a tag to compare

@MogroWang MogroWang released this 09 Oct 13:03

[4.0.3] - 2026-10-09

修复

  • 独立预览窗口:机型预设下拉始终向上展开:下拉面板的翻转判断用的是完整列表的估算高度 —— 机型扩到 21 项加分组标题后约 840px,任何窗口高度都「放不下」,于是恒被判为向上翻转;但面板自身限高 320px 并在内部滚动,判断从未计入这一上限 —— 现按限高后的实际高度判断,空间足够时正常向下展开(列表超出部分面板内滚动),仅贴近窗口底部放不下时才向上翻转;其余下拉(选项少、不触及限高)行为不变

新增

  • 独立预览窗口:机型预设按品牌分组并扩充 2024–2026 机型:移动端模拟的机型下拉由平铺 12 项改为按品牌分组(Apple / 三星 Galaxy / 小米·Redmi / 华为·荣耀 / OPPO·vivo / Google),机型扩充至 21 项 —— 新增 iPhone 16 / 16 Plus / 16 Pro / 17 / 17 Pro / 17 Air / 16·17 Pro Max、Galaxy S25 / S26 及 Ultra、Pixel 9 / 9 Pro / 9 Pro XL、小米 15、荣耀 Magic7、OPPO Find X8、vivo X200 等;视口为真机常见逻辑分辨率 —— Apple / 三星 / Google 逐机型联网核对,国产机型按面板分辨率换算,同视口的相邻代机型合并为一项(如「iPhone 15 / 16」「Galaxy S24 / S25 / S26」);下拉分组标题为弱化小字,仅作视觉分隔,不参与键盘导航与选择(SelectMenu 支持可选 group 字段,其余下拉不受影响);预设合并改名后,此前记忆的旧机型名回落为默认机型(可在下拉中重选),自定义机型与视口信息展示不变

变更

  • macOS:顶栏左右边距与角落对角线对齐:主窗口红绿灯横向位置由 x=7 外移至 x=12(纵向 y=22 不变,按钮中心仍在顶栏 40px 的垂直中心),顶栏右侧同步留出 12px 边距 —— 左上角原生红绿灯与右上角的问候语 / logo 以对称内缩在两角对角呼应、不再贴近视窗边缘,垂直居中保持不变;Windows 与 Linux 布局不受影响
  • 应用版本升至 4.0.3

Plainstruct 4.0.2 Release

Choose a tag to compare

@MogroWang MogroWang released this 08 Oct 12:47

[4.0.2] - 2026-10-08

新增

  • 博客主题:顶栏导航可调节顺序,归档参与排序与重命名:顶栏自定义导航此前顺序固定随内容树,现每个选中项可在配置面板中拖动把手调节顺序,构建产物按此顺序渲染顶栏(桌面顶栏、移动端导航面板与空导航回退三处同源);「归档」常驻选择器参与勾选、重命名、排序(详见变更段);数量上限(导航最多显示)只收敛文档项,归档入口始终随开关保留
  • 博客主题:顶栏导航重命名显示原名称:重命名输入框的占位提示改为该项的原页面标题,悬停提示同步列出原名,改过名的项也能一眼对回原文
  • 博客文档:配置头新增「页面目录」开关:文档配置头新增三态「页面目录」 —— 跟随主题设置(缺省,不落字段)/ 强制显示 / 强制隐藏,按篇覆盖主题的「启用文章目录」开关;新建文档弹窗(博客站点)同步加入页面目录开关(勾选 = 强制显示,不勾选 = 跟随主题)
  • 新建文档:配置头加入「隐藏文档」开关:新建文档弹窗新增隐藏文档开关,勾选即写入 hidden: true,创建后不进文章流/导航/搜索索引,与「编辑配置头」中的同名开关语义一致
  • 搜索插件:文本框搜索栏宽度可调(双端独立):搜索入口为「长条文本框」时,插件分组新增「搜索栏宽度」滑杆(160–420px) —— 随面板桌面端/移动端标签切换分别设置 PC 与移动端宽度(不新增选项),移动端缺省沿用 PC,可一键恢复沿用;悬浮、顶栏、文档主题顶栏三种位置同一变量取宽,移动端窄屏超出时自动收窄不溢出;侧栏内仍为整行展示
  • 博客主题(移动端):站点标识顶栏居中:「品牌与标识」组新增「站点标识顶栏居中」(移动端专属,≤640px) —— Logo 与站点名在顶栏水平居中,不参与 flex 排版,目录按钮/导航仍在原位;建议配合「移动端顶栏显示目录按钮」使用
  • 博客主题(移动端):顶栏列表按钮与搜索按钮样式同步:移动端目录按钮由淡色底改为与搜索入口同材质的扁圆角矩形条(60×36、同毛玻璃背景、描边与阴影,明暗随主题自适应)
  • 博客主题(移动端):列表按钮可配置:「顶栏与导航」组新增移动端专属字段 —— 列表按钮大小(高度,宽度随比例伸缩)、列表按钮圆角、按钮填充色(暗色主题默认深色)、按钮填充不透明度与下拉列表文字对齐(左/中/右)
  • 图片预览:预览中 iframe 内嵌显示占位提示:正文手写的 iframe 内嵌在预览中改为占位提示(内嵌页面自身资源在预览中无法保证可用),提醒发布站点后正常渲染;构建产物不受影响,按改写后的页面相对地址输出

修复

  • 博客主题:隐藏目录后仍残留目录列空位:文章双栏网格此前固定两列(正文 + 188px 目录列),配置头关闭目录(或主题关掉目录开关)时目录栏不渲染,但 188px 列与 44px 列间距的空位仍在 —— 现目录未渲染时正文占满整行(五款博客主题);顺带修复正文无标题时空目录栏(「目录」标题 + 空列表)仍渲染的问题(空数组在模板中为真值,构建端不再落空字段)
  • 预览站点:iframe 内嵌、图标、图片等资源无法显示(内容页/构建页/主题页/独立窗口):两条根因 —— 其一,资源加载的内容安全策略过严,外链 http 图片、外部样式表与字体(图标字体)、http 内嵌 iframe、外链音视频被拦;现已放开资源加载(图片/样式/字体/媒体/iframe 均允许 http/https 与 data:/blob:),仅保留底线:预览窗口禁止向外部发起 fetch/WebSocket(connect-src 限同站)、禁用 object 插件与 base 劫持,构建产物中的不可信脚本仍无法外带数据;其二,正文手写的裸 HTML 内嵌此前只改写 <img> 的地址,<iframe>、<video>、<audio> 等在预览中相对地址落到应用自身 origin、在构建产物中落到当前页面目录,全部 404 —— 现统一改写这些元素的 src/poster(预览指向协议地址,构建换算页面相对地址),指向站内文档(.md)时自动指向构建后的页面
  • 图片预览:像素渲染拖影与缩放限制(逻辑重做):像素画布改为每帧全屏重绘(不再局部清除,拖影/残像根除),并去除 ≥100% 吸附整数倍的缩放限制 —— 与抗锯齿模式同一套连续缩放范围、同一套手势与补间动画,本质就是「放原图,不开抗锯齿」;此前版本的手势失效根因(隐藏 <img> 用 visibility 不参与命中,按点落到遮罩即触发关闭)已改用 opacity: 0 淡出修复,像素模式与抗锯齿模式手势完全同路
  • 友情链接配置 UI:文本框溢出(全部主题):友情链接逐条编辑的名称/链接/图标三框此前挤在一行,窄面板下明显超出配置框;现每条分行列出(名称/链接/图标各占一行,按钮附在对应行尾),条目以细边框围出,不再溢出
  • 友情链接:名称可留空(有图标时):解析端不再强制要求名称 —— 有图标时允许纯图标链接(无图标也无名称的坏行仍忽略),十款主题的名称文本改为有名称才渲染;配置面板与行文本存储格式不变
  • 主题配置:顶栏导航拖动排序无效(根因修复):排序此前基于 HTML5 Drag & Drop —— WKWebView(macOS 壳层)对 HTML5 DnD 支持不可靠,dragstart 常不触发,拖动后松手顺序无变化;现改为指针拖拽(Pointer Events + 捕获),把手按下即捕获,移到目标行上方实时重排,触屏同样可拖
  • 主题配置:顶栏导航数量与顶栏实际一致:两处修正 —— 计数改从「已选行」取值,剔除已删除文档的失效项;归档作为常驻项计入可见行,消除了「顶栏显示归档入口」默认开启时顶栏实际渲染「上限+1」项导致的数量困惑
  • 预览站点:页脚友链图标在内容页与主题页正确渲染:预览通道的友链站内图标此前按构建规则换算为页面相对地址,落到应用自身 origin 全部 404 —— 现预览下换算为协议地址,构建产物不变
  • 图片预览:像素渲染丢失阴影与圆角:像素画布此前只画图像本体,<img> 的投影(0 22px 70px)与 6px 圆角在像素模式下消失 —— 现画布先铺同参数阴影底,再按圆角路径裁剪绘制,与抗锯齿模式观感一致
  • 全部主题:移动端点按蓝色高亮框去除:WebKit 的 tap highlight 在移动端点按按钮/链接时闪现系统蓝色框 —— 十款主题与内置插件样式统一 -webkit-tap-highlight-color: transparent
  • 博客主题(移动端):下拉列表文字对齐修复:对齐枚举此前以中文原文直出 CSS(text-align: 居中 非法值,不生效) —— 现经 body 数据属性映射为合法 CSS 值,左/中/右三档正确生效
  • 图片预览:抗锯齿模式移动端性能与手感对齐像素渲染:拖拽与双指捏合的变换写入统一改为按帧合批(一帧多次 pointermove 只写一次样式),两种渲染模式共用同一套手势管线;进出场/复位等需要同步布局的路径保持原样
  • 文档主题:侧栏折叠后顶栏生硬弹出:桌面端顶栏此前以 display: none ⇄ flex 切换显隐,无法过渡;现改为常驻布局 + transform: translateY(-100%) 与 visibility 控制 —— 折叠/常显时顶栏自顶部非线性下移出现(340ms,与侧栏、下拉变形同一缓动族),展开时收回视口上方,显示方向可随时打断;「不显示」配置仍彻底移除;「减弱动态」下退化为无过渡显隐(五款文档主题同步)

变更

  • 发布页:重新发布前确认:发布成功后点击「重新发布」圆形按钮,先弹出确认询问(说明将重新提交到目标仓库并触发 Pages 构建),确认后才执行,防误触把远端覆盖一遍
  • 发布页:发布动画重做为「外圈纯扩散 + 中心加载」:发布中的动效重做为外圈纯扩散圆环(两道错相 1/2 周期,透明度长尾渐隐、起止归零,循环点无跳变,非线性缓出),按钮中心保留同色两段式加减速加载环 —— 扩散与加载各司其职;「减弱动态」下降级处理
  • 主题配置:移除「顶栏显示归档入口」独立选项:该开关由顶栏导航中归档行的眼睛开关承担(同源配置,存量站点的设置保留),配置面板不再重复出现;归档其余功能不受影响
  • 主题配置:归档常驻导航选择器:「归档」不再依赖「顶栏显示归档入口」开关才出现在选择器 —— 默认固定参与排序与重命名(未排序时居末尾),行内眼睛开关单独控制其可见/不可见(与该配置项同源);顶栏中归档按选择列表位置渲染,数量上限仍只收敛文档项
  • 主题配置:顶栏导航重命名框溢出修复:自定义名称输入框由固定宽度改为随行宽收缩(占位提示原名称),窄面板下不再超出配置组边框
  • 独立预览窗口:返回按钮重绘:右上角「返回软件界面」按钮由分栏图标改为返回箭头图标(横线自右折回左上的角标箭头),与应用内「撤销/返回」图标族一致
  • 应用版本升至 4.0.2

Plainstruct 4.0.1 Release

Choose a tag to compare

@MogroWang MogroWang released this 07 Oct 15:39

[4.0.1] - 2026-10-07

修复

  • macOS:红绿灯与顶栏垂直居中:主窗口的红绿灯此前明显偏高(顶栏 40px,按钮却贴近视窗顶端) —— 根因是对 trafficLightPosition 纵向值的理解错误:tao 并非把它当作「按钮距顶偏移」,而是把标题栏容器高度设为**「按钮高(实测 14) + y」并让按钮贴容器底 9px,即按钮中心距顶 = y − 2**;本机以同款窗口样式逐点实测标定(原生 y=18 → 按钮 9–14px,旧 y=14 → 5–10px),现主窗口改为 y=22(按钮中心 20px = 顶栏 40px 的垂直中心),独立预览窗口(44px 顶栏)同步由 16 修正为 y=24;保持原生控件,仅调位置
  • 弹窗:空白区域点击关窗此前完全无效(Vue Boolean prop 语义坑):模态外壳以可选 Boolean prop backdropClose 表达「缺省响应空白点击」,但 Vue 运行时对未传值的 Boolean prop 给出的是 false 而非 undefined,于是「缺省」被误判为「强制不响应」,所有未显式传值的弹窗(配置头编辑、插入图片/链接等)点击空白毫无反应 —— 现改为正向语义的 backdropDisabled(未传 = 不禁用 = 跟随设置),歧义消除;同时把空白关窗行为抽为共享 composable,补齐此前未接线的 5 处自绘弹窗(新建站点向导、新建文档、文件树移动对话框、主题「复制为新主题」询问、资产移动对话框),空白点击计数在各弹窗打开时清零,避免上一次会话的残留计数让新弹窗一次点击即关

新增

  • 发布页:绿色发布球点击询问查看站点:发布成功后大按钮转为绿色打勾,此时点击它不再误触重新发布,而是先看 Pages 构建状态 —— 构建完成则弹窗询问「是否前往查看已发布的站点?」(前往查看 / 稍后再说,确认后打开站点域名或 Pages 地址),未构建完成(监听进行中或单次检测仍在构建)则提示「请耐心等待 Pages 构建完成,稍后方可访问已发布的站点。」,构建失败照常给出失败提示;监听失败/超时等状态未知时,点击先单次检测 Pages 状态再分流,查询异常按可访问降级交由弹窗决定;重新发布仍由绿色态下方浮现的专用圆形按钮承担
  • 弹窗:空白区域点击关窗(默认两次)与未保存保存询问:4.0.0 的「点击空白不关窗」升级为可配置的防误触关窗 —— 默认点击两次弹窗外的模糊空白区域才关窗,首次点击轻提示「再次点击空白区域即可关闭窗口」,点进弹窗内即重新计数;关窗前若弹窗内表单有未保存改动,先弹出保存询问(保存并关闭 / 不保存 / 取消,取消留在弹窗继续编辑,保存动作与弹窗自身的确认按钮同义,必填缺失时保持打开);改动检测覆盖配置头可视化编辑、插入图片、插入链接、重命名/新建询问与文件夹页面配置等表单弹窗(新建文档弹窗为草稿式创建,不询问);右上角关闭按钮、取消按钮与 Esc 的既有行为不变
  • 设置:空白区域点击关窗选项:个性化设置「弹窗背景模糊」之下新增**「空白区域点击关窗」** —— 点击后不关闭窗口 / 点击一次关闭窗口 / 点击两次关闭窗口(缺省),即刻生效并随设置落盘;确认框类弹窗(删除确认、覆盖云端询问等)也跟随该设置,空白点击视为「取消」

变更

  • 主界面:悬停菜单「返回主菜单」固定角落:鼠标悬停顶栏 logo(品牌区)时,快捷入口重排 —— 「返回主菜单」固定出现在 logo 所在角落(Windows 左上角 / macOS 右上角,macOS 以反向排列落至右端),「查看发布状态」「预览站点」依次排在其后(竖线分隔并留出空隙),滑入方向与分组不变
  • 应用版本升至 4.0.1

Plainstruct 4.0.0 Release

Choose a tag to compare

@MogroWang MogroWang released this 06 Oct 12:53

[4.0.0] - 2026-10-06

修复

  • 搜索插件:移动端设置下拉的重复选项与顶栏入口样式:主题配置面板里「移动端搜索入口形式/位置」的首个选项此前显示「沿用设置 · 当前值」,与下拉中已有的同值选项重复 —— 现改为固定的「沿用 PC 设置」,不再出现两上;搜索位置为「顶栏最右侧」时,文档主题顶栏内的搜索入口改为与目录按钮同款的扁圆角矩形条(同高 36、同毛玻璃材质、描边与阴影,明暗随站点配色),PC 与移动端不再同款不同样
  • 文档主题:PC 端侧栏折叠开关点击无效果(五款文档主题,含预设重做):桌面端的折叠开关此前点任何反应都没有 —— 双重叠放问题叠加所致:开关是 position: sticky 侧栏的子元素,sticky 容器形成叠放上下文,开关的 z-index 被困在其中;而正文列的页面过渡动画以 animation-fill-mode: both 永久持有 transform/clip-path,形成更高一级的叠放上下文并把开关永久压在正文之下(命中探针实证:按钮中心命中的是 .ps-main 而非按钮);现把开关移出侧栏、作为其兄弟节点参与根叠放上下文,无论页面过渡如何设置按钮都可点;顺带按产品语义重做开关预设:移除显示在列表栏外部的「侧栏边缘/顶部/底部」,改为显示在侧栏内部底角 —— 右下角(缺省)/左下角/隐藏,旧配置值自动回退右下角;无头浏览器实测:默认动画下五主题按钮均可命中,点击后侧栏负移出屏、正文占满全宽、开关贴回左缘
  • 搜索插件:移动端独立设置保存后无效:主题配置面板里设置的「移动端搜索入口形式/位置」从未生效 —— savePlugins 写回插件配置时丢弃了 searchStyleM / searchPositionM 两个字段,导致设置停留在一空;现随 PC 配置一并落盘,移动端断点(文档主题 900px / 博客主题 640px)变化时入口按移动端设置重建;配置面板中双端设置也按设备标签归位 —— PC 端标签只列 PC 设置,移动端标签只列移动端设置,与主题字段同结构
  • 页脚友情链接:五款文档主题条目无样式破版:文档主题只给了友链容器样式,条目与图标无任何规则 —— 链接以浏览器默认蓝色下划线渲染、图标按图片原始尺寸直接擑进页脚;现补齐 .ps-footer-link / .ps-footer-link-icon(行内图标 16px 圆角、悬停强调色);博客主题由共享样式覆盖,不受影响
  • 文档主题:移动端目录按钮与搜索按钮同步为扁圆角矩形条:目录按钮由 44px 圆形改为与搜索按钮同款的扁圆角矩形条(60×36,同毛玻璃材质、描边与阴影),移动端顶栏高度按新尺寸重算;博客主题的移动端目录按钮(≤640px)同步为同款;搜索按钮入口在移动端(≤900px)同样压扁为圆角矩形条,列表与搜索在视觉上呼应
  • 独立预览窗口:「返回软件界面」按钮悬停提示缺失:壳层右上角的「返回软件界面」按钮此前悬停显示的是键名 —— previewShell.backToApp 国际化键从未写入;现补齐中英文案,并顺带修复两处同类缺失(imageInsert.klass 引用指向不存在的 class 键、tree.folderConfigSaved 键未定义)
  • 主题配置:全部主题配置名称清理与双端归位(十款主题):配置名称尾部的括号提示全部移除 —— 「(桌面端)/(移动端)」由面板的设备端分段开关表达,单位括号移入提示文案(缺提示时补「单位:px/%/ms/项/个/篇」);逐字段复查十款主题:移动端字段(key 以 M 结尾)只出现在移动端标签,双端共用与 PC 专属字段归桌面端标签,移动端标签的分组标题与桌面端一一对应
  • 文档主题:移动端抽屉收起按钮「看得见点不动」(双根因,五款文档主题):抽屉头部的收起按钮此前点击毫无反应 —— 根因一,按钮内 fill="none" 的 SVG 箭头透明填充区默认不参与指针命中(visiblePainted),点击穿透到下层元素,点中按钮中心甚至会触发下方站点链接、直接跳转首页;根因二,:active 的纵向位移变换在移动端(静止态为 transform: none)让按钮按下瞬间上跳半个身位,抬手时指针已落在按钮之外,click 永远无法触发 —— 事件探针证实 pointerdown/mousedown 均到达而 click 丢失;现按钮内 SVG 统一 pointer-events: none(目录按钮、目录折叠箭头同享),移动端复位纵向偏移变量,整个按钮任意位置可点,双轮「打开 → 点击 → 关闭」实测通过
  • 独立预览窗口:开关状态与实际窗口脱节:浏览器 mock 下关闭壳层标签页后按钮常亮、点击无反应(现检查 closed 并回退为重新打开);Tauri 下窗口创建失败走异步 error 事件而非抛错,标志卡在「已开启」(现监听 tauri://error 复位);主窗口 webview 重载后 tauri://destroyed 监听丢失,关窗后标志不复位(复用窗口时补绑生命周期监听,标志位防重复绑定);focusPreviewWindow 找不到窗口时复位开关状态并回退为重新打开;构建失败不再弹出预览窗口(避免壳层加载过期或缺失的产物);按钮 tooltip 文案同步「再次点击 = 切换到独立窗口,不关闭」
  • 友情链接可视化编辑:「添加链接」此前无效(第二处根因):上一处修复只覆盖「已有内容」场景 —— 站点从未添加过链接时,linksToText 对空行映射出空串、拼接后仍为空串,写回后 parseLinks("") 解析为零行,从空状态点「添加链接」依然出不来行;现每行恒写三段(空行 = ||,可无损解析回空行;尾空段构建端按三段拆分兼容),空状态点添加即出新行,所见即所得

新增

  • 文档主题:移动端顶栏下拉变形、当前文档标题可居中与桌面端折叠/常显顶栏(五款文档主题):「布局」组新增三项配置 —— 「顶栏下拉变形」(无/药丸/圆角矩形):向下滚动后顶栏浮起变形,药丸收成胶囊条、圆角矩形收成圆角条(移动端隐藏第二行的当前文档标题,桌面端顶栏同步生效),模仿博客主题的顶栏滚动形态;「顶栏显示」(折叠时显示/常显/不显示):桌面端列表栏折叠后自动显示顶栏(缺省,站点标识居左、当前文档标题居右,正文自动让位),也可改为始终显示或不显示;「当前文档标题对齐」(右对齐/居中/左对齐):移动端顶栏第二行的当前文档标题可居中展示
  • 主界面:悬停入口新增「预览站点」:站点构建完毕后,悬停左上角品牌区在「返回主菜单」之后以竖线分隔多出**「预览站点」**入口 —— 点击打开/切到独立预览窗口(已在则原位刷新产物并聚焦);未构建过时不出现
  • 问候语扩充:状态区空闲问候语从 7 句扩至 14 句 —— 新增七句让心情变好、激发灵感的短句,轮换周期不变
  • 主题配置:友链图标支持从站点资产选择:友情链接编辑行的图标框旁新增**「从资产选择」按钮 —— 弹窗网格列出站点 asset/ 目录下的全部文件(缩略图 + 文件名),点选即写入站内路径;按钮内实时预览当前选中的站内图标,另有一键清除图标**;图标框仍可直接填写外链 URL
  • 主界面:左上角状态区与吉祥物问候:标题栏的「素构」二字让位给状态区 —— 即时显示保存状态(自动保存倒计时「N 秒后自动保存」、保存中、已保存、未保存提醒)与发布进展(发布中 done/total、Pages 构建中、失败提示),空闲时轮换显示吉祥物的问候语(45 秒换一句),发布成功后播报祝福语(与发布彩带同帧出现,12 秒后回到问候);状态类别切换带短距淡入淡出,倒计时数字跳动不触发动画,系统「减弱动态」时直接切换;鼠标悬停品牌区浮现**「查看发布状态 | 返回主菜单」**(竖线分隔、两侧留出空隙;存在发布上下文时才出现查看入口),点击分别直达发布页 / 返回主菜单;macOS 品牌区贴右上时同样适用
  • 文档主题:侧栏当前文档效果可选(五款文档主题):「悬停反馈」组新增**「当前文档效果」** —— 默认(保持主题原样式)/ 无 / 底色 / 强调色 / 加粗 / 下划线(强调色下划线,随主题强调色);原「左侧标记」档改为「下划线」,旧站点的已有配置值自动按同效果兼容,改选一次即归位
  • 文档主题:侧栏折叠开关位置可配置(双端独立,五款文档主题):「布局」组新增**「折叠开关位置(桌面端)」(侧栏边缘[缺省,右缘滑出式把手] / 侧栏顶部 / 侧栏底部 / 隐藏)与「折叠开关位置(移动端)」**(抽屉顶部[缺省,抽屉头部的圆形收起按钮,与点击遮罩等效] / 隐藏);开关位置即刻生效,隐藏后不再显示
  • 文档主题:站点标识配置(双端独立,五款文档主题):新增**「站点标识」配置组 —— 站点 Logo 与站点标题的显示开关**、Logo 大小(像素)与Logo 位置(标题左侧 / 标题上方),桌面端(侧栏头部)与移动端(≤900px,抽屉头部与顶栏)双端独立设置;Logo 以 CSS 变量下发并保持图片宽高比,「墨阅」的块式站点标识(Logo 在标题上方)也可切换为横向(标题左侧);两处开关同时关闭时品牌区自动收起,不残留空位
  • 文档主题:移动端顶栏目录按钮与搜索按钮同款 + 当前文档标题移至站点标识下方(五款文档主题):目录按钮升级为与搜索按钮同尺寸(44px)同材质(圆形毛玻璃,同阴影与描边),视觉语言统一;当前文档标题(面包屑)换行至顶栏第二行、右缘与站点标识的内边距对齐 —— 显示在站点标题 / Logo 正下方,同轴不漂移;站点名过长自动截断,不再把第二行标题挤出顶栏;顶栏高度按两行内容精确排布
  • 文档主题:侧栏折叠开关(五款文档主题):桌面端侧栏右缘新增滑出式开关(22×56 贴边圆角小把手,悬停强调)—— 点击后侧栏滑出屏幕、正文占满全宽,开关贴回左缘、箭头转向提示展开;状态记忆 localStorage,刷新后保持;过渡仅桌面生效,不干扰移动端抽屉的 transform 过渡;≤900px 隐藏开关并复位,抽屉行为不变;系统「减弱动态」时无过渡
  • 搜索插件:双端独立设置与入口精简:长条搜索框去掉左侧装饰图标 —— 只保留输入框与右侧搜索按钮,更聚焦;搜索入口的形式与位置支持 PC / 移动端各自独立设置(主题配置面板「插件」组新增「移动端搜索入口形式」「移动端搜索入口位置」,留空沿用上方设置),移动端断点(文档主题 900px / 博客主题 640px)变化时入口自动重建
  • 图片预览插件:像素渲染彻底无抗锯齿:像素渲染改用与视口等大的 canvas 最近邻采样光栅化 —— CSS transform 缩放由合成器插值、image-rendering: pixelated 在合成层不生效,现以 imageSmoothingEnabled = false 逐帧绘制,一个源像素渲染成整齐色块,缩放/平移/旋转全部保持点对点清晰
  • 发布页:圆形大按钮与发布状态动效:发布按钮改为圆形大号按钮(92px,强调色底),发布中两道圆环从按钮循环向外扩散(非线性缓出),成功后按钮转为绿色打勾并浮现**「重新发布」圆形按钮**;账户类型分段控件居中;发布页全部文案精简并统一全角标点
  • 发布成功彩带:夸张档上下对喷 + 预览按钮:「夸张」档新增持续喷射流 —— 底部左右两束与顶部两束交替对喷至 1.5 秒,纸屑量与覆盖面翻倍;设置页「发布成功彩带」档位旁新增预览按钮(眼睛图标),点击即以当前档位实况预览
  • 独立预览窗口:立即重建按钮:预览壳层右上角新增**「立即重新构建」按钮** —— 点击后请求主窗口立即重新构建(绕过自动重建的防抖延迟),构建完成预览原位刷新;等待期间按钮呈自转等待态,完成或超时后复位
  • 资产页:导入文件与拖入快速导入(接纳全部文件类型):右上角新增**「导入文件」按钮**,也支持把文件从访达/资源管理器直接拖到资产页任意位置快速导入 —— 拖入时整页出现落点遮罩,松手即导入并自动选中;不再局限于图片,文档、音视频、字体等任意文件均可收入 asset 文件夹(仅可执行类扩展名被拒并提示),非图片文件在列表与详情中以扩展名徽标占位展示。WebView 拿不到拖入文件的磁盘路径,前端把文件读为字节后经新命令以 base64 传给后端落盘;内部图片拖拽(拖图到文件夹标题移动)不带 Files 类型,不会误触发导入
  • 文档主题:悬停反馈全面可配置(五款文档主题):「素构 · 浅色 / 暗色」「墨阅」「终端」「画廊」新增**「悬停反馈」配置组 —— 导航悬停反馈(侧栏文档导航,无 / 加深 / 强调色 / 下划线 / 底色)、Logo 悬停反馈(无 / 淡化 / 放大 / 强调色)、站点名悬停反馈(无 / 淡化 / 强调色 / 下划线,墨阅因站点名自带双线装饰不设下划线档)、正文链接悬停反馈(无 / 加深 / 下划线 / 底色,按各主题链接样式适配选项集)与上下页卡片悬停反馈**(无 / 上浮 / 强调色 / 底色);五档悬停均默认保持各主题原有样式,选择其他档位才接管
  • 文档主题:页面加载动画(五款文档主题):「动效」组新增**「页面加载动画」**(转圈 / 点点 / 进度条,缺省关闭)—— 与博客主题同一套指示器,页面资源加载完成自动淡出
  • 文档主题:终端 / 画廊补齐页面过渡动画:「页面过渡动画」九档预设(关闭 / 淡入 / 淡入上浮 / 缩放浮现 / 滑入 / 弹性浮现 / 模糊聚焦 / 翻页 / 揭开)此前仅素构 · 浅色 / 暗色与墨阅可用,现「终端」「画廊」同样支持 —— 十款主题全部具备页面过渡
  • 文档主题:页脚配置(五款文档主题):新增**「页脚」配置组 —— 页脚说明(一行文字,留空不显示)、显示构建版本与日期及构建信息格式**({date} / {time} / {version} 令牌按钮插入)与友情链接(每行「名称|链接|图标地址」,图标可选),与博客主题同一套结构;全部关闭时页脚不占位
  • 文档主题:桌面端 / 移动端尺寸独立设置(五款文档主题):「颜色与字体」组新增**「正文字号(桌面端)」与「正文字号(移动端)」(0.5px 步进,≤900px 时移动端生效);「终端」「画廊」「墨阅」新增「侧栏宽度」(此前只有素构 · 浅色 / 暗色可调,现五款齐备,并与「移动端抽屉宽度(%)」独立 —— 窄屏侧栏抽屉按视口百分比显示,缺省 84%);素构 · 浅色 / 暗色新增「正文宽度(px)」**(此前固定 760px,现 560–960px 可调,页脚随正文同宽)
  • 弹窗:背景模糊与开关:所有弹窗遮罩新增背景模糊(半透明压暗 + 毛玻璃),个性化设置新增**「弹窗背景模糊」**开关(默认开启;系统「减弱透明度」时自动退化为纯色)
  • 搜索插件:搜索框形态重做:长条文本框改为真输入框 —— 直接在入口输入文本,回车或点击搜索按钮后才弹出结果面板并按已输入的关键词出结果(面板内仍可继续输入即时过滤);入口位置为**「顶栏最右侧」时,PC 端文档站点主题改在侧栏站点标题下方**整行展示搜索框或按钮,窄屏(侧栏折叠为抽屉时)随断点自动迁回顶栏
  • 图片预览插件:像素渲染点对点:切换到像素渲染时,≥100% 的倍率自动吸附到最近整数倍 —— 一个图像像素对应整数个屏幕像素,像素点清晰可见;切入时立即吸附当前倍率,双击放大在像素模式下为 200%(抗锯齿保持 250%)
  • 博客主题:正文链接 / 封面图悬停反馈与卡片入场动画(五款博客主题):「颜色与字体」组新增**「正文链接悬停反馈」(无 / 加深 / 底色 —— 加深即原行为:悬停时下划线 / 虚线颜色变实;底色为悬停衬一层淡色底);「卡片外观」组新增「封面图悬停反馈」(无 / 微放大 / 放大 / 淡化 —— 悬停整张卡片时封面以缓出曲线渐变缩放,减弱动态时不位移)与「卡片入场动画」**(关闭 / 淡入 / 上浮 / 交错上浮 —— 交错上浮按卡片顺序每 60ms 依次浮现,第 8 张起同拍到达,系统「减弱动态」时不播放)
  • 博客主题:移动端 Logo 尺寸独立设置(五款博客主题):「品牌与标识」组新增**「移动端 Logo 宽度(px)」与「移动端 Logo 高度(px)」**(≤640px 时生效)—— 窄屏顶栏的 Logo 可单独缩小,不再沿用桌面端尺寸

变更

  • 弹窗:点击空白不再关闭:点击遮罩空白处不再关闭弹窗,关闭一律通过右上角关闭按钮、取消按钮或 Esc,避免误触丢失已填内容
  • 弹窗:更流畅的开关动画(关闭过渡修复):浮现改为更明显的非线性缓出(缩放 + 上浮),离场走镜像缓入;修复自绘弹窗关闭时缺失过渡 —— 进出场状态类声明移至 .modal-card 常态规则之后接管过渡,并补齐「外层容器为过渡根」与「卡片自身为过渡根」两种结构的选择器
  • 文案精简与全角标点:全应用的副标题、提示与弹窗文案压缩为简要说明;中文文案统一使用全角标点符号
  • 十款内置主题版本号升至 4.0.0;应用版本升至 4.0.0

Plainstruct 3.8.0 Release

Choose a tag to compare

@MogroWang MogroWang released this 05 Oct 16:07

[3.8.0] - 2026-10-05

新增

  • 编辑器:插入链接弹窗与「在新窗口打开」:点击链接按钮(或 ⌘/Ctrl+K)弹出配置窗口 —— 输入链接地址与显示文本(自动预填选中文本),并可勾选**「在新窗口打开」**;勾选后以 {: target="_blank"} 属性块写入 Markdown,渲染管线自动转写为 target="_blank" + rel="noopener noreferrer" 并从页面输出中移除属性块文本,新窗口打开的链接不会被仿制网站滥用(站内链接建议保持同窗);普通链接语法与既有站内链接改写完全不受影响
  • 编辑器:格式按钮激活态:光标或选区正处于某格式中时,工具栏对应按钮自动亮起(强调色淡底) —— 标题 H1–H3 按级别点亮,加粗/斜体/删除线/行内代码/引用/无序与有序列表/代码块各归其位,当前格式一目了然,再次按下即取消该格式
  • 图片预览插件:渲染方式切换(像素 / 抗锯齿):灯箱工具条新增渲染方式按钮 —— 像素渲染关闭图像插值,放大时像素网格边缘清晰锐利(检查像素画、UI 截图与二维码细节时使用),抗锯齿渲染即默认的平滑放大;按钮带激活态标记,本次预览内随时切换
  • 图片预览插件:移动端手势修复 + 禁用网页缩放:移动端上滑动照片不跟手、双指缩放被浏览器拿去缩放网页导致图片无法放大 —— 现灯箱层启用 touch-action: none,触摸手势全部归灯箱内部手势,拖拽 1:1 跟手、双指捏合缩放图片本身而不再缩放网页,双击缩放同样归位;插件同时收紧页面 viewport 禁用网页缩放,iOS 以捕获 gesturestart 事件兜底拦截
  • 新建文档弹窗内嵌作者署名与 AIGC 声明:新建文档时即可填写作者署名并选择 AIGC 声明档位,随配置头一并写入文档;署名输入框自动汇总站内已有文档用过的作者署名(输入框下拉列出),点击即可快速选择既有署名身份,也可自由输入新署名
  • 博客主题:桌面端 / 移动端布局分别设置(五款博客主题):卡片流与顶栏、正文字号区分桌面与移动(窗口宽度 ≤640px)两档独立配置 —— 「移动端卡片并排」「移动端封面图高度」「移动端顶栏宽度」「移动端顶栏变形后宽度(顶栏为药丸/圆角矩形形态时,窄屏以百分比替代桌面端像素值)」「正文字号(桌面端)」与「正文字号(移动端)」,以及「卡片流字号(桌面端)」与「卡片流字号(移动端)」(文章卡片的标题/日期/描述随卡片流字号等比缩放,两项配置在「卡片外观」分组);移动端不再沿用桌面端数值,手机阅读字号、卡片密度与顶栏宽度可单独调优
  • 博客主题:移动端顶栏目录按钮(五款博客主题):「顶栏与导航」组新增**「移动端顶栏显示目录按钮」**开关 —— 开启后窗口宽度 ≤640px 时顶栏导航收进目录按钮,点击从顶栏下方展开毛玻璃导航面板(含当前页导航与归档入口,当前页高亮,点击链接或面板外自动收起);顶栏过满不再拥挤
  • 博客主题:主页卡片流宽度真正全宽 + 移动端独立设置(五款博客主题):主页卡片流宽度百分比此前相对统一容器(正文宽度 + 固定边距)计算 —— 设为 100% 也只是容器宽,永远到不了窗口全宽;现首页系列(含分页页)解除该容器限宽,宽度百分比真正相对窗口内容宽,100% 即窗口全宽(保留页面呼吸边距);另新增**「移动端主页卡片流宽度(%)」**(≤640px 生效,缺省 92%),与桌面端分开设置
  • 博客主题:顶栏导航自定义显示名(五款博客主题):顶栏导航选择器(选择要显示的文章或文件夹)保留原交互,另给选中的每一项新增**「顶栏显示名」**输入框 —— 该项在顶栏中以此名称展示,可与页面真实标题不同(如把「关于本站」在顶栏显示为「关于」);留空显示页面标题,选择弹窗中勾掉再勾回不丢失已设名称;旧版选择数据无需迁移,自动兼容
  • 博客主题:主页分类卡片流每组最多显示(五款博客主题):「布局」组新增**「分类卡片流每组最多显示(篇)」(0 = 不限制)—— 主页「卡片流按分类分组」时,超过上限的分组只展示前 N 篇,组尾出现「查看更多 →」**,点击进入该分类的文件夹落地页;「未分类」组没有落地页,不显示查看更多;归档页的分类视图不受限制,仍列出全部文章
  • 博客主题:文件夹页筛选、排序、视图切换与默认视图(五款博客主题):文件夹落地页头部新增**「卡片流 / 目录」视图切换**(与归档页同款胶囊按钮,初始高亮与默认视图一致,页内即时切换);卡片流视图顶部新增筛选框(按卡片文本即时过滤)与排序控件 —— 可按默认排序(文件夹手动排序)、更新日期(文档最后修改时间,构建时从文件系统采集)、发布日期(front-matter date)、标题排序,方向按钮一键切正序 / 倒序;文件树「文件夹页面设置」选择的显示方式成为文件夹页的默认视图(页面打开即默认视图,访客可在页内切换)
  • 文件夹页可直接编辑,正文与卡片流同页共存:文件树文件夹行的悬停快捷按钮与右键菜单新增**「编辑文件夹页」—— 点击打开该文件夹的 index.md(没有时自动创建一篇,标题取文件夹名并打开编辑器);博客站点的文件夹页保留卡片流**,index.md 的正文渲染在卡片流上方(排版与文章正文一致),文件夹页从「只能二选一」变为「引导文字 + 文章卡片」同页呈现;文档站点保持原行为(以 index.md 正文为准)
  • 文件树快捷按钮:编辑配置头:文档、文件夹、主页的悬停快捷按钮新增**「编辑配置头」**—— 文档直达配置头表单;文件夹经其 index.md 打开配置头(没有文件夹页 md 时先自动创建);主页行同样提供;文件夹右键菜单同步加入该入口
  • 博客主题:页脚配置(五款博客主题):新增「页脚」配置组 —— 「页脚说明」(显示在每页底部的一行文字,留空不显示);「显示构建版本与日期」及「构建信息格式」(支持 {date} / {time} / {version} 令牌,格式输入框下方附令牌按钮点击插入,每次构建或预览时自动替换为当次时刻 —— 缺省格式为「构建于 {date} {time}」,需要展示应用版本可在格式中加入 {version} 令牌);「友情链接」(每行一条「名称|链接|图标地址」,图标可选,支持外链图标与站内图标路径 —— 站内路径自动按页面深度换算);全部留空时页脚不占位、不显示分隔线
  • 主题配置面板:多行文本与令牌按钮:配置字段新增 textarea 类型(如友情链接的每行一条编辑)与文本字段的令牌按钮(构建信息格式等占位符场景,点击即插入)

修复

  • 编辑器:插入图片弹窗的宽度/高度输入不再重叠:宽度与高度此前各自并排挤着一个单位下拉(%)或 px,窄窗口下输入框与下拉互相叠压;现单位并入输入框直接填写(如 80%、640px,裸数字按百分比处理),布局恢复清爽
  • 图片预览插件:标记模式光标修正彻底生效:光标修正样式此前注入在 <head> 末尾,而插件样式链接注入在 </body> 前 —— 文档顺序更靠后的 main img { cursor: zoom-in } 把修正压过,未带标记的图片依旧显示放大光标;现修正样式注入到文档末尾(插件样式之后),标记模式下未带标记的图片保持默认光标,带标记的仍显放大光标,链接内图片保持 pointer

变更

  • 移除工具栏「图片预览块」按钮:图片预览插件的 class 标记可由「插入图片」弹窗直接填写(HTML 嵌入方式的图片 class 字段),预览块按钮的独立路径不再必要 —— 按钮与对应插入逻辑移除,工具栏更精简;已插入的 <figure class="ps-image"> 图片块照常渲染
  • 十款内置主题版本号升至 3.8.0

Plainstruct 3.7.0 Release

Choose a tag to compare

@MogroWang MogroWang released this 05 Oct 09:39

[3.7.0] - 2026-10-05

修复

  • 发布不再清空 GitHub Pages 自定义域名:发布提交是不带 base_tree 的精确替换 —— 产物之外的文件会全部从发布分支移除,而分支根目录的 CNAME 正是自定义域名的事实来源(deploy from branch 模式),被清后下一次 Pages 构建会把域名设置一并清空,「覆盖云端」确认后自定义域名失效即由此而来。现发布时自动保留云端分支已有的 CNAME 与 .nojekyll(产物自带时以产物为准;分支上没有时按 Pages 设置的 cname 恢复),保留动作写入发布日志;域名/文件的读取与恢复失败不阻断发布
  • 构建站点目录高亮与点按动画彻底修复(行为脚本与主题模板解耦):目录滚动高亮、点按跳转动画、顶栏滚动态、置顶按钮与加载指示这些页面行为脚本,此前逐份内联在五款博客主题的模板里 —— 「从内置主题复制」创建的自定义主题会把复制时刻的模板快照到站点 .plainstruct/themes/<id>/,应用升级后模板里的脚本修复无法传导到这些快照,构建产物与各处预览依旧运行旧脚本:目录依旧不亮、点按没有动画。现将全部行为脚本抽出为渲染管线组页时统一注入的共享脚本(ps-blog.js),构建产物与应用内预览同源生效,与主题模板彻底解耦 —— 任何版本复制出的自定义主题快照都自动获得最新行为与后续修复,五份逐字重复的内联脚本(连同 head 引导脚本)一并从模板移除
  • 目录高亮补齐 h1–h6 全层级,点按动画不再被连带失效:滚动高亮此前只收集正文 h2/h3 的标题,目录树却渲染 h1–h6 全部层级 —— 文章出现一级或四级及以下标题时,对应条目永远不点亮;且高亮与点按监听注册在同一处、以「收集到标题」为前提提前退出,一旦匹配为空点按跳转动画一并沉默。现高亮覆盖 h1–h6 全层级(目录里存在的标题才参与点亮),点按动画与高亮解耦,任何标题层级都可平滑跳转
  • 滚动动画可被用户手势随时打断:目录点按与置顶按钮的滑动动画进行中,滚轮、触摸或按键立即接管停止 —— 不再出现「用户想停下细看,页面却被动画拖到目标位置」的对抗;点击目录后的落点、URL 锚点与当前高亮的联动行为不变

修复

  • 文档拖入文件夹后图片路径多出 ../:移动/重命名后的引用换算中,站内链接正则会命中 Markdown 图片语法的子串(![alt](target) 包含 [alt](target)),对同一目标做第二次替换;替换采用纯子串匹配,已换算的 ../asset/… 中的 asset/… 再次命中,../ 被翻倍成 ../../,图片与站内链接全部失效。现换算统一改为上下文定界替换 —— Markdown 以 ]( 定位(保留 title),内联 HTML 以 src="…"(单双引号)定位,封面图仅在 cover: 行值精确一致时替换;同一文档混排图片/链接、其它引用含相同子串等场景均不再互相污染,重复换算幂等(附十余个场景的回归验证)
  • 旧自定义主题的站点缺失 3.7.0 新页面样式:归档页、文件夹落地页、分类分组与固定封面比例的样式此前追加在五款内置主题的 style.css 里 —— 「从内置主题复制」创建的自定义主题快照停留在复制时刻的样式表,发布后新页面结构完好却没有任何样式(表现为「CSS 丢失」)。现将这批功能样式抽出为渲染管线注入的共享样式表(ps-blog.css,插到主题样式链接之前、主题自身同名规则仍可覆盖),与行为脚本同架构:任何版本复制的自定义主题自动获得新页面样式

新增

  • 发布页支持设置自定义域名:发布配置新增**「自定义域名」输入框 —— 填写后发布自动把域名写入 CNAME(内容不变时经 blob sha 增量复用,不重复上传),Pages 构建完成后域名与 HTTPS 证书自动生效;域名格式即时校验**(非法格式、github.io 子域在发布端提前拦截并给出原因,不致 Pages 构建失败),粘贴带协议/路径的写法自动取主机名;发布完成的结果区显示所写域名,「查看站点」直接打开域名地址;留空则保留云端现有域名(上一条自动保留行为不变)
  • 插入图片弹窗(方式/路径/对齐/尺寸/class 可配):插入图片时弹出配置窗口 —— 插入方式可选 Markdown 图片或 HTML 代码嵌入;可确认/修改复制到站点的目标路径(content/ 相对,可含子目录,重名自动加序号)与 alt 文本;HTML 嵌入下还可设置图片位置(居中/左对齐/右对齐,以 <div align> 包裹)、宽度与高度(百分比或像素,留空不设置)与 图片 class(如 mws_ps_imgpreview 可配合图片预览插件点击进灯箱)。工具栏「插入图片」单选文件即弹窗(多选仍批量直插 Markdown),从资产栏拖图到正文同样弹窗预填,确认后按落点插入;「图片预览块」按钮维持原有快捷路径
  • 博客主页配置头(分类卡片流):博客站点的根 index.md 在「编辑配置头」中新增主页专属配置区 —— 「卡片流按分类分组」开启后,主页卡片流按分类分组展示(分类取自顶层文件夹,有 index.md 的以其标题命名;组标题可点击进入分类落地页;组内文章保持日期排序);分组下可开关**「显示未分类文章」(不在任何顶层文件夹中的文章,缺省显示)并自定义「未分类」的组标题**;分组显示整流展示,不再生成分页页;主题配置的卡片流设置(每页篇数、并排列数、卡片外观等)在分组模式下保持有效。写入 front-matter 的 homeGroups / homeUncategorized / homeUncategorizedLabel 字段,构建与预览同源生效
  • 博客文件夹落地页(卡片流 / 列表可配):无 index.md 的文件夹自动生成独立落地页,缺省以文章卡片流展示该文件夹(含子文件夹)内的文章 —— 主页分类分组标题点击后跳转到的正是这些页面;文件树右键文件夹新增**「文件夹页面设置」,可切换为目录列表**(原行为),配置存于站点 .plainstruct/folders.json;含 index.md 的文件夹仍以该正文页面为准
  • 博客归档页 + 顶栏归档入口(五款博客主题):每个博客站点自动生成归档页面(收录全部非隐藏文章),页面内提供**「列表 / 分类 / 卡片流」三种视图切换** —— 列表视图按年份分组(无日期文章归入「未注明日期」),分类视图按顶层文件夹分组(组标题可点击进入分类落地页),卡片流视图即文章卡片流;主题配置「顶栏与导航」组新增**「顶栏显示归档入口」**开关(缺省开启),顶栏导航末尾出现「归档」链接(导航为空时同样显示);归档页不进搜索索引,避免整页文章标题稀释搜索质量
  • 博客主题新增「固定封面图显示比例」开关(五款博客主题):「布局」配置组新增封面比例设置 —— 开启**「固定封面图显示比例」后,卡片封面(含无封面占位块)按「封面比例」**(16:9 / 3:2 / 4:3 / 1:1,缺省 16:9)统一裁切显示,不再使用「封面图高度」;关闭时维持原有固定像素高度

变更

  • 旧模板快照的兼容:升级前创建的自定义主题快照若仍带着内联版行为脚本,注入的共享脚本会在捕获阶段接管目录点按并拦下旧脚本的监听 —— 新旧脚本共存时不会双重滚动,滚动高亮同帧由新脚本收敛,升级无需重建或修改任何自定义主题

Plainstruct 3.6.0 Release

Choose a tag to compare

@MogroWang MogroWang released this 04 Oct 16:31

[3.6.0] - 2026-10-04

修复

  • 博客目录树滚动高亮全面加固(五款博客主题):滚动监听从单一 window 监听升级为捕获级文档监听(视口与任何内部滚动容器的滚动都会触发,覆盖程序化滚动、滚动链与各类滚动源),并在 load(图片/字体加载改变标题位置)与 resize 后补算一次当前高亮,保证任意场景下目录都能正确点亮

  • 修复对照预览与主题预览中页面脚本不运行:两个预览面板的 iframe 此前以沙箱禁用脚本(TOC 高亮/搜索/灯箱等页面交互全部沉默,顶栏变形等行为由宿主"等效模拟"),与「预览即产出」的定位相悖 —— 博客目录树滚动到对应标题时不亮起即由此而来。现启用 allow-scripts(保留同源),页面脚本与产物一致地运行,宿主的等效模拟与"按钮仅供预览"提示一并移除;构建页与独立窗口预览本就运行脚本,不受影响

  • 修复文章移入文件夹后封面图失效:move_item/目录重命名只挪文件不换算引用,文章的 cover:(及正文相对图片、站内链接)都按「相对本文档目录」解析,挪进子目录后全部指向不存在的位置。现前端在移动/重命名(含目录与批量)后,自动把受影响文档的文内相对引用按新目录换算并落盘(remapDocRefsForMove,覆盖 Markdown 图片、<img>、封面与站内链接);打开中未保存的文档同步改写编辑器内容并直接落盘新路径,避免自动保存写回旧路径

  • 修复从资产拖入正文时路径多一层 asset/:资产栏图片拖到编辑器,插入的引用形如 asset/asset/xxx.png(子目录文档为 ../asset/asset/xxx.png) —— 拖拽载荷本身已是 content/ 相对的完整路径(含资产目录名),插入时却按「裸文件名」又拼了一次目录前缀,两段语义不匹配导致前缀重复,构建产物中的引用全部 404。现改为按「当前文档目录 → 目标文件」换算相对引用(与资产页移动图片后的引用重定向同源),任意层级的文档与旧版 images/ 站点都正确

  • 资产页拖拽进编辑器同样插入图片引用:资产页此前只给拖拽设置纯文本载荷,拖入编辑器会被当作普通文本原样插入;现在单张图片的拖拽额外携带资产载荷(拖拽效果改为 copyMove,不影响文件夹间的移动),拖入编辑器即插入规范的 Markdown 图片引用

  • 修复搜索插件导致整页无法点击:搜索插件的遮罩层常驻 DOM,关闭态只做了透明度为 0 —— 全屏遮罩仍然拦截整页的指针事件,开启插件后生成的站点看似正常、实则什么都点不动;现关闭态叠加 visibility: hidden 与 pointer-events: none,打开时才参与命中测试

  • 修复插件在预览刷新后集体失效:预览的 document.write 重写会复用同一个 document 对象,插件的防重入标志(window 布尔值)在新内容加载时误判「已初始化」直接返回,点击委托不再注册 —— 搜索按钮在第一次自动重建后消失、图片灯箱点不开。现改以标记元素为防重入标志(重写会清空 DOM,标记随之消失,插件自然重新初始化),连续多次重建后搜索与图片预览均持续可用;注入 shim 的同类隐患(独立窗口刷新后触摸镜像/侧滑返回失效)一并修复

  • 修复灯箱工具条按钮点击无效:灯箱在按下瞬间就把指针捕获到遮罩层,按钮收到的 pointer 事件被整体重定向,click 无法派发到按钮本身(缩放/旋转/下载/关闭在真实点击下全部失灵,双击缩放同理);现改为越过位移阈值才捕获并豁免工具条区域,按钮点击、双击缩放、拖拽平移与惯性各归其位

  • 图片预览插件优化:预览时锁定页面背景滚动(视口与全部可滚动容器),移动端拖动只作用于预览图片本身,背景页面不再跟随移动,关闭后滚动位置保持;灯箱新增图片信息条(工具条上方,毛玻璃胶囊)显示文件名 · 分辨率 · 文件大小(大小经同源 HEAD 请求读取,不可得时自动省略);旋转连贯化 —— 角度持续累积不再取模,修复转到 270° 后下一次沿原路倒转回 0° 的「回转一圈」;进出场衔接修正 —— 位置/尺寸起止值改用布局尺寸计算(此前把带缩放的显示尺寸当基尺寸,放大后退出会二次缩放跳变),进场先无过渡摆到源图位再长曲线迁移,退场途中旋转同步收正到最近整圈,落地与源图朝向一致;新增 class 标记模式(默认启用)—— 仅 class 含 mws_ps_imgpreview 的图片可点击预览(编辑器「图片预览块」插入的图片自带该标记),主题配置「插件」分组可把标记改成任意 class 名或留空放行全部正文图片;构建产物经 script 标签 data-require-mark 传递,mock 预览经内联变量传递;标记匹配同时检查图片自身与其包裹容器(如 <figure>)

新增

  • 站点插件系统:插件与主题解耦,以站点为单位在主题配置面板末尾新增的**「插件」分组**统一管理 —— 内置插件开关与用户导入的插件都在这里,对所有主题(含自定义主题)全局生效;两款内置插件默认开启
    • 站内搜索(内置插件):站点右下角出现毛玻璃搜索按钮,快捷键 ⌘/Ctrl+K 呼出搜索面板;构建时自动生成全站搜索索引(页面标题、描述与正文纯文本,懒加载不拖慢首屏),输入即搜、结果以强调色高亮命中片段,↑↓ 选择、Enter 打开、Esc 关闭;面板明暗自动跟随站点配色,强调色沿用主题配置,移动端为贴顶全宽布局
    • 图片预览(内置插件):点击正文图片进入灯箱 —— 从源图位置平滑展开、关闭时原路返回(进出场空间一致);支持滚轮 / 双指捏合 / 双击缩放(以光标或点击处为中心)、按住 1:1 拖拽平移(松手带惯性衰减)、±90° 旋转与同源下载;Esc、点击背景或关闭按钮退出,+ - 0 R 与方向键均可操作;减弱动态偏好下进出场退化为交叉淡入淡出
    • 自定义插件导入:「插件」分组内点击「导入插件」,把任意 .js / .css 文件(可多选,合并为一个条目)导入为站点插件;文件保存于站点 .plainstruct/plugins/,构建时拷入产物并在每个页面按顺序加载;支持逐条启用/停用与删除(删除带确认弹窗)
  • 编辑器「图片预览块」按钮:工具栏图片按钮旁新增「图片预览块」—— 选取图片后以 <figure class="ps-image"> 包裹插入(自带图注,样式由图片预览插件提供,可点击进入灯箱);原有「插入图片」的 Markdown 引用行为不变
  • 目录点按跳转动画(五款博客主题):「目录与动效」配置组新增**「目录点按跳转动画」(滑动 / 淡化过渡 / 无动画,缺省滑动)、「跳转动画曲线」(标准/缓出/缓入/线性/弹性/自定义 cubic-bezier)与「跳转动画时长」**(120–1000ms,缺省 450)—— 滑动为逐帧贝塞尔缓动(弹性曲线可小幅过冲回弹),淡化过渡为正文淡出、原位跳转、再淡入(各占时长一半),无动画即直接跳位;减弱动态偏好下自动退化为直接跳位
  • 目录小彩条按形状适配(五款博客主题):目录悬停动画「滑入」的强调色小彩条此前只适配缩进线样式 —— 树形分支下彩条改为对齐枝点的横线滑入,当前项的枝条(横线与竖线)同步染上强调色;极简下彩条改为条目底部下划线滑入,与各形状的设计语言一致
  • 博客主题新增置顶按钮(五款博客主题):「内容显示」配置组新增**「显示置顶按钮」(缺省开启)与「置顶按钮位置」(页面右下角 / 页面左下角)—— 页面下滚超过一屏的约一半后毛玻璃圆钮浮现,点击以目录点按的缓动时长平滑回到顶部,到顶后自动隐去;若搜索入口处于相同角落,置顶按钮自动竖列并排**(上移一个身位),不同角落则各自独立
  • 搜索插件新增入口设置:「插件」分组新增**「搜索入口形式」(按钮式 / 长条文本框式)与「搜索入口位置」**(页面右下角 / 页面左下角 / 顶栏最右侧)—— 长条文本框为带放大镜图标的毛玻璃胶囊,点击展开搜索面板;顶栏模式把入口并入主题顶栏最右侧(随布局排列,不遮挡导航);构建产物经 script 标签属性传递设置,mock 预览经内联变量传递,行为完全一致
  • 配置头新增「隐藏文档」:勾选后该文档不进入博客文章流与文档站侧栏导航、目录列表页不再列出、上/下篇跳过、不被搜索索引收录(预览内联数据与构建产物索引均排除),页面本身仍正常生成 —— 仅可通过直接链接访问;博客顶栏的自定义导航仍可勾选展示隐藏文档(默认模式不展示)。front-matter 写 hidden: true,取消勾选自动移除字段
  • 配置头新增「作者署名」与「AIGC 声明」:「编辑配置头」表单(工具栏按钮与文件树右键入口)新增作者署名输入框与 AIGC 声明三档选择 —— 不显示 AIGC 声明(缺省,不写入字段)、无任何 AIGC、存在 AIGC;确认后写回 front-matter 的 author / aigc 字段(留空或不显示档不落字段,切换档位时旧字段自动移除),十款主题的文档页在日期同一行渲染(弹性 meta 行,随内容自动换行):作者名以正文色小字紧跟,AIGC 声明以圆角徽标呈现(「本文由 AI 辅助生成」/「本文无任何 AIGC」),未声明的文档页面保持原样;手写的其他 front-matter 字段仍原样保留。全部主题的「内容显示」配置组新增**「显示作者署名」与「显示 AIGC 声明」**两个独立开关(缺省开启),可在站点层面整体关闭
  • 自动保存延迟滑块与倒计时:设置 → 编辑器的「自动保存延迟」由档位下拉改为滑块(0.3 – 5 秒,缺省 0.9 秒;仅在自动保存开启时显示),拖动即改;编辑器保存状态区在输入后实时显示自动保存倒计时(如「0.8 秒后自动保存」,0.1 秒粒度),手动保存、切换文档或关闭自动保存时立即消失;历史设置缺该字段时自动按 0.9 秒处理,手动 ⌘/Ctrl+S 保存不受影响
  • 刷新时禁用动画(覆盖所有应用内预览):设置 → 编辑器新增「刷新时禁用动画」开关 —— 开启后,应用内的全部站点预览(内容页打开的独立预览窗口、构建页的站点预览、编辑器对照预览与主题页的示例预览)在自动重建刷新或重新渲染页面时,不再重播主题的页面进场动画与加载动画(转圈/点点/进度条),写作阅读不被反复闪动的页面打断;动画由注入预览的 shim 按设置在首帧绘制前停用,mock 预览同样生效;只停 animation 并隐藏加载覆盖层,悬停反馈等过渡交互与发布后的站点访问不受影响

变更

  • 顶栏当前页标题改为紧跟品牌区显示(五款博客主题):开启「顶栏显示当前页面标题」后,标题此前占满品牌与导航之间的剩余空间并靠右对齐,视觉上贴着右侧导航,更像导航的附属信息;现改为紧跟 logo/站点标题右侧(以顶栏统一的呼吸间距分隔),作为品牌区的上下文补充,右侧导航恢复常驻顶栏右缘;标题过长时仍在中断处省略,窄屏自动隐藏等行为不变
  • 退格与 Delete 逐字符删除换行:行首退格(或行尾 Delete)此前会一次性删掉换行符连同行尾的两个硬换行空格 —— 把换行符当成了特殊组合而非普通字符,与编辑直觉相悖;现回归逐字符语义,换行符一次删一个,残留的行尾空格以空白标记(¶)可见,由作者自行决定去留
  • 十款内置主题的版本号统一升至 3.6.0

Plainstruct 3.5.0 Release

Choose a tag to compare

@MogroWang MogroWang released this 03 Oct 12:59

[3.5.0] - 2026-10-03

修复

  • 修复下拉选择面板打开即自动收起:面板打开时会聚焦当前选中项,选中项在面板可视区之外(如设备列表的最后一项)时聚焦引发面板内部滚动,而「任何滚动即收起」的全局监听会把这个滚动当成外部滚动,菜单在打开的瞬间就消失;在选项列表里滚动手势也会同样误收。现面板内部的滚动不再触发收起,只有面板之外的容器滚动才收起(全应用的下拉选择统一修复,含主题配置与独立预览窗口的机型预设)

新增

  • 独立预览窗口自绘壳层(不再使用原生标题栏):构建页打开的独立预览窗口换上与应用一致的自绘外壳 —— macOS 保留原生红绿灯悬浮在自绘标题栏上(窗口圆角与阴影不受影响),Windows 为无边框窗口加自绘窗口控制(最小化/最大化还原/关闭,双击标题栏可最大化);标题栏内提供浏览器式导航(后退/前进/刷新,按站点会话历史自动启用或禁用)与站点内路径地址栏(显示发布后的站内路径,悬停可看完整 URL);窗口在壳层就绪后才显示,不再有启动白屏闪烁
  • 桌面端 / 移动端预览模式随时切换:标题栏右侧的分段控件(滑动药丸指示)一键切换,两种模式共用同一个站点页面,切换不重载、站点阅读位置保持;模式会被记住,下次打开沿用上一次的选择
    • 桌面端模式:窗口即桌面浏览器视口,站点满幅铺开,适合检查宽屏布局与悬停交互;
    • 移动端模式:站点被约束进真机尺寸的移动设备视口,设备居左、右侧为操作面板 —— 面板提供返回与刷新按钮,以及机型预设(小米 14、Redmi Note 13、华为 Mate 60 Pro、荣耀 Magic6、OPPO Find X7、vivo X100、三星 Galaxy S24、Google Pixel 8 与 iPhone SE 3 ~ iPhone 15 Pro Max,均标注设备像素比);面板下方同时显示逻辑视口(模拟实际生效)与物理分辨率(逻辑 × DPR);面板宽度可拖拽调节(220–420px,记忆);切换预设立即生效并记忆;设备随窗口缩放适配、深色机身外框承载,主题的移动端布局、媒体查询与窄屏行为都按真实设备宽度呈现;模拟屏幕内鼠标显示为圆形触点光标(由注入脚本设置),模拟手指触摸
  • 移动端模拟:真实触摸事件:移动模式下,指针的按下/拖动/抬起会以真实的 touchstart/touchmove/touchend 事件送达站点页面(触摸流与鼠标事件流并存,事件序列与真机一致),主题与页面脚本里的触摸交互都能按真机方式触发;切回桌面模式或关闭窗口后完全还原,构建产物本身不含任何注入逻辑
  • 内容页右上角独立预览窗口开关:编辑文档时无需前往「构建」页 —— 工具条最右侧新增小按钮,点击自动构建并弹出独立预览窗口,窗口打开期间按钮保持点亮,再次点击关闭;应用启动时自动同步窗口开关状态;浏览器预览中同样可用(点击构建并以命名标签页打开壳层,重复点击复用同一标签,环境允许时再次点击可关闭)
  • 移动端模拟:自定义设备:机型预设列表末尾新增「自定义…」,可自由指定逻辑宽 / 高 / 像素倍数(宽 200–1600、高 200–2560、倍数 1–5),输入立即生效并记忆,读数随自定义参数实时换算逻辑视口与物理分辨率
  • 移动端模拟:按住拖动滚动页面:模拟屏幕内按住拖动即滚动网页(内容 1:1 跟手),优先滚动指针下的内部滚动容器,滚到边界自动链接外层容器;松手带惯性衰减,拖动后松手不会误触链接,再次按住即打断惯性;左缘排除区仍归返回手势,与真机手势区一致
  • 移动端模拟:隐藏滚动条:模拟屏幕内的滚动条不再显示,与真机浏览器的滚动条形态一致(滚轮与拖动滚动不受影响)
  • 移动端模拟:安卓左缘侧滑返回:从屏幕左缘向右拖动即可返回上一页 —— 整屏 1:1 跟手滑动并轻微缩小渐隐(预测性返回的观感),松手按滑动位移与松手速度共同裁决提交或取消,取消时以松手速度无缝弹回、提交后上一页自左侧轻推入场;已到站点首页时手势只让出一条缝并以渐进阻尼回弹,提示「没有更多历史」;侧滑手势自带方向锁(纵向意图让位给页面滚动),期间不会误触选字

变更

  • 构建完成后的原位刷新不再打断阅读:重建完成后,独立预览窗口刷新的是当前正在查看的页面(原位重载,尽量保留滚动位置),不再跳回站点首页;主窗口的自动重建也不会再把预览窗口抢到前台
  • 独立预览窗口最小尺寸 620×440,防止壳层布局在极小窗口下过挤;窗口位置与尺寸的记忆保持不变
  • 预览壳层的语言、配色、字号与字重自动跟随应用设置,无需单独配置
  • 「独立窗口」按钮在浏览器预览同样可用:浏览器 mock 无 Tauri 窗口能力,点击改为以新标签页打开预览壳层(机型预设、面板拖拽等界面形态可正常演示;site:// 协议在浏览器不可用,壳层会说明站点内容不渲染);此前该按钮在浏览器预览中直接隐藏
  • 主题配置支持行为说明小字(全主题):theme.json 的配置项新增可选 hint 字段,在面板中渲染为字段下方的灰色小字,用于说明行为边界;五款博客主题的「顶栏显示当前页面标题」开关加上「首页不显示(避免与站点名重复);窗口宽度 ≤640px 时自动隐藏」说明 —— 该功能此前被误报未生效,实测构建产物中文章页标题渲染正常,首页按设计不显示
  • 主题配置分类导航改为悬浮圆角栏(全主题):3.4.1 引入的吸顶分类按钮栏升级为悬浮毛玻璃圆角矩形 —— 半透明表面加背景模糊,底部带渐变模糊带(滚动内容临近栏底时逐渐虚化,不再是硬边缘截断),吸附位置更贴顶;点击分类的落点按栏的实际渲染高度动态计算,分类多到换行、界面字号缩放、语言切换时依然精确定位,分组标题不再被栏遮住;分组标题字号加大并提高对比度;适配减弱透明度偏好(自动回退不透明表面、去掉模糊)
  • 主题配置分组以圆角边框成组(全主题):每组配置装进圆角矩形边框容器(表面底色、细线边框,与全应用卡片语言一致),组与组的边界一目了然;无分类的旧主题自动合成单个容器平铺,外观不受影响
  • 点击分类跳转后分组标题闪烁提示:跳转落点的分组标题以注意色脉冲三次(素色 → 注意色 → 素色,约 1.5 秒),滚动到位前后都能看见落点在哪;颜色取自现有「注意色」令牌(深浅主题各自适配),减弱动态偏好下不闪烁(瞬时跳位本身即时可见)

Plainstruct 3.4.1 Release

Choose a tag to compare

@MogroWang MogroWang released this 01 Oct 16:11

[3.4.1] - 2026-10-01

修复

  • 紧急修复:发布到组织仓库必然失败(403):发布配置此前只有「用户名」一个入口,仓库不存在时一律走个人接口 /user/repos 自动创建 —— 填组织名时 GitHub 会以 403(无权限)或 404 拒绝,仓库也不会落到组织下;现发布页先选账户类型,组织仓库经 /orgs/{组织}/repos 创建,个人仓库仍走 /user/repos,两种账户不再共用一条接口
  • 修复组织仓库无权访问时报错含糊:「验证连接」此前把 403 一律当成「仓库不存在」,组织受限时提示与真实原因不符;现区分 403(令牌无权访问该仓库 / 组织)与 404(确实不存在),并逐条给出原因与处置(令牌未授权该组织、组织不允许成员建仓、组织禁用了 Pages 均落到提示与运行日志)
  • 修复账户类型填错无人察觉:验证连接会核对填写的所有者究竟是个人还是组织(读 GitHub /users/{owner} 的 type),选错时当场提示切换账户类型;个人账户下用户名与令牌所属账号不一致时,也会提示自动创建的仓库会落在令牌账号名下
  • 修复首次发布开启 Pages 失败无迹可循:开启 Pages 的失败此前被静默忽略;现按状态码区分并写入运行日志(403 = 令牌缺少 Pages 权限或组织禁用 Pages),内容推送不受影响

新增

  • 主题配置分类导航(全主题):十款内置主题的配置项全部按语义分组(博客主题:顶栏与导航 / 品牌与标识 / 布局 / 卡片外观 / 颜色与字体 / 目录与动效 / 内容显示;文档主题:颜色与字体 / 布局 / 动效 / 内容显示),面板顶部新增吸顶的分类按钮栏,点击即滚动到对应分组;theme.json 的字段新增可选 category 字段,自定义主题同样生效(无分类的旧主题保持平铺不受影响)
  • 顶栏显示当前页面标题(五款博客主题):主题配置新增开关,开启后顶栏在品牌与导航之间显示当前页面标题(超出省略号截断);首页不显示(避免与站点名重复),窄屏自动隐藏,默认关闭、外观不变
  • 资产详情面板可折叠(悬浮圆角面板):详情窗改为悬浮圆角面板(上/右/下离边留白,不再与内容区拼接),新增左缘折叠/展开把手 —— 折叠后收成窄轨、把手横移到轨上居中,展开/折叠与滑入/滑出均为非线性过渡(宽度与位移分开驱动,适配减弱动态偏好);拖拽调宽保留,多选批量操作与单选预览结构不变
  • 五款博客主题新增卡片阴影颜色:「卡片阴影」与「卡片悬停阴影」两态各自新增阴影颜色设置,预设档位(轻 / 中 / 深)与自定义档位共用同一颜色、只按档位换算不透明度;默认黑色,与 3.4.0 外观完全一致,深色主题可换成浅色阴影
  • 自定义取色器(不再使用系统原生颜色控件):主题配置面板内所有颜色字段(强调色、顶栏背景色、卡片阴影颜色等)改用自绘取色器 —— 触发器是色块加十六进制值,面板内含饱和度/明度区与色相条,按下即取色、拖动 1:1 跟随指针(指针捕获,拖出面板不脱手,可随时反向),十六进制值也可直接键入;拖动中的取样值按 80ms 节流写入配置,界面反馈保持零延迟,松手立即提交最终值;支持方向键微调(Shift 十倍步长)、Esc 收起并把焦点交回触发器,并适配减弱动态偏好
  • 账户类型分段控件:发布页顶部的两段式选择(个人用户 / 组织),选中段以滑动药丸呈现;切换后「用户名」字段随之变为「组织名」,选择立即保存

变更

  • 活动栏「主题」与「构建」互换位置:「主题」上移到「站点设置」之下,「构建」下移挨着「发布」,按「写 → 管 → 排 → 发」的动线排列
  • 资产页顶栏收纳工具按钮:视图切换(卡片/列表)与新建文件夹从列表区工具行移到页头顶栏(与刷新并排),列表区工具行只保留资产计数与已选数
  • 博客主题尺寸设置单位调整(五款):「Logo 宽度/高度」改用像素(16–128px,默认即各主题原始尺寸 26/26/22/30/20px,旧百分比字面值不再迁移,按新默认值显示);「顶栏宽度」与「主页卡片流宽度」改用百分比(50–100%,随窗口自适应,默认 75%,接近旧版 920/916px 在常见窗口宽度的观感);「主页卡片流宽度」选项移到「封面图高度」下方;移除「封面图宽度」选项(封面恒满宽,旧的窄宽居中样式不再提供)
  • 发布页所有者字段文案随账户类型变化:个人用户显示「用户名」、组织显示「组织名」,字段下方的说明文字随之讲清该类型下的建仓位置与令牌所需权限
  • 内置主题版本号升至 3.4.1;五款博客主题的卡片阴影改为颜色变量驱动(--ps-shadow-color / --ps-shadow-hv-color),预设档位与自定义档位共用同一条规则

Plainstruct 3.4.0 Release

Choose a tag to compare

@MogroWang MogroWang released this 01 Oct 03:56

[3.4.0] - 2026-10-01

修复

  • 修复内容页文件树分隔线拖动不贴指针:文件树右侧的分隔线拖动时宽度基准此前取自窗口左缘,未扣除左侧活动栏的宽度,拖动中分隔线始终偏离指针;现以工作区主容器左缘为原点计算,分隔线始终贴合指针位置
  • 修复选字时误触分隔线拖动:编辑器内拖动选择文字时,指针划过分隔线会被误判为拖拽调宽;现分隔线只在本体按下进入拖动态后才跟踪移动,选字划过不再误触(编辑器中部分栏分隔线与资产页详情窗分隔线同步修复)
  • 修复切换主题后部分设置被重置:从自定义主题切回内置主题(或在内置主题间切换)时,配置会被清空回默认值;现切换主题会携带同键名同类型的配置值(共有设置不丢,选项值不在目标主题可选范围内时回落默认),仅换外观不丢偏好
  • 修复浏览器标题格式清空后仍沿用旧值:站点设置中清空「浏览器标题格式」保存后,先前保存的格式依然生效;原因是清空后的空值被序列化时省略、后端误当作「未修改」。现显式传空串清除,恢复默认连接符
  • 修复资产页选中文件后界面抖动:选中瞬间右侧详情面板插入布局,把图片网格挤窄;现详情面板改为悬浮层 —— 滑入/滑出只动 transform,列表与网格的布局宽度永不变化,选中/取消选中零位移;面板宽度拖拽把手同步保留
  • 修复内容页资产栏不读取子文件夹中的图片:资产栏此前只列出资产目录根层的图片,子文件夹里的图片完全不显示;现递归列出全部层级(资产页与封面图建议同步受益)

新增

  • 自定义日期时间选择器(精确到秒):配置头编辑与新建文档弹窗中的日期字段不再使用系统原生日期控件,改为自绘月历 + 时/分/秒输入的选择器,样式与应用统一;支持上/下月切换、「此刻」快捷填充与一键清除,输出 YYYY-MM-DD HH:mm:ss,兼容旧的纯日期写法
  • 资产文件夹移出至回收站(二级确认):资产页每个子文件夹的分组标题悬停时出现移出按钮,点击弹窗二级确认(含图片数与引用失效提示)后整夹移入系统回收站;根资产目录不受影响
  • 顶栏滚动动画设置(五款博客主题):「顶栏滚动形态」新增四项配套配置 —— 变形曲线(标准/缓出/缓入/线性/弹性/自定义 cubic-bezier)、变形时长(0–800ms)、变形触发滚动量(安全区,滚过多少像素后开始变形,0–400px)与顶栏背景(背景颜色 + 模糊程度滑动条 0–40px + 填充不透明度滑动条 0–100%);默认值与 3.3.0 外观一致
  • 主页卡片流宽度可调(五款博客主题):主题配置新增「主页卡片流宽度」(480–1400px),与正文宽度解绑,首页文章流(含分页页)可独立收窄或加宽
  • 导航显示项选择器重构(五款博客主题):顶栏导航的「自定义」选择弹窗改为可折叠树形——文件夹默认折叠,点小箭头展开/收起,层级缩进清晰;文件夹内的页面也可直接勾选进顶栏导航(不再限于顶层);已选清单显示所在文件夹链
  • 主页右键菜单支持编辑配置头:文件树的「主页」固定入口右键,现在也有「编辑配置头」等文件操作(与文档右键一致)
  • 最近打开列表站点类型图标:每条最近站点的类型文字左侧加入类型图标(文档站点为文档标、博客站点为笔标,与新建向导一致),扫一眼即可区分站点类型
  • 启动页元素次第浮入:启动后首页的 Logo、标语、操作按钮与最近列表以流畅非线性缓动依次浮入,完整动画窗口不超过 300ms,并适配减弱动态偏好
  • 关闭软件前提醒保存:关闭自动保存时若仍有未保存修改,关闭软件(自绘标题栏关闭按钮与任务栏关闭)会先弹出确认 —— 「保存并关闭 / 不保存 / 取消」,不再静默丢失输入;macOS 关窗仅为隐藏窗口,不在此列
  • 全局撤销 / 重做按钮:活动栏设置按钮上方新增撤销与重做两枚按钮,作用于当前文档的编辑器历史(无打开文档时置灰);快捷键 ⌘/Ctrl+Z 与 ⌘/Ctrl+Shift+Z 保持不变

变更

  • 移除启动动画预设与设置:3.3.0 引入的四种启动动画预设(浮现/呼吸/进度线/关闭)及其设置项整体移除,启动画面回归静态 Logo + 整体淡出;相应设置存储字段不再写入
  • 界面字号/字重改回选择框:设置 → 个性化的「界面字号」「界面字重」由滑块改回选择框(字号 85%–130% 档位、字重 400/500/600),并新增自定义选项 —— 选中后可在数字原旁输入范围内任意数值(字号 85–130%、字重 400–600),越界自动收敛
  • 两个「手记」主题更名为「素记」:博客主题「手记 · 浅色」「手记 · 深色」更名为「素记 · 浅色」「素记 · 深色」(主题 ID 不变,已建站点不受影响);全部内置主题版本号升至 3.4.0
  • 顶栏变形过渡更自然(五款博客主题):变形前顶栏改为「四边透明边线 + 底边着色」,变形时侧边线随颜色淡入而不是突然出现;阴影从全透明起点插值,「线条变阴影」不再有明显的突跳感
  • 资产按钮图标重绘:左侧活动栏的「资产」按钮改用专门的层叠相册图标(后层相框一角 + 前层相框),与单张「图片」图标明确区分
  • 资产页手动刷新增强:「资产」页头部的刷新按钮现在会重读文件树与全部文档内容(此前只重读文档内容),外部改动后可完整恢复显示
  • 「立即保存」按钮醒目化:文档存在未保存修改时,工具栏的「立即保存」按钮以蓝色边框呼吸闪烁提示(全局注意色,不随主题变化;适配减弱动态偏好,闪烁改为常亮蓝边)