Appearance
博客管理脚本文档
这是一套现代化的博客管理工具,用于替代原来的简陋脚本,提供更强大的功能和更好的用户体验。
🚀 快速开始
环境设置
bash
# 安装依赖
pnpm run setup
# 或者手动安装
pnpm install
pip3 install pyyaml # Python 依赖
基本使用
bash
# 使用统一管理脚本
pnpm run blog <command>
# 或者直接使用 Python 脚本
python3 scripts/blog.py <command>
📝 文章管理
创建新文章
bash
# 使用统一脚本
pnpm run blog new daily # 创建日常文章
pnpm run blog new study # 创建学习笔记
pnpm run blog new life # 创建生活随想
# 或者直接使用
pnpm run new daily
python3 scripts/addblog.py daily
功能特点:
- ✅ 自动生成带时间戳的文件名
- ✅ 创建标准的 frontmatter 模板
- ✅ 自动打开编辑器 (支持配置)
- ✅ 自动更新分类索引页面
- ✅ 支持多种分类
博客统计分析
bash
# 总览统计
pnpm run blog stats overview
# 最近文章
pnpm run blog stats recent
pnpm run blog stats recent --limit 20
# 分类统计
pnpm run blog stats category daily
pnpm run blog stats category study
pnpm run blog stats category life
# SEO 检查
pnpm run blog stats seo
# 查找重复内容
pnpm run blog stats duplicates
统计功能:
- 📊 文章数量、字数统计
- 📁 分类和年份分布
- 🏷️ 标签使用频率
- 🔍 SEO 问题检测
- 🔄 重复内容检查
🛠️ 开发工具
开发环境
bash
# 启动开发服务器 (自动打开浏览器)
pnpm run blog dev
pnpm run dev
# 启动开发服务器 (不打开浏览器)
pnpm run blog dev --no-open
构建和预览
bash
# 构建生产版本
pnpm run blog build
pnpm run build
# 预览构建结果
pnpm run blog preview
pnpm run preview
# 清理构建产物
pnpm run blog clean
项目信息
bash
# 显示项目信息
pnpm run blog stats overview
python3 scripts/dev.py info
🚀 部署发布
全量部署
bash
# 部署到所有平台 (GitHub + Gitee + 自定义服务器)
pnpm run blog deploy
pnpm run deploy
选择性部署
bash
# 跳过 GitHub Pages
pnpm run blog deploy --no-github
# 跳过 Gitee Pages
pnpm run blog deploy --no-gitee
# 跳过构建步骤 (使用现有构建产物)
pnpm run blog deploy --skip-build
# 强制部署 (跳过 Git 状态检查)
pnpm run blog deploy --force
部署特点:
- ✅ 自动构建和优化
- ✅ 多平台同步部署
- ✅ 构建前检查和备份
- ✅ 详细的部署日志
- ✅ 错误恢复机制
- ✅ 远程服务器触发更新
📁 脚本文件说明
核心脚本
blog.py
- 统一管理脚本,所有功能的入口addblog.py
- 文章创建脚本,替代原来的简陋版本publish.sh
- 部署脚本,支持多平台和错误处理config.py
- 配置文件,统一管理所有设置
辅助脚本
dev.py
- 开发环境管理blog-stats.py
- 博客统计和分析README.md
- 使用文档
⚙️ 配置说明
编辑器配置
bash
# 设置默认编辑器
export EDITOR=code # VS Code
export EDITOR=vim # Vim
export EDITOR=nvim # Neovim
Giscus 评论配置
- 访问 giscus.app
- 配置你的 GitHub 仓库
- 复制配置到
src/config/giscus.js
部署配置
修改 scripts/config.py
中的部署设置:
python
DEPLOY_CONFIG = {
"github_repo": "[email protected]:your-username/your-repo.git",
"gitee_repo": "[email protected]:your-username/your-repo.git",
"remote_server": "your-domain.com",
"remote_script": "~/update-script.sh"
}
🆚 对比原脚本的改进
addblog.py 改进
功能 | 原版本 | 新版本 |
---|---|---|
错误处理 | ❌ 基础 | ✅ 完善的异常处理 |
配置管理 | ❌ 硬编码 | ✅ 统一配置文件 |
文件模板 | ❌ 简单 | ✅ 完整的 frontmatter |
编辑器支持 | ❌ 固定 nvim | ✅ 可配置编辑器 |
索引更新 | ❌ 修改 README | ✅ 更新 Vue 组件 |
日志输出 | ❌ 无 | ✅ 彩色日志和进度提示 |
publish.sh 改进
功能 | 原版本 | 新版本 |
---|---|---|
包管理器 | ❌ yarn | ✅ pnpm |
错误处理 | ❌ 基础 | ✅ 完善的错误处理和回滚 |
构建检查 | ❌ 无 | ✅ 依赖检查、Git 状态检查 |
部署选项 | ❌ 全部部署 | ✅ 灵活的部署选项 |
日志输出 | ❌ 简单 | ✅ 彩色日志和详细统计 |
备份机制 | ❌ 无 | ✅ 自动备份和恢复 |
🔧 故障排除
常见问题
Python 脚本执行失败
bash# 检查 Python 版本 (需要 3.6+) python3 --version # 安装缺失的依赖 pip3 install pyyaml
权限问题
bash# 设置脚本可执行权限 chmod +x scripts/*.py scripts/*.sh
Git 部署失败
bash# 检查 SSH 密钥配置 ssh -T [email protected] ssh -T [email protected]
构建失败
bash# 清理并重新安装依赖 rm -rf node_modules pnpm-lock.yaml pnpm install
调试模式
bash
# 查看详细的构建日志
pnpm run build --verbose
# 查看详细的部署日志
bash -x scripts/publish.sh
📖 更多示例
完整的工作流程
bash
# 1. 创建新文章
pnpm run blog new daily
# 2. 启动开发服务器预览
pnpm run dev
# 3. 查看统计信息
pnpm run blog stats overview
# 4. SEO 检查
pnpm run blog stats seo
# 5. 部署发布
pnpm run deploy
自动化脚本示例
bash
#!/bin/bash
# 自动化写作和发布流程
# 创建新文章
pnpm run blog new study
# 等待编辑完成
read -p "文章编辑完成后按回车继续..."
# SEO 检查
pnpm run blog stats seo
# 部署
pnpm run deploy
现在你的博客管理脚本已经完全现代化了!🎉