- clone本项目,并确保本机拥有node和npm
- 执行
sudo npm install -g
=> 用于初始化全局命令,此时可以在终端执行geekcli命令
- \bin 生成的博客
- \cli 命令回调部分的源码(前端)
- \layout 模板文件
- \post 文章
- \src 提供细节处理部分的源码(后端)
- \static 博客的静态文件,包括css、js、图片等
- data.json 数据
项目作为博客生成器实则分为两部分,一部分是博客管理、另一部分是博客生成:
博客管理部分处理流程如下:
- 用户输入命令
- 程序查询命令,并执行相应的回调方法
- 在回调中执行相应的业务逻辑
- 业务逻辑调用后端封装的接口,具体实现完全在后端完成。
博客生成部分处理流程如下:
- 遍历模板文件,检查
{{...}}
语法,并根据其中内容访问data.json
,复制其中相对应的内容替换{{...}}
- 根据目录结构,将模板文件和其对应的css、js、图片文件复制到
\bin
文件夹下
博客的文章存放在\post
、资源文件存放在\static
、,模板文件存放在\layout
。其中博客的风格自定义主要由模板文件和资源文件决定。模板文件实质上就是html,只不过会根据data.json
插入一些数据,这些数据的插入与css和js的编写完全无关,使用者正常的编写js和css文件即可。唯一需要注意的是js可以直接访问data.json中的任何数据。
博客管理方面提供如下命令使用:
初始化:
geekcli init #初始化博客生成器,初始化后各文件夹都是空的,你可以将原项目中`\static`和`\layout`文件夹中的内容复制到你的博客对应文件夹下后再作修改
geekcli build #构建、生成博客
geekcli server #运行调试服务器,通过127.0.0.1:4000可以本地访问生成的博客
发布文章:
geekcli post create ${文章路径} #创建文章
geekcli post update ${文章路径} #更新文章
geekcli post delete ${文章路径} #删除文章