From 3e10db81a4016dfd4503925cc4f7f9cf2655d284 Mon Sep 17 00:00:00 2001 From: Codex Date: Fri, 30 Oct 2026 19:04:36 +0800 Subject: [PATCH] Document Hardnerd ad production release and recovery --- docs/maintenance/HN_AD_RELEASE_2026-10-30.md | 24 ++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 docs/maintenance/HN_AD_RELEASE_2026-10-30.md diff --git a/docs/maintenance/HN_AD_RELEASE_2026-10-30.md b/docs/maintenance/HN_AD_RELEASE_2026-10-30.md new file mode 100644 index 00000000..fcc990d2 --- /dev/null +++ b/docs/maintenance/HN_AD_RELEASE_2026-10-30.md @@ -0,0 +1,24 @@ +# Hardnerd 广告正式发布 · 2026-10-30 + +用户明确要求把此前Hardnerd广告放上去并发布,暂停后已恢复授权。此次只发布HN,不携带DPL/FUC广告或其他本地未提交功能。 + +## 当前实现 + +- 素材:`public/images/ads/hn-ad-site-style-20261028.png`,1962×802,SHA-256 `cf5cd4c4c8191836e961ff4a02a1fd4b86996a1e48b898c8112165cd9853b6f2`;采用此前参考HN网站完成的深炭灰、绿紫光晕、渐变Hardnerd品牌字、独立眼镜H版本,不是旧纯黑版。 +- 位置:文章正文之后、标签之前,首页当前展示最新文章时同样显示;栏目列表不增加广告。满行宽高比2.45,圆角12px,无扫光,保留键盘焦点轮廓。 +- 模板:`components/hn-article-ad.blade.php`,独立加载`public/css/hn-article-ad.css`一次;生产文章模板直接引入HN组件,不调用本地DPL/HN/FUC汇总组件。 +- 生产`config/advertising.php`仅包含HN配置,`HN_AD_ENABLED`默认true,`HN_AD_URL`默认`https://hardnerd.net/`。链接新窗口打开,含`sponsored noopener noreferrer`。本地保留其他广告配置及`hn.loc`开发落地页。 + +## Git 发布与验收 + +生产原提交`a5c5540b977eec4035ba64c1ffc1fa6b6f682152`;基于该提交建立隔离工作区,仅提交5个应用文件,推送既有`tom/fn_b.git`新分支`codex/hn-ad-20261030`,正式目录`/www/wwwroot/clashfreenode-new.com`检出功能提交`f0a0f34d8b687f1286d82e1f26ff72619b11a9e1`。现有未提交`generated-tags-cloud.blade.php`逐字保留,未触碰`data.ms`或其他实例。无需重建全站前端构建产物、数据库迁移或修改Nginx、调度、Resource服务。 + +以正式nginx身份清理Blade/响应缓存后,25项服务器侧验收通过、0失败:首页、最新文章`fn20261030`和系统代理/TUN教程各出现一次HN,CSS仅加载一次,链接及rel正确,位置在正文后标签前;`/freenode`列表无新增HN。图片/CSS的正式HTTPS响应200、类型正确、完整SHA与提交素材一致;未携带DPL/FUC素材。回执见`output/hn-ad-release-20261030/release.json`与`verification.json`。 + +已完成服务器侧验收,未做正式线上页面验收或打开HN落地页。本文档后续同步提交只更新文档,不改变已验收应用文件。 + +## 恢复与停用 + +恢复包:VPS-003 `/root/backups/cfn-hn-ad-20261030`,含发布前Git bundle、原HEAD/status、并行差异、原文章模板、发布及验收回执;目录0700,私密回执0600。 + +单独停用可在生产环境设置`HN_AD_ENABLED=false`,按当前配置缓存方式刷新配置,再以nginx身份清响应缓存;不要禁用HN业务网站或撤回其他广告。代码回退先检查有无后续提交,仅撤回本次HN配置/组件/CSS/图片及show模板中的HN include;不得整份覆盖新文章模板或回退之后发布的其他功能。