fluxpress
fluxpress 是 FluxPress 的核心 CLI 工具,提供数据获取、静态站点生成和本地预览功能。
安装
通过 npm 安装:
bash
npm install fluxpress或作为全局命令安装:
bash
npm install -g fluxpress概览
fluxpress <command>
Commands:
fluxpress fetch 从 GitHub 拉取数据并保存到本地
fluxpress generate 根据本地数据和主题生成静态站点
fluxpress preview 启动本地服务器预览生成的站点fluxpress fetch
从 GitHub 拉取数据,保存为 JSON 文件到项目的 data/ 目录。
bash
fluxpress fetch执行流程:
- 清空
data/目录(全量重新拉取) - 读取
fluxpress.config.<theme>.js中的need_data配置 - 按配置逐一从 GitHub API 获取对应数据
- 将数据序列化为 JSON 文件保存到
data/目录
输出文件:
need_data 值 | 输出文件 |
|---|---|
'issues' | data/issues.json |
'users' | data/users.json |
环境变量:
| 变量名 | 必填 | 说明 |
|---|---|---|
GITHUB_TOKEN | 推荐 | GitHub Personal Access Token,用于提高 API 速率限制 |
TIP
未设置 GITHUB_TOKEN 时仍可运行,但公开仓库的 API 请求受限于每小时 60 次。对于内容较多的博客,强烈建议配置 token。
fluxpress generate
读取 data/ 目录中的本地数据,结合主题模板生成静态文件到 public/ 目录。
bash
fluxpress generate执行流程:
- 查找主题目录(依次查找
themes/<theme>/、node_modules/@fluxpress/theme-<theme>/、node_modules/fluxpress-theme-<theme>/) - 清空
public/目录(全量重新生成) - 加载主题
scripts/events/目录下所有.js文件中的事件处理器 - 触发
generate事件,由主题脚本完成所有页面的生成
主题路径查找顺序:
1. themes/<theme>/
2. node_modules/@fluxpress/theme-<theme>/
3. node_modules/fluxpress-theme-<theme>/开发模式
设置 NODE_ENV=development 时,主题路径解析为项目根目录,方便在项目根目录直接开发主题。
fluxpress preview
启动一个本地静态文件服务器,用于预览生成的站点。
bash
fluxpress preview默认端口: 9895
启动后访问 http://localhost:9895 即可预览站点。
TIP
preview 命令仅用于本地预览,不会自动监听文件变化并重新生成。如需修改后自动更新,需手动重新执行 fluxpress generate。
完整工作流
bash
# 1. 从 GitHub 获取最新数据
npx fluxpress fetch
# 2. 根据数据生成静态站点
npx fluxpress generate
# 3. 本地预览
npx fluxpress preview在 package.json 中配置脚本
推荐在 package.json 中配置常用脚本:
json
{
"scripts": {
"fetch": "fluxpress fetch",
"generate": "fluxpress generate",
"preview": "fluxpress preview",
"build": "fluxpress fetch && fluxpress generate"
}
}使用方式:
bash
npm run build # 拉取数据并生成站点
npm run preview # 本地预览