系统可以为每篇文章生成独立的 HTML 文件,方便:
- 直接查看和管理
- SEO 优化
- 静态部署
- 离线访问
- 登录后台
- 进入文章管理页面
- 点击顶部的 "📄 生成 HTML" 按钮
- 确认生成
- 等待文件自动下载
- 在文章列表中
- 点击文章右侧的 "📄" 按钮
- 文件自动下载
在项目根目录创建 posts 文件夹:
你的项目/
├── index.html
├── about.html
├── css/
├── js/
└── posts/ ← 新建这个文件夹
├── post-1-自我介绍.html
├── post-2-javascript-异步编程指南.html
└── ...
将下载的所有 HTML 文件移动到 posts 文件夹中。
post-{文章ID}-{标题}.html
例如:
post-1-自我介绍.htmlpost-2-javascript-异步编程指南.htmlpost-3-css-grid-布局实战.html
生成 HTML 后,需要更新首页的文章链接。
系统会自动生成正确的链接,指向 posts/ 文件夹。
如果需要手动调整,修改 js/main.js:
// 查看文章详情
function viewPost(postId) {
// 旧方式:动态页面
// window.location.href = `post.html?id=${postId}`;
// 新方式:静态 HTML
const posts = getPosts();
const post = posts.find(p => p.id === postId);
if (post) {
const filename = postGenerator.generateFilename(post);
window.location.href = `posts/${filename}`;
}
}每个生成的 HTML 文件包含:
- ✅ 完整的文章内容(Markdown 已转换为 HTML)
- ✅ 文章元数据(标题、日期、作者、分类)
- ✅ 封面图片
- ✅ 样式表引用
- ✅ 返回首页链接
- ✅ 浏览统计代码
生成的 HTML 文件使用相对路径引用:
<link rel="stylesheet" href="../css/style.css">
<script src="../js/analytics.js"></script>确保项目结构正确:
项目/
├── css/
│ └── style.css
├── js/
│ └── analytics.js
└── posts/
└── post-1-xxx.html
1. 后台编辑文章 → 保存
2. 点击该文章的 "📄" 按钮
3. 重新下载 HTML 文件
4. 替换 posts 文件夹中的旧文件
1. 后台新建文章 → 保存
2. 点击 "📄 生成 HTML" 或单独生成
3. 将新文件放入 posts 文件夹
1. 后台删除文章
2. 手动删除 posts 文件夹中对应的 HTML 文件
git add posts/
git commit -m "Add generated post HTML files"
git pushhttps://你的用户名.github.io/仓库名/posts/post-1-xxx.html
-
SEO 友好
- 搜索引擎可以直接索引
- 更好的 SEO 排名
-
加载速度快
- 无需 JavaScript 渲染
- 直接显示内容
-
易于管理
- 每篇文章独立文件
- 方便查看和编辑
-
离线访问
- 可以直接打开 HTML 文件
- 不依赖服务器
-
备份方便
- 文件即备份
- 易于迁移
如果使用相对路径的图片:
确保图片文件也在正确的位置。
- Base64 图片会增加文件大小
- 建议使用图床服务
- 推荐图床:
- 静态 HTML 不会自动更新
- 修改文章后需要重新生成
- 建议使用脚本自动化
- 首页链接需要指向 posts 文件夹
- 确保所有内部链接正确
创建 generate-posts.js:
const posts = JSON.parse(localStorage.getItem('blogPosts') || '[]');
posts.forEach(post => {
postGenerator.downloadPost(post);
});使用 GitHub Actions 自动生成和部署:
name: Generate Posts
on: [push]
jobs:
generate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Generate HTML
run: node generate-posts.js
- name: Deploy
run: |
git add posts/
git commit -m "Auto-generate posts"
git pushQ: 生成的文件在哪里? A: 在浏览器的下载文件夹中。
Q: 如何批量上传到 GitHub?
A: 使用 git 命令:git add posts/ && git commit -m "Add posts" && git push
Q: 文章更新后需要重新生成吗? A: 是的,需要重新生成并替换旧文件。
Q: 可以自定义模板吗?
A: 可以,编辑 js/post-generator.js 中的模板。
Q: 图片显示不出来怎么办? A: 检查图片路径是否正确,建议使用图床服务。
提示:生成 HTML 后,记得将文件放入 posts 文件夹并提交到 GitHub!