style: 全站改造为 Editorial 编辑杂志风

- 设计令牌:暖米 #F9F8F6 纸面 × 柔和黑 #1C1C1C,透明度分层 /60 /40 /10,纯单色
- 圆角归零、阴影清零、渐变清除;删除渐变光斑背景层 Background.astro
- 字体:Playfair Display + Noto Serif SC 衬线标题(weight 400)+ Noto Sans SC 正文
- 首页巨型衬线刊名 + 日期线 + 最新发布索引卡;Section 自动编号
- 文章页改刊头式标题区;归档改衬线年号 + 目录行;卡片去渐变封面改纯排版
- 交互:hover 细线下划线、标题转斜体、油墨反转,prefers-reduced-motion 降级保留
- 文件处理逻辑 / 文章内容 / deploy 上传脚本未改动
- 附:新增 LLM 系列笔记与配图、Artalk 部署配置、评论组件入库
This commit is contained in:
2026-08-27 22:52:39 +08:00
parent 6725a02592
commit 5f1c21b6bf
49 changed files with 4471 additions and 909 deletions
+160
View File
@@ -0,0 +1,160 @@
# Artalk 配置 · Yukun's Blog
# 基于官方 conf/artalk.example.zh-CN.yml 裁剪
# 文档:https://artalk.js.org
#
# ★ 部署前必改:
# 1. app_key → 执行 `openssl rand -hex 16` 生成随机字符串填入(加密密钥,勿泄露)
# 2. admin_users → 可留空,启动后 `docker exec -it artalk artalk admin` 交互创建
# 3. site_url → 确认主站域名
# ----------------------------------------------------------------------
# 服务器
host: "0.0.0.0"
port: 23366
# ★ 加密密钥(务必生成随机值,openssl rand -hex 16)
app_key: ""
debug: false
locale: zh-CN
timezone: Asia/Shanghai
# 站点
site_default: "Yukun's Blog"
# ★ 备案期间用 IP 预览地址;备案完成后改回 https://sausagetoast.cloud
site_url: "http://106.54.37.223:8321"
login_timeout: 259200
# 数据库(SQLite 开箱即用,数据落地 ./data/artalk.db)
db:
type: sqlite
file: ./data/artalk.db
prepare_stmt: true
# 日志
log:
enabled: true
filename: ./data/artalk.log
# HTTP
http:
body_limit: 100
# 走 nginx 反代时填 X-Forwarded-For 获取真实 IP
proxy_header: "X-Forwarded-For"
# ★ 可信域名(CORS 防护:前端页面所在来源都要填)
trusted_domains:
- "https://sausagetoast.cloud"
- "http://localhost:4321"
- "http://106.54.37.223:8321" # 备案期间的主站预览地址(备案完成后可删)
# 管理员账户(留空,启动后用命令创建:docker exec -it artalk artalk admin)
admin_users: []
# ★ 审核与反垃圾(匿名方案必备)
moderator:
# 新评论默认直接显示(低流量博客可接受;想严格审核改 true)
pending_default: false
# 反垃圾 API 出错时是否拦截(false = 出错放行,避免误伤)
api_fail_block: false
# Akismet 反垃圾(可选,https://akismet.com 申请 key)
akismet_key: ""
# 腾讯云/阿里云内容安全(可选,留默认关闭)
tencent:
enabled: false
aliyun:
enabled: false
# ★ 本地关键词过滤(离线词库,零成本防垃圾)
keywords:
enabled: true
pending: true # 命中关键词 → 设为待审
files:
- ./data/keywords.txt
file_sep: "\n"
replace_to: "*"
# ★ 验证码(匿名评论防垃圾主力)
captcha:
enabled: true
always: false # 操作 3 次后才要求验证码(降低打扰)
captcha_type: image # 图形验证码,零第三方依赖
action_limit: 3
action_reset: 60
# IP 属地展示(可选,默认关闭)
ip_region:
enabled: false
db_path: ./data/ip2region.xdb
precision: province
# 图片上传
img_upload:
enabled: true
path: ./data/artalk-img/
max_size: 5
public_path: null
# ★ 邮件通知(国内服务器不部署 SMTP,关闭)
email:
enabled: false
# ★ 管理员通知(无 SMTP,邮件通知关闭;如需可开 Telegram/Bark 等推送)
admin_notify:
notify_pending: false
noise_mode: false
email:
enabled: false
telegram:
enabled: false
api_token: ""
receivers: []
bark:
enabled: false
server: ""
webhook:
enabled: false
url: ""
# ★ 身份认证(匿名方案:允许仅填昵称+邮箱评论)
auth:
enabled: true
# 允许匿名评论(跳过验证,仅填昵称+邮箱)
anonymous: true
# 邮箱验证码登录(无 SMTP 无法发验证码,关闭)
email:
enabled: false
# 社交登录默认全部关闭;需要时参考官方文档逐项开启
github:
enabled: false
google:
enabled: false
# 界面默认配置(前端 Comments.astro 也会覆盖部分项)
frontend:
placeholder: "喵~说点什么吧(昵称 + 邮箱即可评论)"
noComment: "快来抢沙发喵~"
sendBtn: "发送"
editorTravel: true
emoticons: https://cdn.jsdelivr.net/gh/ArtalkJS/Emoticons/grps/default.json
vote: true
voteDown: false
uaBadge: false
listSort: true
preview: true
flatMode: auto
nestMax: 2
nestSort: DATE_ASC
darkMode: inherit
gravatar:
mirror: https://weavatar.com/avatar/
params: sha256=1&d=mp&s=240
pagination:
pageSize: 20
readMore: true
autoLoad: true
heightLimit:
content: 300
children: 400
scrollable: false
imgLazyLoad: false
reqTimeout: 15000
versionCheck: true
pluginURLs: []
+19
View File
@@ -0,0 +1,19 @@
# Artalk 评论后端 · Docker Compose
# 部署位置:VPS /opt/artalk/ (与此文件同目录需有 artalk.yml 和 ./data/)
# 启动:docker compose up -d
# 反代:./deploy/proxy.sh comments 8080 → https://comments.sausagetoast.cloud
services:
artalk:
container_name: artalk
image: artalk/artalk-go:latest
restart: unless-stopped
# ★ 备案期间:监听所有网卡,前端直接 http://<服务器IP>:8080 访问(无需子域名)
# 需在云服务器安全组/防火墙放行 TCP 8080
# 备案完成改用子域名反代(deploy/proxy.sh)后,建议改回 "127.0.0.1:8080:23366" 更安全
ports:
- "8080:23366"
volumes:
- ./data:/data # SQLite 数据库 + 图片 + 日志
- ./artalk.yml:/data/artalk.yml:ro # 配置文件(只读挂载)
environment:
- TZ=Asia/Shanghai