Commit Graph

  • 40be17a7c7 Merge pull request 'feat: 头像支持 GIF——跳过裁剪直接上传,原始字节存储保留动画' (#11) from dsh/go_blog:feat/avatar-gif into main main kevin 2026-08-30 17:32:29 +08:00
  • 5c165c1ad7 Merge pull request 'fix: 更换头像后 header 头像样式异常——只替换头像容器内容' (#10) from dsh/go_blog:fix/header-avatar-update into main kevin 2026-08-30 17:32:21 +08:00
  • b6264aa555 feat: 头像支持 GIF——跳过裁剪直接上传,原始字节存储保留动画 dsh 2026-08-28 20:33:40 +08:00
  • cc49152f1b fix: 更换头像后 header 头像样式异常——只替换头像容器内容 dsh 2026-08-28 20:26:00 +08:00
  • f03199de6b Merge pull request 'chore: 存量头像迁移脚本——旧命名 <uid>.jpg 迁入统一 files 表(type=avatars)' (#9) from dsh/go_blog:chore/legacy-avatar-migration-script into main kevin 2026-08-28 20:23:58 +08:00
  • ae59f756ca chore: 存量头像迁移脚本——旧命名 <uid>.jpg 迁入统一 files 表(type=avatars) dsh 2026-08-28 20:22:35 +08:00
  • a3122b04a4 Merge pull request 'feat: 头像上传纳入统一上传引擎——files 表登记 type=avatars,链接 /uploads/avatars/哈希' (#8) from dsh/go_blog:feat/avatar-unified-upload into main kevin 2026-08-28 20:18:04 +08:00
  • 942e3174b9 feat: 头像上传纳入统一上传引擎——files 表登记 type=avatars dsh 2026-08-28 20:13:13 +08:00
  • a6c1f92197 Merge pull request 'fix: attachments→files 迁移增加内容回退策略,防重建表后 id 撞号漏搬' (#7) from dsh/go_blog:fix/attachment-migration-content-fallback into main kevin 2026-08-28 20:04:57 +08:00
  • 73412e51b4 Merge pull request 'feat: 文章编辑体验升级——编辑器图片上传、作者附件区、作者编辑按钮、表单模板统一' (#6) from dsh/go_blog:feat/article-upload-ui into main kevin 2026-08-28 20:04:47 +08:00
  • 30af358dd7 fix: 迁移 attachments→files 增加内容回退策略,防重建表后 id 撞号漏搬 dsh 2026-08-28 19:50:58 +08:00
  • d78ed8e2fe refactor: 文章新建/编辑表单收敛为单一模板 article_form,删除两套重复模板 dsh 2026-08-28 19:59:32 +08:00
  • f5439ae93a feat: 文章详情页编辑按钮按角色放开——作者可编辑自己的文章 dsh 2026-08-28 19:48:16 +08:00
  • 134943e4fb feat: 普通用户文章页补齐附件区(上传/列表/插入正文/设封面/删除) dsh 2026-08-28 19:44:25 +08:00
  • 6216b9af13 feat: 文章新建/编辑页编辑器支持本地图片上传并插入正文 dsh 2026-08-28 19:34:29 +08:00
  • 39609ebf03 Merge pull request 'feat: 全站统一上传文件表 files——上传/下载接口迁移 + attachments 旧表下线' (#5) from dsh/go_blog:feat/unified-files-table into main kevin 2026-08-28 19:28:21 +08:00
  • 970dbd4c5b refactor: 上传/下载接口全面迁移到统一 files 表,移除 attachments 模型 dsh 2026-08-28 19:23:50 +08:00
  • 09bf35d0dd feat: 新增全站统一上传文件表 files,迁移 attachments 数据(type=attachments) dsh 2026-08-28 19:16:42 +08:00
  • 99ea9427bd feat: 启动时自动补齐 config.yaml 缺失的配置项并回写文件 kevin 2026-08-28 17:08:09 +08:00
  • 7280650069 feat: 数据库配置将 MySQL DSN 拆分为独立字段(db_name/username/password/host/port) kevin 2026-08-28 17:02:28 +08:00
  • 6220de9c84 fix: 编辑/新建文章页 Font Awesome 改用本地 vendored 资源 kevin 2026-08-28 16:26:06 +08:00
  • 9bdb2d8556 Merge pull request 'fix: 完成 SECURITY_TODO #27–#32 剩余安全修复(限流/魔数校验/最后管理员事务化/置顶收紧/零碎加固)' (#4) from dsh/go_blog:fix/security-todo-27-32 into main kevin 2026-08-27 23:22:15 +08:00
  • 9a5a7fa929 fix: SECURITY_TODO #32 零碎加固(status 枚举校验/严格 uint 解析/危险扩展名补充) dsh 2026-08-27 21:48:27 +08:00
  • 7e6dd0cc02 fix: SECURITY_TODO #31 普通作者不可置顶全站文章 dsh 2026-08-27 21:46:27 +08:00
  • f39f0f4320 fix: SECURITY_TODO #30 最后管理员防线事务化,消除 TOCTOU 竞态 dsh 2026-08-27 21:45:03 +08:00
  • de27e53287 fix: SECURITY_TODO #29 favicon/logo 上传增加魔数一致性校验 dsh 2026-08-27 21:41:02 +08:00
  • 52ca450ddd fix: SECURITY_TODO #28 评论提交按 IP 限流(5 条/分钟)防灌水刷屏 dsh 2026-08-27 21:39:28 +08:00
  • 4c32267b47 fix: SECURITY_TODO #27 注册接口按 IP 限流(10 次/小时)防批量注册 dsh 2026-08-27 21:38:49 +08:00
  • 2e3888d5b1 fix: 完成 P0 安全修复 #26——请求体大小限制防未认证内存耗尽 DoS kevin 2026-08-27 21:23:19 +08:00
  • 0f1dc7969d feat: footer 显示 Git 提交版本与编译时间(-ldflags 注入 buildinfo) kevin 2026-08-27 20:14:28 +08:00
  • 443eccb8a6 docs: TODO_API_REFACTOR 全部 22 项勾选完成 kevin 2026-08-27 20:08:19 +08:00
  • 7d12167380 docs: README 路由表同步 API 化(页面/API 分离 + API 约定章节) kevin 2026-08-27 20:08:11 +08:00
  • 7f0beb5b0c test: 新增 api_test.go——/api 认证/越权/文章/评论/注册端到端断言 kevin 2026-08-27 19:59:25 +08:00
  • 76b744d5b5 feat: 个人资料接口 JSON 化——POST /api/profile kevin 2026-08-27 19:56:03 +08:00
  • efc30156b9 feat: 站点设置接口 JSON 化——/api/admin/settings/* kevin 2026-08-27 19:52:07 +08:00
  • 856d414295 feat: 用户管理接口 JSON 化——/api/admin/users CRUD kevin 2026-08-27 19:44:09 +08:00
  • 5b227b71ef feat: 文章 CRUD 接口 JSON 化——/api/admin|my/articles kevin 2026-08-27 19:40:02 +08:00
  • a0061b14e3 feat: 评论接口 JSON 化——/api/article/:slug/comments 与 admin 审核操作 kevin 2026-08-27 19:36:09 +08:00
  • 923d57475b docs: TODO_API_REFACTOR 勾选任务 7/8(认证 API 与模板) kevin 2026-08-27 19:31:38 +08:00
  • 7062c755a3 feat: 认证接口 JSON 化——/api/auth/login|register|logout kevin 2026-08-27 19:31:29 +08:00
  • 2c46846309 feat: 搬移附件/头像端点模板 JS 至 /api 路径 kevin 2026-08-27 19:26:19 +08:00
  • b1e9d9cae6 feat: API 基建——/api JSON 接口统一契约与认证分支 kevin 2026-08-27 19:24:43 +08:00
  • 5afc7fa9be docs: README 项目结构章节增加目录作用总览表 + 根目录文件说明 kevin 2026-08-27 19:05:37 +08:00
  • f307781f58 docs: 全部 Go 代码注释汉化 kevin 2026-08-27 19:03:03 +08:00
  • fed6bf9570 docs: 更新 README(安全加固章节 + 配置结构 + 项目结构 + 快速开始说明) kevin 2026-08-27 18:40:09 +08:00
  • 46d6f3cd94 fix: 完成 P3 安全修复 #14-17(文件类型校验/默认关闭 Gravatar/RSS 固定 URL/bcrypt 成本) kevin 2026-08-27 18:34:17 +08:00
  • c9f858b626 fix: 完成 P2 安全修复 #9-13 #22-25 kevin 2026-08-27 18:10:22 +08:00
  • e314b05670 fix: 修复 P1 复审漏洞 #20 #21(禁用用户会话失效 + 头像 XSS 链) kevin 2026-08-27 17:35:46 +08:00
  • f7870e8557 fix: 修复 P0 复审漏洞 #18 #19(数据库泄露 + SQL 注入) kevin 2026-08-27 17:08:22 +08:00
  • 38cd09f723 fix: 安全加固,修复 P0/P1 安全漏洞 kevin 2026-08-19 12:33:09 +08:00
  • c3f8be58c9 Merge pull request 'fix: 静态资源 URL 加版本号,避免浏览器缓存旧 404 导致持续白屏' (#3) from dsh/go_blog:fix/static-cache-busting into main kevin 2026-08-18 06:25:32 -04:00
  • c5218f35a1 fix: cache-bust static asset URLs (?v=2) dsh 2026-08-18 06:25:01 -04:00
  • 9c0ba8cd6d Merge pull request 'fix: static 资源嵌入二进制,修复部署后 Markdown 内容不显示' (#2) from dsh/go_blog:fix/embed-static-assets into main kevin 2026-08-18 06:18:47 -04:00
  • bd3a875403 fix: embed static assets into the binary and never render blank content dsh 2026-08-18 06:18:08 -04:00
  • 5f21c73044 Merge pull request '完善前端 Markdown 渲染:排版样式、代码高亮、标题锚点、图片灯箱、复制按钮' (#1) from dsh/go_blog:feat/markdown-rendering into main kevin 2026-08-18 06:12:12 -04:00
  • 83866f6de2 feat: enhance frontend Markdown rendering dsh 2026-08-18 06:05:53 -04:00
  • 7d9ccdde75 up kevin 2026-06-24 11:46:08 +08:00
  • 2875918289 修改运行路径 kevin 2026-06-24 11:32:45 +08:00
  • 1fc933e014 修复CDN环境下获取真实客户端IP的问题 kevin 2026-06-24 11:18:56 +08:00
  • fe69a2e38b up kevin 2026-06-23 15:16:50 +08:00
  • d8779ed5bf 修复安装问题 kevin 2026-06-23 14:57:36 +08:00
  • a316932d3f up kevin 2026-06-23 11:23:33 +08:00
  • 5f8c7be5ac up kevin 2026-06-23 10:45:37 +08:00
  • fe72cbaf9d 删除过期文件 kevin 2026-06-23 10:37:08 +08:00
  • d9bb91af00 feat: add navigation links management and user registration kevinandClaude Fable 5 2026-06-22 21:01:38 +08:00
  • 2bdc368399 feat: implement tag management and search functionality kevinandClaude Fable 5 2026-06-22 20:59:32 +08:00
  • b4983f1d4d feat: add icons to homepage header and navigation links kevinandClaude Fable 5 2026-06-22 20:24:30 +08:00
  • b0ca76e8dc feat: add custom publish time and last updated time display kevinandClaude Fable 5 2026-06-22 20:20:19 +08:00
  • b600eac21c feat: add favicon settings to site configuration kevinandClaude Fable 5 2026-06-22 20:09:05 +08:00
  • da7a39c1c8 feat: implement comprehensive reading analytics system with bot detection kevinandClaude Fable 5 2026-06-22 19:57:12 +08:00
  • 5ec783e471 feat: implement waterfall layout with smart image positioning and infinite scroll kevinandClaude Fable 5 2026-06-22 19:31:18 +08:00
  • 7047b33358 up kevin 2026-06-22 19:07:13 +08:00
  • eb9a65097e fix: redirect users based on role after login kevinandClaude Fable 5 2026-06-22 19:05:39 +08:00
  • aca4983447 fix: allow clearing display name in profile settings kevinandClaude Fable 5 2026-06-22 19:02:59 +08:00
  • 95cbd0240f feat: display user's display name next to avatar in navigation kevinandClaude Fable 5 2026-06-22 19:01:24 +08:00
  • d64c839b10 feat: add role-based access control and user article management kevinandClaude Fable 5 2026-06-22 18:49:33 +08:00
  • cefaeac618 feat: add admin user management with role-based access and self-protection kevin 2026-06-22 18:11:39 +08:00
  • 6139b3ef2c feat: add article comment system with moderation kevinandClaude Fable 5 2026-06-22 17:21:54 +08:00
  • 1f1123acf8 fix: generate non-empty slugs for non-ASCII titles kevinandClaude Fable 5 2026-06-21 21:14:23 +08:00
  • e872c08f3b feat: article attachments with content-addressed dedup kevinandClaude Fable 5 2026-06-21 21:02:09 +08:00
  • 0c5bcde7da feat: make home welcome/subtitle configurable and fix settings render kevinandClaude Fable 5 2026-06-21 20:41:45 +08:00
  • e3367e6e12 feat: add platform configuration tables and admin settings kevinandClaude Fable 5 2026-06-21 20:32:28 +08:00
  • b474ee009a feat: add article management (list, edit, delete) kevinandClaude Fable 5 2026-06-21 20:13:39 +08:00
  • 42516257e0 up kevin 2026-06-21 20:01:20 +08:00
  • 62732ba348 up kevin 2026-06-21 19:42:47 +08:00
  • a84982e1f5 u o kevin 2026-06-21 19:29:42 +08:00
  • 4f6c24cc49 up kevin 2026-06-21 18:35:12 +08:00
  • 67023378ce feat: add avatar cropping with Cropper.js and server-side resize kevin 2026-06-21 02:30:35 +08:00
  • 610ea643ff 修改头像bug kevin 2026-06-21 02:13:02 +08:00
  • 126e1d9234 增加mysql配置 kevin 2026-06-21 01:54:43 +08:00
  • c82d4482d4 feat: initial blog engine with multi-language, profile, and role system kevinandClaude Opus 4.8 2026-06-21 01:49:04 +08:00