Commit Graph

  • 6aae919bf7 fix(covers): retry without prompt_optimizer on silent empty-image failure main gouki 2026-10-15 00:11:42 +00:00
  • d2e24522be fix(ai-jobs): add Dispatchable trait for dispatchSync static calls gouki 2026-10-15 00:08:28 +00:00
  • 2e052498a5 feat: AI 任务同步执行、评论垃圾管理、会员导航分组、多 AI 配置 gouki 2026-10-15 00:06:55 +00:00
  • ddbf259e93 fix(covers): fallback to neutral prompt when title trips content moderation gouki 2026-10-14 23:52:00 +00:00
  • d041622531 feat: post cover filter + admin AI cover action, restyle page-cache admin gouki 2026-10-14 23:48:57 +00:00
  • 58ebaf7f90 fix(covers): generate card conversion inline during covers:generate gouki 2026-10-14 00:01:30 +00:00
  • 57b6221d90 feat: list mode 50/page, card mode left-image rows, AI cover generation command gouki 2026-10-13 23:58:15 +00:00
  • 16dac8b568 feat: topbar legacy-sync button, card view mode with cover fallback, year/month/day archives, richer page cache admin, stylevar repeater editor gouki 2026-10-13 09:01:46 +00:00
  • 2d8752f863 fix(auth): return empty string from getAuthPassword for legacy null passwords (recaller hash_equals TypeError) gouki 2026-10-12 23:07:10 +00:00
  • 3784b31ecf feat(admin): add 'sync legacy sablog data' button to user menu (incremental import) gouki 2026-10-12 22:58:53 +00:00
  • d483577c90 fix(tags): use crc32-fallback slugger for Chinese tag names (HasSlug was blanking slugs) gouki 2026-10-12 22:52:21 +00:00
  • 9c91f1bdec ci: drop composer install from asset build (vite does not need vendor; github dist timeouts) gouki 2026-10-12 13:55:01 +00:00
  • fbf46f5082 ci: skip dev dependencies in asset build (faker/pint/phpunit hit github timeouts) gouki 2026-10-12 12:56:38 +00:00
  • 86effba075 fix(import): dedupe tags via Tag::findFromString (name is JSON translatable) gouki 2026-10-12 12:44:39 +00:00
  • 6adfacc4e5 feat(frontend): enable Livewire SPA navigation (wire:navigate) gouki 2026-10-12 12:30:58 +00:00
  • b062e09db0 ci: use aliyun composer mirror to avoid github timeout gouki 2026-10-12 09:18:59 +00:00
  • 7fb4c89d6e ci: trigger deploy for path generator gouki 2026-10-12 09:10:34 +00:00
  • dec02f583a feat(media): use legacy filepath structure for attachments via custom path generator gouki 2026-10-12 08:58:19 +00:00
  • 3aed6771b0 fix(theme): widen main container from 960px to 1380px for modern screens gouki 2026-10-11 19:32:28 +00:00
  • 13f017e806 fix(import): preserve original attachment filepath structure; enable admin SPA mode gouki 2026-10-11 19:31:11 +00:00
  • faf70ec5f4 fix(import): use sablog_articles.keywords for tags instead of sablog_tags.aids gouki 2026-10-11 19:25:36 +00:00
  • debead72a5 feat: add frontend admin shortcut for staff goukiandCursor 2026-09-21 23:42:54 +00:00
  • 36c4ffc5b4 fix: restyle pager chips and restore theme ad slots goukiandCursor 2026-09-18 21:48:24 +00:00
  • ae47447062 feat: restore sablog browse modes and clean imported HTML goukiandCursor 2026-09-18 21:33:02 +00:00
  • 469160dc3f feat: add admin env badge, quick post button, and harden plugin enable goukiandCursor 2026-09-18 08:24:16 +00:00
  • b39423831c test(legacy): align expectations with sablog canonical URLs gouki 2026-09-16 23:06:53 +00:00
  • 38723662e2 fix(seo): read id/cid route params after sablog URL refactor gouki 2026-09-16 23:06:14 +00:00
  • de03ddec52 Merge branch 'main' of gitea.neatcn.com:gouki/laralog goukiandCursor 2026-09-16 19:06:42 +00:00
  • f81397a289 feat: use xpier media library for uploads and markdown embeds goukiandCursor 2026-09-16 19:03:52 +00:00
  • 79dfa0d88c fix(routes): remove duplicate /tag/{name} legacy route shadowing canonical gouki 2026-09-09 21:28:03 +00:00
  • f5987e7cc2 refactor(routes): canonical URLs now match sablog format exactly gouki 2026-09-09 21:21:07 +00:00
  • f6a9a8ea50 fix(renderer): render [attach=xx] as <img> for image attachments (legacy sablog behavior) gouki 2026-09-07 22:32:22 +00:00
  • 46428ce02f fix(routes): legacy sablog .shtml URLs 301 alongside .html gouki 2026-09-07 20:04:44 +00:00
  • e0c709ad5c fix(import): null out orphan category references (FK safe) gouki 2026-09-07 19:55:19 +00:00
  • 66ce4bce0a fix(import): guard epoch-0 datetimes for MySQL 5.7 TIMESTAMP range gouki 2026-09-07 19:47:45 +00:00
  • d5e68ab6fc fix(link-tracker): prefix index on target_url for MySQL 5.7 compat gouki 2026-09-07 19:33:47 +00:00
  • 6f1a25f7fa ci: retrigger after env password quoting fix gouki 2026-09-07 19:28:09 +00:00
  • 1add059bcc ci: retrigger deploy after storage skeleton fix gouki 2026-09-07 19:24:08 +00:00
  • 06e73d49d0 ci: deploy via php83-ex; ignore ext-exif in verify (CI image lacks it) gouki 2026-09-07 19:19:43 +00:00
  • 9fdbb55218 ci: fix step order - touch sqlite before composer, drop premature key:generate gouki 2026-09-07 19:13:39 +00:00
  • 2301f7075e ci: prepare sqlite env in verify job; remove GitHub-only workflow gouki 2026-09-07 19:10:18 +00:00
  • b491c8ac86 ci: add Gitea Actions deploy workflow for laralog.neatstudio.com gouki 2026-09-07 19:04:14 +00:00
  • 43dc8f9856 docs: 安装/导入文档 + 部署文档刷新 + workerman 进程文件收归 storage ak 2026-08-13 05:00:22 +08:00
  • 6f13d13d5a chore: 上线前加固——调度器/登录限流/env 模板补全 ak 2026-08-13 03:32:27 +08:00
  • f1b9d1e1c3 refactor: 外链中转拆为内置插件 neatstudio.link-tracker ak 2026-08-13 02:05:32 +08:00
  • 8f1ff6e3f9 feat: 外链中转 /go——点击统计 + 拦截 + 隐藏真实链接 ak 2026-08-13 01:28:10 +08:00
  • 5f74dd76e4 feat: 文章/分类/评论关联细节完善 ak 2026-08-12 22:44:16 +08:00
  • a22175d5b7 style: 筛选下拉再压一档(29px),与应用按钮(25px)协调 ak 2026-08-12 19:19:53 +08:00
  • c12eb38cca feat: 后台表格优化——行点击禁用/标题省略/行高统一/筛选控件紧凑 ak 2026-08-12 19:11:13 +08:00
  • 1d0fe3f8b6 style: 筛选区一行横排(重置靠右/按钮缩小)+ 表头高度对齐数据行 ak 2026-08-12 19:00:55 +08:00
  • 0c5b19b4eb style: 筛选区一行横排(重置|条件|应用)+ 表头/数据行高度和谐 ak 2026-08-12 18:33:47 +08:00
  • 2c3e18fee6 style: 后台再收一档——表头/选择列/筛选区间距微减 ak 2026-08-12 18:21:33 +08:00
  • 359d350083 feat: 筛选条件 Above 常驻横排 + 修正表格行紧凑(行高驱动源) ak 2026-08-12 18:20:59 +08:00
  • a314658bdd feat: 筛选下拉条件横排 + 表格紧凑保留呼吸感 ak 2026-08-12 18:05:40 +08:00
  • e9a0a49fb7 revert: 表格筛选回退默认 Dropdown 布局(与搜索同区、紧凑) ak 2026-08-12 18:02:20 +08:00
  • 66194b6b22 feat: 后台筛选条件横向排列 + 全局紧凑 CSS ak 2026-08-12 17:54:35 +08:00
  • 24b3c25e60 feat: 后台表格筛选改为 Above 常驻布局 ak 2026-08-12 17:51:02 +08:00
  • c231f4af96 fix: [paid] 裸标签泄漏——核心渲染器兜底剥离 + 恢复 dev 库插件状态 ak 2026-08-12 17:48:55 +08:00
  • d7a9135456 fix: 已解锁后 [paid] 标签裸露——替换为付费内容块 ak 2026-08-12 17:40:53 +08:00
  • 2089832dc0 fix: 主题样式补齐——页头页脚宽度对齐 + 缺失类 ak 2026-08-12 17:33:11 +08:00
  • 8fdf8dbb4b docs: 开发规范/教程/demo 全套 + 修复插件运行期自动加载缺口 ak 2026-08-12 17:26:34 +08:00
  • 7364def979 fix: theme('asset', path, name) 忽略指定主题的 bug ak 2026-08-12 04:05:25 +08:00
  • 4ff1848816 style: 插件卡片视觉层级重构(标题/元信息/描述/操作区分) ak 2026-08-12 04:04:13 +08:00
  • 01861f8809 feat: 插件使用说明(usage)+ 页面缓存命中统计 ak 2026-08-12 03:57:22 +08:00
  • 22df17f02a feat: 真实支付配置 + 修复 yansongda 配置结构 bug + 后台 AI 实时进度 ak 2026-08-12 03:31:08 +08:00
  • 88bba6eba3 feat: 开发期 workerman 热重载脚本(dev:watch) ak 2026-08-12 01:54:22 +08:00
  • e06e7c4300 feat: 商城付费购买流 + 市场契约 ak 2026-08-12 01:34:04 +08:00
  • 4d63c0c683 docs: 插件/主题开发文档补全新能力 ak 2026-08-12 01:23:37 +08:00
  • 7228a4f14a fix: 付费块文章解锁无响应——unlockPost 守卫误用 canReadPost ak 2026-08-12 01:12:45 +08:00
  • 8ef250ba80 feat: 前台 paywall——整篇锁定渲染付费墙,付费块替换为 teaser ak 2026-08-12 01:02:10 +08:00
  • 6a7daa79da fix: review 修复——meta 覆盖、重复支付、卸载守卫、测试补全 ak 2026-08-12 00:53:46 +08:00
  • ec087fe2a8 feat: Payment 订单商品化——多态 payable 关联购买实体 ak 2026-08-12 00:22:50 +08:00
  • 4f59afb7ce feat: 插件依赖强制校验 + 文章后台表单/表格注入 hook ak 2026-08-12 00:18:40 +08:00
  • 19fd48213d fix: 插件/主题卡片网格改用内联 grid(auto-fill 多列),修复自定义视图 Tailwind 类未编译导致单列的问题 ak 2026-08-11 23:54:37 +08:00
  • 56735804a1 feat: Markdown 正文自动 TOC(锚点+折叠目录)+ 社交账号扩充国内平台(B站/小红书/抖音/视频号/公众号/其他)+ 侧边栏社交展示 + JSON-LD sameAs 全平台聚合 + 首页 h1(SEO 语义) ak 2026-08-11 23:49:19 +08:00
  • 489a145259 feat: 插件/主题管理卡片改用 Filament 原生组件+中文页面标题;注入点分三组管理(页面/侧边栏/文章);前台 sablog 主题全面语义化(header/nav/main/aside/section/footer) ak 2026-08-11 23:43:41 +08:00
  • ef8ec75e83 feat: 社交账号设置(微博/GitHub/X/Facebook/知乎/邮箱)+ JSON-LD sameAs(Person/Organization/WebSite)+ og:image/og:locale/article 时间 + twitter 完整卡片 ak 2026-08-11 23:33:30 +08:00
  • 3ff766d980 fix: 分类/友链资源字段全部中文化(语言包 lang/zh_CN.json + __() 引用),支付过滤补 label,消除后台表格/表单英文 ak 2026-08-11 23:31:50 +08:00
  • d9a6ca2959 feat: 注入块拖拽排序(后台顺序即渲染顺序)+ theme.json 声明 inject_points + 主题卡片展示注入点 ak 2026-08-11 23:25:34 +08:00
  • 3e3b9a2bfd feat: 主题内容注入点系统(10 个标准位置,同位置多条注入块可排序/启停,stylevar 变量复活)+ 后台主题注入管理页(Tab 分区)+ 缓存/设置收进顶部用户下拉菜单(Livewire action 即时通知) ak 2026-08-11 23:20:57 +08:00
  • e91675e172 test: 新增中文内容端到端回归测试(中文标签/无 slug 文章/中文分类),此前路由约束漏测导致 /tags/随笔.shtml 404 ak 2026-08-11 23:07:57 +08:00
  • c02fb063c7 fix: 标签/文章/分类 slug 路由约束放开为 [^/]+,支持中文标签(如 /tags/随笔.shtml),.shtml 字面后缀保证不冲突 ak 2026-08-11 23:05:10 +08:00
  • 7622cd8e2a feat: 前台整页响应缓存(匿名 GET,浏览量走 track-view 独立端点)+ 后台缓存管理页 + 侧边栏 nav-groups 负 margin 归零 ak 2026-08-11 21:53:09 +08:00
  • a5429b3ea4 feat: 后台内容区 full-width(maxContentWidth=Full)+ 侧边栏容器左右留白 12px 避免贴边 ak 2026-08-11 21:38:27 +08:00
  • dd7fe615e0 fix: BlogStats 浏览量 number_format 显式转 float(MySQL SUM 返回 string,strict_types 下 TypeError) ak 2026-08-11 21:34:22 +08:00
  • b9f02df49f feat: 后台侧边栏紧凑化(13rem + 自定义 CSS)+ 博客设置改 Tab 六分区(站点/外观/订阅SEO/评论/附件/维护),补回时间格式/评论排序/缩略图/水印等 sablog 设置项并接入实际使用 ak 2026-08-11 21:30:56 +08:00
  • 6c7562115f feat: 后台全中文(Filament zh_CN 语言包+资源中文label)+ 插件独立导航分组 + 插件/主题管理卡片化 + 主题预览图(无头浏览器生成)+ 两套主题移动端适配 ak 2026-08-11 21:18:18 +08:00
  • d0ae0f60ad fix: modern 主题补全默认视图组件样式(侧边栏 widget/标签云/搜索框/profile/表格/付费提示等),修复切换后错位;header 补搜索框 ak 2026-08-11 21:05:32 +08:00
  • f213549af3 fix: 登录/注册/登出 POST 路由补 .shtml 变体(表单 route() 生成 .shtml 后缀),修复 405;新增 AuthFlow 回归测试;全面确认前台 URL 全部 route() 生成无硬编码 ak 2026-08-11 21:02:07 +08:00
  • fc6624cf84 feat: 前台 .shtml 后缀 canonical + strict_types 全量启用 + 对外 API(Sanctum+Scramble 文档)+ pm2 ecosystem + GitHub Actions CI + 插件/主题/架构/API 文档 + REDIS_PREFIX 说明 ak 2026-08-11 19:37:33 +08:00
  • 1c8a801238 refactor: Workerman 消费改用 Laravel Queue Worker,database/redis 统一支持(实测 redis 消费通过);默认消费 default,ai 队列;WORKERMAN_QUEUES/MAX_TRIES/TIMEOUT 配置;2 个队列消费测试 ak 2026-08-11 19:27:43 +08:00
  • 34ea046906 fix: [attach] 短代码跨文章全局解析 + 缺失残留清理;损坏附件导入降级不中断;media 导入幂等;sablog:import 支持 sqlite 老库 + 5 个导入自动化测试 ak 2026-08-11 19:16:16 +08:00
  • e735967218 fix: 登录 Undefined array key(unset 后访问已删 key);sablog 主题 footer 错位(#page 由页面视图自闭合);PaymentSettings Section 类路径(v5 移到 Schemas);modern 主题两栏布局 ak 2026-08-11 19:02:53 +08:00
  • fb9175402a M7: 全量测试(25 用例)+ README + 部署文档(nginx/systemd/cron)+ theme:publish 命令 ak 2026-08-11 18:48:16 +08:00
  • 933736cfdd M6: S3 附件支持(R2/COS/OSS)+ attachments:sync-s3 命令(Multipart/幂等),MinIO 实测通过 ak 2026-08-11 18:35:17 +08:00
  • 1d1df43cee M5: Workerman 常驻服务 + AI 审核/润色插件 + 支付插件(支付宝/微信/沙箱)+ 会员插件(套餐/订阅/付费文章) ak 2026-08-11 18:29:35 +08:00
  • f77c96d3aa M4: 插件框架(钩子系统/ZIP安装/市场客户端)+ blog-seo 插件(JSON-LD/OG/llms.txt/Markdown导出)+ 后台插件/主题管理页 ak 2026-08-11 18:15:56 +08:00
  • dee0208f1d M3: Filament 后台资源(文章/分类/评论/媒体/用户/友链)+ 博客设置页 + 仪表盘统计 ak 2026-08-11 18:08:47 +08:00
  • 6214976a88 M2: 主题系统(sablog经典+modern简约)+ 前台全部页面 + 老 URL 301 兼容 + markdown 双份导入 ak 2026-08-11 17:58:29 +08:00
  • f16bb75538 M1: 数据模型 + sablog:import 脚本(MySQL 8 验证通过,不迁移 trackback 等过时功能) ak 2026-08-11 17:40:13 +08:00