Files
blog/blog-admin/src/template.generated.ts
T
zqlit a74b3c7127
Deploy to Production / pre-check (push) Successful in 58s
Deploy to Production / build (push) Successful in 4m3s
Deploy to Production / deploy-edgeone (push) Successful in 3m48s
Deploy to Production / finalize (push) Successful in 26s
Deploy to Production / notify-failure (push) Skipped
归档 artalk-cf 评论后端 + rss-robot 到 blog-admin(含技术选型/模块分布 README)
2026-10-04 08:45:40 +08:00

6 lines
11 KiB
TypeScript

// 由 tools/gen_template.py 生成,请勿手改。
// 来源:Artalk 仓库 conf/artalk.example.zh-CN.yml
// 作用:/settings/template/:locale 下发,供官方后台的设置页渲染表单。
export const SETTINGS_TEMPLATE_ZH_CN = "# 服务器地址\nhost: \"0.0.0.0\"\n\n# 服务器端口\nport: 23366\n\n# 加密密钥\napp_key: \"\"\n\n# 调试模式\ndebug: false\n\n# 语言 [\"en\", \"zh-CN\", \"zh-TW\", \"ja\", \"fr\", \"ko\", \"ru\"]\nlocale: zh-CN\n\n# 时间区域\ntimezone: Asia/Shanghai\n\n# 默认站点名\nsite_default: 默认站点\n\n# 默认站点地址\nsite_url: \"\"\n\n# 登录有效时长 (单位:秒)\nlogin_timeout: 259200\n\n# 数据库\ndb:\n # 数据库类型 [\"sqlite\", \"mysql\", \"pgsql\", \"mssql\"]\n type: sqlite\n # 数据库文件 (仅 SQLite 数据库需填写)\n file: ./data/artalk.db\n # 数据库名称\n name: artalk\n # 数据库地址\n host: localhost\n # 数据库端口\n port: 3306\n # 数据库账户\n user: root\n # 数据库密码\n password: \"\"\n # 编码格式\n charset: utf8mb4\n # 表前缀 (例如:\"atk_\")\n table_prefix: \"\"\n # 启用 SSL\n ssl: false\n # 预编译语句\n prepare_stmt: true\n\n# 服务器\nhttp:\n # 请求体大小限制 (单位:MB)\n body_limit: 100\n # 代理标头名 (当使用 CDN 时填写 `X-Forwarded-For` 获取用户真实 IP)\n proxy_header: \"\"\n\n# 日志\nlog:\n # 启用日志\n enabled: true\n # 日志文件路径\n filename: ./data/artalk.log\n\n# 缓存\ncache:\n # 启用缓存\n enabled: false\n # 缓存类型 [\"redis\", \"memcache\", \"builtin\"]\n type: builtin\n # 缓存过期时间 (单位:分钟)\n expires: 30\n # 缓存启动预热 (程序启动时预热缓存)\n warm_up: false\n # 缓存服务器地址 (例如:\"localhost:6379\")\n server: \"\"\n # Redis 配置\n redis:\n # 连接方式 [\"tcp\", \"unix\"]\n network: tcp\n # 用户名\n username: \"\"\n # 密码\n password: \"\"\n # 数据库编号 (例如使用零号数据库填写 0)\n db: 0\n\n# 可信域名\n# -- 例如:[\"https://artalk.example.com:23366\"] --\ntrusted_domains: []\n\n# SSL\nssl:\n # 启用 SSL\n enabled: false\n # 证书文件路径\n cert_path: \"\"\n # 密钥文件路径\n key_path: \"\"\n\n# 管理员账户\n# --\n# - name: \"admin\"\n# email: \"admin@example.com\"\n# password: \"\" # 支持 bcrypt 或 md5 加密,如:\"(bcrypt)$2y$10$ti4vZYIrxVN8rLcYXVgXCO.GJND0dyI49r7IoF3xqIx8bBRmIBZRm\"\n# badge_name: \"管理员\"\n# badge_color: \"#0083FF\"\n# --\nadmin_users: []\n\n# 评论审核\nmoderator:\n # 默认待审 (发表新评论需要后台人工审核后才能显示)\n pending_default: false\n # API 请求错误时拦截 (关闭此项当请求错误时让评论放行)\n api_fail_block: false\n # Akismet Key\n # (Akismet 反垃圾服务,https://akismet.com)\n akismet_key: \"\"\n # 腾讯云文本内容安全\n # (https://cloud.tencent.com/document/product/1124/64508)\n tencent:\n enabled: false\n secret_id: \"\"\n secret_key: \"\"\n region: ap-guangzhou\n # 阿里云内容安全\n # (https://help.aliyun.com/document_detail/28417.html)\n aliyun:\n enabled: false\n access_key_id: \"\"\n access_key_secret: \"\"\n region: cn-shanghai\n # 关键词过滤 (本地离线词库)\n keywords:\n enabled: false\n # 匹配成功设为待审状态\n pending: false\n # 词库文件 (支持多个词库文件)\n files:\n - ./data/词库_1.txt\n # 词库文件内容分割符 (例如填写 \"\\n\" 文件中一行一个关键词)\n file_sep: \"\\n\"\n # 替换字符\n replace_to: x\n\n# 验证码\ncaptcha:\n # 启用验证码\n enabled: true\n # 总是需要验证码\n always: false\n # 验证类型 [\"image\", \"turnstile\", \"recaptcha\", \"hcaptcha\", \"geetest\"]\n captcha_type: image\n # 激活验证码所需操作次数\n action_limit: 3\n # 重置操作计数器超时 (单位:s, 设为 -1 不重置)\n action_reset: 60\n # Turnstile\n # (https://www.cloudflare.com/products/turnstile/)\n turnstile:\n site_key: \"\"\n secret_key: \"\"\n # reCaptcha\n # (https://www.google.com/recaptcha/about/)\n recaptcha:\n site_key: \"\"\n secret_key: \"\"\n # hCaptcha (https://www.hcaptcha.com/)\n hcaptcha:\n site_key: \"\"\n secret_key: \"\"\n # Geetest 极验 (https://www.geetest.com)\n geetest:\n captcha_id: \"\"\n captcha_key: \"\"\n\n# IP 属地\nip_region:\n # 启用 IP 属地展示\n enabled: false\n # 数据文件路径 (.xdb 格式)\n db_path: ./data/ip2region.xdb\n # 显示精度 [\"province\", \"city\", \"country\"]\n precision: province\n\n# 图片上传\nimg_upload:\n # 启用图片上传\n enabled: true\n # 图片存放路径\n path: ./data/artalk-img/\n # 图片大小限制 (单位:MB)\n max_size: 5\n # 图片链接基础路径 (默认为 \"/static/images/\")\n public_path: null\n # Upgit 配置\n # (使用 Upgit 将图片上传到 GitHub 或图床:https://github.com/pluveto/upgit)\n upgit:\n # 启用 Upgit\n enabled: false\n # 命令行参数\n exec: upgit -c <upgit配置文件路径> -t /artalk-img\n # 上传后删除本地的图片\n del_local: true\n\n# 邮件通知\nemail:\n # 启用邮件通知\n enabled: false\n # 发送方式 [\"smtp\", \"ali_dm\", \"sendmail\"]\n send_type: smtp\n # 发信人昵称\n send_name: \"{{reply_nick}}\"\n # 发信人地址\n send_addr: noreply@example.com\n # 邮件标题\n mail_subject: \"[{{site_name}}] 您收到了来自 @{{reply_nick}} 的回复\"\n # 邮件模板文件 (填入文件路径使用自定义模板)\n mail_tpl: default\n # SMTP 发送 (启用请将发送方式设为 \"smtp\")\n smtp:\n # 发件地址\n host: smtp.qq.com\n # 发件端口\n port: 587\n # 用户名\n username: example@qq.com\n # 密码\n password: \"\"\n # 阿里云邮件推送\n # (启用请将发送方式设为 \"ali_dm\";参考:https://help.aliyun.com/document_detail/29444.html)\n ali_dm:\n access_key_id: \"\"\n access_key_secret: \"\"\n account_name: noreply@example.com\n\n# 多元推送\nadmin_notify:\n # 通知模版 (填入文件路径使用自定义模板)\n notify_tpl: default\n # 待审评论仍然发送通知 (当评论被拦截时仍然发送通知)\n notify_pending: false\n # 嘈杂模式\n noise_mode: false\n # 邮件通知管理员\n email:\n # 开启 (当使用其他推送方式时,可以关闭管理员邮件通知)\n enabled: true\n # 邮件标题 (发送给管理员的邮件标题)\n mail_subject: \"[{{site_name}}] 您的文章「{{page_title}}」有新回复\"\n # 管理员邮件模板文件 (填入文件路径使用自定义模板)\n mail_tpl: \"\"\n # Telegram\n telegram:\n enabled: false\n api_token: \"\"\n receivers:\n - 7777777\n # Bark\n bark:\n enabled: false\n server: http://day.app/xxxxxxx/\n # 飞书\n lark:\n enabled: false\n webhook_url: \"\"\n # 消息类型 [\"text\", \"card\"]\n msg_type: \"text\"\n # WebHook\n webhook:\n enabled: false\n url: \"\"\n # 钉钉\n ding_talk:\n enabled: false\n token: \"\"\n secret: \"\"\n # Slack\n slack:\n enabled: false\n oauth_token: \"\"\n receivers:\n - CHANNEL_ID\n # LINE\n line:\n enabled: false\n channel_secret: \"\"\n channel_access_token: \"\"\n receivers:\n - USER_ID_1\n - GROUP_ID_1\n\n# 社交登录\nauth:\n # 启用社交登录\n enabled: false\n # 允许匿名评论 (允许跳过验证,仅填写匿名的昵称和邮箱)\n anonymous: false\n # 回调地址 (https://example.com/api/v2/auth/{provider}/callback)\n callback: \"http://localhost:23366/api/v2/auth/{provider}/callback\"\n # Email\n email:\n # 启用邮箱密码登录\n enabled: true\n # 邮箱验证邮件标题\n verify_subject: \"您的验证码是 - {{code}}\"\n # 邮箱验证邮件模板 (填入文件路径使用自定义模板)\n verify_tpl: default\n # GitHub\n github:\n enabled: false\n client_id: \"\"\n client_secret: \"\"\n # GitLab\n gitlab:\n enabled: false\n client_id: \"\"\n client_secret: \"\"\n # Gitea\n gitea:\n enabled: false\n client_id: \"\"\n client_secret: \"\"\n # Google\n google:\n enabled: false\n client_id: \"\"\n client_secret: \"\"\n # Mastodon\n mastodon:\n enabled: false\n client_id: \"\"\n client_secret: \"\"\n # Twitter\n twitter:\n enabled: false\n client_id: \"\"\n client_secret: \"\"\n # Facebook\n facebook:\n enabled: false\n client_id: \"\"\n client_secret: \"\"\n # Discord\n discord:\n enabled: false\n client_id: \"\"\n client_secret: \"\"\n # Steam\n steam:\n enabled: false\n api_key: \"\"\n # Apple\n apple:\n enabled: false\n client_id: \"\"\n client_secret: \"\"\n # Microsoft\n microsoft:\n enabled: false\n client_id: \"\"\n client_secret: \"\"\n # 微信\n wechat:\n enabled: false\n client_id: \"\"\n client_secret: \"\"\n # Tiktok\n tiktok:\n enabled: false\n client_id: \"\"\n client_secret: \"\"\n # Slack\n slack:\n enabled: false\n client_id: \"\"\n client_secret: \"\"\n # Line\n line:\n enabled: false\n client_id: \"\"\n client_secret: \"\"\n # Patreon\n patreon:\n enabled: false\n client_id: \"\"\n client_secret: \"\"\n # Auth0\n auth0:\n enabled: false\n client_id: \"\"\n client_secret: \"\"\n domain: \"\"\n # SSO (用外部 OIDC 身份提供商的访问令牌换取 Artalk 登录会话,通过调用 IdP 的 /userinfo 端点校验)\n # -- 当嵌入页面已运行 OIDC 且希望 Artalk 复用该登录态、不显示自身弹窗登录界面时使用。 --\n sso:\n # 启用 SSO 令牌交换\n enabled: false\n # OIDC issuer 地址 (如 \"tenant.auth0.com\" 或 \"https://tenant.auth0.com\")\n issuer: \"\"\n\n# 界面配置\nfrontend:\n # 评论框占位文字\n placeholder: \"\"\n # 无评论显示文字\n noComment: \"\"\n # 发送按钮文字\n sendBtn: \"\"\n # 评论框穿梭\n editorTravel: true\n # 表情包\n emoticons: https://cdn.jsdelivr.net/gh/ArtalkJS/Emoticons/grps/default.json\n # 投票按钮\n vote: true\n # 反对按钮\n voteDown: false\n # 用户 UA 徽标\n uaBadge: false\n # 评论排序功能\n listSort: true\n # 编辑器实时预览功能\n preview: true\n # 平铺模式 [\"auto\", true, false]\n flatMode: auto\n # 夜间模式 [\"inherit\", \"auto\"]\n darkMode: inherit\n # 最大嵌套层数\n nestMax: 2\n # 嵌套评论排序规则 [\"DATE_ASC\", \"DATE_DESC\", \"VOTE_UP_DESC\"]\n nestSort: DATE_ASC\n # 头像 Gravatar\n gravatar:\n # API 地址\n mirror: https://weavatar.com/avatar/\n # API 参数\n params: sha256=1&d=mp&s=240\n # 评论分页\n pagination:\n # 每页评论数\n pageSize: 20\n # 加载更多模式 (关闭则使用分页条)\n readMore: true\n # 滚动加载\n autoLoad: true\n # 内容限高\n heightLimit:\n # 评论内容限高 (单位:px)\n content: 300\n # 子评论区域限高 (单位:px)\n children: 400\n # 滚动限高 (允许限高区域滚动)\n scrollable: false\n # 图片懒加载 [false, \"native\", \"data-src\"]\n imgLazyLoad: false\n # 请求超时 (单位:毫秒)\n reqTimeout: 15000\n # 版本检测\n versionCheck: true\n # 插件\n pluginURLs: []\n";