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:
@@ -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: []
|
||||
Reference in New Issue
Block a user