跳至内容
本站内容更新与发布指南

本站内容更新与发布指南

August 27, 2026

本站基于 Hugo + Hextra 搭建,所有内容都是 Markdown 文件。这篇文章记录日常更新与发布的完整流程,照着做即可,不用再翻文档。

目录结构速查

97if-site/
├── hugo.yaml              # 站点配置(站名、菜单、备案号)
├── content/
│   ├── _index.md          # 首页内容
│   ├── about.md           # 关于我
│   ├── tech/              # 技术文章栏目
│   │   ├── xxx.md         #   普通文章
│   │   └── apps/          #   App 详情页(type: app)
│   └── life/              # 生活随笔栏目
├── static/
│   └── img/apps/          # App 图标与截图(自动发布)
├── layouts/               # 自定义布局与短代码
├── assets/css/custom.css  # 自定义样式
└── themes/hextra/         # 主题(勿改)

如何添加一个新 App

第一步:准备图片,放到 static/img/apps/

  • icon-xxx.jpg:应用图标(方形)
  • shot-xxx.jpg:应用截图(16:9 横图,可多张)

第二步:在 content/tech/apps/ 下新建 Markdown 文件(如 my-app.md),复制以下模板填写:

---
title: 应用名称            # 详情页大标题
type: app                 # 固定值,标记为 App 页面
weight: 4                 # 首页卡片排序(数字越小越靠前)
date: 2026-08-27
icon: /img/apps/icon-xxx.jpg
description: 一句话介绍,会显示在首页卡片和详情页头部。
platforms:
  - iOS
  - Android
download:                 # 有哪个填哪个,没用的行直接删掉
  appStore: https://apps.apple.com/zh-CN/app/idXXXXXXX
  android: https://97if.com/download/my-app.apk
  windows: https://97if.com/download/my-app-setup.exe
  web: https://xxx.97if.com
screenshots:              # 截图可多张,点击可放大切换
  - /img/apps/shot-xxx-1.jpg
  - /img/apps/shot-xxx-2.jpg
changelog:                # 最新版本放最上面,详情页默认只显示第一条
  - version: v1.0.0
    date: "2026-08"
    notes:
      - 第一个版本发布
---

## 应用介绍

(这里写正文:功能亮点、使用说明等,支持完整 Markdown)

说明

  • App 页面放在 content/tech/apps/ 下,会自动出现在「技术文章」栏目的列表里
  • weight 控制它在首页「我的小作品」卡片中的位置,同时新增的 App 会自动出现在首页,无需改首页文件
  • changelog 只写最新一条时,详情页直接显示不显示"查看全部"按钮;写多条时,默认显示第一条,点击按钮弹窗查看全部

发新版本时:只需在 changelog 列表最上面插入一段新的 version/date/notes

如何写一篇新文章

content/tech/(技术)或 content/life/(生活)下新建 .md 文件:

---
title: 文章标题
type: blog
date: 2026-08-27
description: 摘要,显示在列表和首页最新文章里。
---

正文用 Markdown 随便写。

写完保存,首页「最新文章」和对应栏目列表都会自动更新,无需任何额外操作。

如何修改首页

首页文件是 content/_index.md,由三部分组成:

  1. Hero 区(徽章、大标题、副标题、按钮)——直接改文件里的文字
  2. 我的小作品——自动收集所有 App,无需手动维护;想改副标题就改 apps-gallery 短代码的 subtitle 参数
  3. 最新文章——自动按时间倒序,数量由 recent-posts 短代码的 limit 参数控制

本地预览

cd 97if-site
../tools/hugo server

浏览器打开 http://localhost:1313/,改文件保存后页面自动刷新。停止服务按 Ctrl + C

构建与打包

确认内容无误后,执行:

cd 97if-site
../tools/hugo --gc --minify              # 构建到 public/ 目录
tar -czf 97if-site-static.tar.gz -C public .   # 打包成一个压缩包

产物是一个纯静态资源包(HTML/CSS/JS/图片),可以直接部署到任何静态服务器。

部署到服务器

# 1. 上传压缩包(换成你的 ECS 公网 IP)
scp 97if-site-static.tar.gz root@服务器IP:/tmp/

# 2. 登录服务器解压到站点目录
ssh root@服务器IP
mkdir -p /var/www/97if
tar -xzf /tmp/97if-site-static.tar.gz -C /var/www/97if

# 3. 若首次部署需配置 nginx 后重载;日常更新无需任何操作

之后每次更新流程就是三步:改内容 → hugo 构建 → 传服务器解压,一分钟内完成。

常用命令速查

操作命令(在 97if-site 目录下执行)
本地预览../tools/hugo server
正式构建../tools/hugo --gc --minify
打静态包tar -czf 97if-site-static.tar.gz -C public .
传服务器scp 97if-site-static.tar.gz root@IP:/tmp/

注意事项

  • 图片命名:全小写英文加连字符,避免中文文件名在部分服务器配置下的路径问题
  • 下载包放哪:安装包(apk/exe)放 ECS 的 /var/www/97if/download/ 目录,链接对应 https://97if.com/download/xxx.apk
  • 备案号变更:改 hugo.yamlparams.footericp.number / police.number,重新构建部署
  • 别改 themes/hextra 里的文件:升级主题时会被覆盖;自定义一律放在项目自己的 layouts/assets/ 里(Hugo 会自动优先生效)