Commit Graph
19 Commits
Author SHA1 Message Date
gouki 58ebaf7f90 fix(covers): generate card conversion inline during covers:generate
Build and Deploy / verify (push) Successful in 11s
Build and Deploy / deploy (push) Successful in 19s
站点无常驻 queue worker,media conversion 走 database 队列会永远不被消费,
导致封面 card 缩略图 404/403。批量生成期间关闭 queue_conversions_by_default。
2026-10-14 00:01:30 +00:00
gouki 57b6221d90 feat: list mode 50/page, card mode left-image rows, AI cover generation command
Build and Deploy / verify (push) Successful in 10s
Build and Deploy / deploy (push) Successful in 18s
- blog_paginate: 纯列表模式每页 50 条(list_per_page 可调),其余模式仍走 per_page
- 图文(card)模式:卡片网格改为左图右文横排,小屏回退竖排;摘要放宽到 100 字
- 新增 covers:generate:复用 AI 设置的 LLM 配置调 /image_generation(默认 image-01),
  为无封面文章批量生成封面存入 media cover 集合;支持 --all/--limit/--post/--style/--dry-run
- AI 设置页新增图片模型、封面风格两项配置
- 修正 HomeViewModeTest:列表模式为纯标题(不再显示摘要),并断言每页 50 条与图文布局
2026-10-13 23:58:15 +00:00
gouki 16dac8b568 feat: topbar legacy-sync button, card view mode with cover fallback, year/month/day archives, richer page cache admin, stylevar repeater editor
Build and Deploy / verify (push) Successful in 32s
Build and Deploy / deploy (push) Successful in 17s
- topbar: Livewire LegacySyncButton next to 写文章 (moved from user menu)
- view modes: add 图文(card) grid with cover fallback chain (cover → attachment → first content image → placeholder); list mode now title-only compact
- archives: year/month/day index grid
- page cache admin: size + expiry columns, total size, cache policy note
- theme inject: stylevars switch from KeyValue to Repeater with multi-line HTML editing
- import: html_entity_decode for category/post-title/link/keywords/comment author
2026-10-13 09:01:46 +00:00
gouki d483577c90 fix(tags): use crc32-fallback slugger for Chinese tag names (HasSlug was blanking slugs)
Build and Deploy / verify (push) Successful in 11s
Build and Deploy / deploy (push) Successful in 17s
2026-10-12 22:52:21 +00:00
gouki 86effba075 fix(import): dedupe tags via Tag::findFromString (name is JSON translatable)
Build and Deploy / verify (push) Failing after 30m11s
Build and Deploy / deploy (push) Skipped
2026-10-12 12:44:39 +00:00
gouki faf70ec5f4 fix(import): use sablog_articles.keywords for tags instead of sablog_tags.aids
Build and Deploy / verify (push) Successful in 33s
Build and Deploy / deploy (push) Successful in 37s
2026-10-11 19:25:36 +00:00
goukiandCursor 36c4ffc5b4 fix: restyle pager chips and restore theme ad slots
Build and Deploy / verify (push) Successful in 37s
Build and Deploy / deploy (push) Successful in 38s
Replace the loose page-count label with a SaBlog-style 6 / 316 chip, wire inject/stylevar HTML into list and post views, and flush page cache when ads are saved.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 21:48:24 +00:00
goukiandCursor ae47447062 feat: restore sablog browse modes and clean imported HTML
Build and Deploy / verify (push) Successful in 40s
Build and Deploy / deploy (push) Successful in 36s
Keep the public site readable after import (nbsp, highlighter, wrapping code, compact pager) and finish the admin extras already in this tree: sticky levels, preview, page cache, and live llms.txt.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 21:33:02 +00:00
gouki e0c709ad5c fix(import): null out orphan category references (FK safe)
Build and Deploy / verify (push) Successful in 1m0s
Build and Deploy / deploy (push) Successful in 33s
2026-09-07 19:55:19 +00:00
gouki 66ce4bce0a fix(import): guard epoch-0 datetimes for MySQL 5.7 TIMESTAMP range
Build and Deploy / verify (push) Successful in 59s
Build and Deploy / deploy (push) Successful in 29s
2026-09-07 19:47:45 +00:00
ak 43dc8f9856 docs: 安装/导入文档 + 部署文档刷新 + workerman 进程文件收归 storage
CI / test (push) Failing after 7s
CI / deploy (push) Skipped
- docs/install.md:全新安装指南(环境要求/.env/验收清单/常见问题)
- docs/import.md:Sablog 导入全解(命令参数表/数据映射/附件短代码/301 兼容/S3 同步/幂等重跑/检查清单)
- docs/deploy.md:补生产迁移顺序、上线前检查清单、调度器实际内容
- Workerman 进程文件(pid/status/log)统一写入 storage/framework 与 storage/logs,不再出现在项目根目录;.gitignore 排除并清理根目录残留
- README 文档导航补 install/import
2026-08-13 05:00:22 +08:00
ak fc6624cf84 feat: 前台 .shtml 后缀 canonical + strict_types 全量启用 + 对外 API(Sanctum+Scramble 文档)+ pm2 ecosystem + GitHub Actions CI + 插件/主题/架构/API 文档 + REDIS_PREFIX 说明 2026-08-11 19:37:33 +08:00
ak 1c8a801238 refactor: Workerman 消费改用 Laravel Queue Worker,database/redis 统一支持(实测 redis 消费通过);默认消费 default,ai 队列;WORKERMAN_QUEUES/MAX_TRIES/TIMEOUT 配置;2 个队列消费测试 2026-08-11 19:27:43 +08:00
ak 34ea046906 fix: [attach] 短代码跨文章全局解析 + 缺失残留清理;损坏附件导入降级不中断;media 导入幂等;sablog:import 支持 sqlite 老库 + 5 个导入自动化测试 2026-08-11 19:16:16 +08:00
ak fb9175402a M7: 全量测试(25 用例)+ README + 部署文档(nginx/systemd/cron)+ theme:publish 命令 2026-08-11 18:48:16 +08:00
ak 933736cfdd M6: S3 附件支持(R2/COS/OSS)+ attachments:sync-s3 命令(Multipart/幂等),MinIO 实测通过 2026-08-11 18:35:17 +08:00
ak 1d1df43cee M5: Workerman 常驻服务 + AI 审核/润色插件 + 支付插件(支付宝/微信/沙箱)+ 会员插件(套餐/订阅/付费文章) 2026-08-11 18:29:35 +08:00
ak 6214976a88 M2: 主题系统(sablog经典+modern简约)+ 前台全部页面 + 老 URL 301 兼容 + markdown 双份导入 2026-08-11 17:58:29 +08:00
ak f16bb75538 M1: 数据模型 + sablog:import 脚本(MySQL 8 验证通过,不迁移 trackback 等过时功能) 2026-08-11 17:40:13 +08:00