gouki
ddbf259e93
fix(covers): fallback to neutral prompt when title trips content moderation
...
Build and Deploy / verify (push) Successful in 10s
Build and Deploy / deploy (push) Successful in 18s
input new_sensitive 的标题(自杀/逝世等)改用不含标题的通用提示词重试一次
2026-10-14 23:52:00 +00:00
gouki
d041622531
feat: post cover filter + admin AI cover action, restyle page-cache admin
...
Build and Deploy / verify (push) Successful in 10s
Build and Deploy / deploy (push) Successful in 17s
- 抽 CoverGenerator 服务(covers:generate 与后台共用),内部强制同步产出 card 转换
- 文章列表:新增封面状态图标列、「有/无封面/完全无图」筛选、行内「生成封面」AI 操作
- 页面缓存:统计改为原生 StatsOverviewWidget(缓存页数/总大小/命中率/时长),
缓存明细表重排(表头、悬停、URL 截断、图标删除按钮、空状态)
2026-10-14 23:48:57 +00:00
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
2d8752f863
fix(auth): return empty string from getAuthPassword for legacy null passwords (recaller hash_equals TypeError)
Build and Deploy / verify (push) Successful in 10s
Build and Deploy / deploy (push) Successful in 17s
2026-10-12 23:07:10 +00:00
gouki
3784b31ecf
feat(admin): add 'sync legacy sablog data' button to user menu (incremental import)
Build and Deploy / verify (push) Successful in 11s
Build and Deploy / deploy (push) Successful in 18s
2026-10-12 22:58:53 +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
9c91f1bdec
ci: drop composer install from asset build (vite does not need vendor; github dist timeouts)
Build and Deploy / verify (push) Successful in 13s
Build and Deploy / deploy (push) Successful in 22s
2026-10-12 13:55:01 +00:00
gouki
fbf46f5082
ci: skip dev dependencies in asset build (faker/pint/phpunit hit github timeouts)
Build and Deploy / verify (push) Failing after 10m19s
Build and Deploy / deploy (push) Skipped
2026-10-12 12:56:38 +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
6adfacc4e5
feat(frontend): enable Livewire SPA navigation (wire:navigate)
Build and Deploy / verify (push) Failing after 39m48s
Build and Deploy / deploy (push) Skipped
2026-10-12 12:30:58 +00:00
gouki
b062e09db0
ci: use aliyun composer mirror to avoid github timeout
Build and Deploy / verify (push) Successful in 4m16s
Build and Deploy / deploy (push) Successful in 49s
2026-10-12 09:18:59 +00:00
gouki
7fb4c89d6e
ci: trigger deploy for path generator
Build and Deploy / verify (push) Failing after 8m17s
Build and Deploy / deploy (push) Skipped
2026-10-12 09:10:34 +00:00
gouki
dec02f583a
feat(media): use legacy filepath structure for attachments via custom path generator
Build and Deploy / verify (push) Failing after 11m47s
Build and Deploy / deploy (push) Skipped
2026-10-12 08:58:19 +00:00
gouki
3aed6771b0
fix(theme): widen main container from 960px to 1380px for modern screens
Build and Deploy / verify (push) Successful in 29s
Build and Deploy / deploy (push) Successful in 26s
2026-10-11 19:32:28 +00:00
gouki
13f017e806
fix(import): preserve original attachment filepath structure; enable admin SPA mode
Build and Deploy / verify (push) Successful in 31s
Build and Deploy / deploy (push) Successful in 28s
2026-10-11 19:31:11 +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
gouki
b39423831c
test(legacy): align expectations with sablog canonical URLs
Build and Deploy / verify (push) Successful in 40s
Build and Deploy / deploy (push) Successful in 32s
2026-09-16 23:06:53 +00:00
gouki
38723662e2
fix(seo): read id/cid route params after sablog URL refactor
Build and Deploy / verify (push) Successful in 34s
Build and Deploy / deploy (push) Successful in 39s
2026-09-16 23:06:14 +00:00
gouki
79dfa0d88c
fix(routes): remove duplicate /tag/{name} legacy route shadowing canonical
Build and Deploy / verify (push) Successful in 59s
Build and Deploy / deploy (push) Successful in 31s
2026-09-09 21:28:03 +00:00
gouki
f5987e7cc2
refactor(routes): canonical URLs now match sablog format exactly
...
Build and Deploy / verify (push) Successful in 1m6s
Build and Deploy / deploy (push) Successful in 41s
- /show-{id}.shtml (comments page: /show-{id}-{page}.shtml)
- /category-{cid}.shtml / /category-{cid}-{page}.shtml
- /archives-{YYYYMM}.shtml / /archives-{YYYYMM}-{page}.shtml
- /tag/{name}, /tagslist.shtml, /index-{page}.shtml
- slug 时代的 /posts/{slug} 等旧格式全部 301 到 sablog 格式
2026-09-09 21:21:07 +00:00
gouki
f6a9a8ea50
fix(renderer): render [attach=xx] as <img> for image attachments (legacy sablog behavior)
Build and Deploy / verify (push) Successful in 1m0s
Build and Deploy / deploy (push) Successful in 33s
2026-09-07 22:32:22 +00:00
gouki
46428ce02f
fix(routes): legacy sablog .shtml URLs 301 alongside .html
Build and Deploy / verify (push) Successful in 58s
Build and Deploy / deploy (push) Successful in 33s
2026-09-07 20:04:44 +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
gouki
d5e68ab6fc
fix(link-tracker): prefix index on target_url for MySQL 5.7 compat
Build and Deploy / verify (push) Successful in 1m3s
Build and Deploy / deploy (push) Successful in 33s
2026-09-07 19:33:47 +00:00
gouki
6f1a25f7fa
ci: retrigger after env password quoting fix
Build and Deploy / verify (push) Successful in 1m13s
Build and Deploy / deploy (push) Failing after 35s
2026-09-07 19:28:09 +00:00
gouki
1add059bcc
ci: retrigger deploy after storage skeleton fix
Build and Deploy / verify (push) Successful in 1m11s
Build and Deploy / deploy (push) Failing after 23s
2026-09-07 19:24:08 +00:00
gouki
06e73d49d0
ci: deploy via php83-ex; ignore ext-exif in verify (CI image lacks it)
Build and Deploy / verify (push) Successful in 1m13s
Build and Deploy / deploy (push) Failing after 26s
2026-09-07 19:19:43 +00:00
gouki
9fdbb55218
ci: fix step order - touch sqlite before composer, drop premature key:generate
Build and Deploy / verify (push) Failing after 7s
Build and Deploy / deploy (push) Skipped
2026-09-07 19:13:39 +00:00
gouki
2301f7075e
ci: prepare sqlite env in verify job; remove GitHub-only workflow
Build and Deploy / verify (push) Failing after 5s
Build and Deploy / deploy (push) Skipped
2026-09-07 19:10:18 +00:00
gouki
b491c8ac86
ci: add Gitea Actions deploy workflow for laralog.neatstudio.com
Build and Deploy / verify (push) Failing after 7s
Build and Deploy / deploy (push) Skipped
2026-09-07 19:04:14 +00:00