配置通用的
hexo
工作环境,形成固定动作,提高配置效率。
安装配置node、git
安装node
windows环境下,下载安装包或portable包。对于portable包而言,本工作环境仅需配置
Path
。linux环境下,用包管理器安装node。
安装git
windows环境下,下载安装包或portable包。对于portable,环境变量配置如下:
set gitdir=c:\portablegit
set path=%gitdir%\cmd;%path%注:可在windows界面保存环境变量,此电脑右键->属性->高级系统设置->环境变量,环境变量名为
gitdir
和path
。linux环境下,用包管理器安装git。
通用配置1:创建ssh-key(用于免密访问git remote repo,默认公钥文件
~/.ssh/id_rsa.pub
)ssh-keygen
通用配置2:设置user.name和user.email
git config --global user.name <yourname>
git config --global user.email <youremail>
安装配置hexo
安装hexo
运行命令
npm install hexo-cli -g
注:windows环境下,shell环境请首选
cmd
,而不是powershell
或git-bash
。配置hexo
初始化工作目录,获取theme文件
hexo init <your-blog-folder-name>
cd <your-blog-folder-name>
git clone theme-repo-url themes/<theme-name>注:windows环境下,
powershell
默认不能运行hexo
命令,仍建议首选cmd
。注:若使用git部署,在运行
hexo deploy
命令时,会报错ERROR Deployer not found: git
,此时需执行npm install --save hexo-deployer-git
安装所需module。获取用户*.md文件
git clone user-post-repo-url <mysourcefolder>
注:用户*.md文件可理解为<your-blog-folder-name>/source文件夹的全部内容,此外还包含自定义的_config.yml文件和_date/文件夹。_config.yml负责覆盖hexo配置,_date/负责覆盖theme配置。
关联用户*.md文件和hexo,在<your-blog-folder-name>文件夹下创建名为source的符号链接,指向<mysourcefolder>(需要先重命名或删除原source目录)。
注:windows环境下,使用
mklink
命令创建符号链接,注意事项可参考我的这篇文章。
验证
启动server
hexo server --config <your-blog-folder-name>/source/_config.yml --cwd <your-blog-folder-name> --debug --draft
部署
hexo deploy --config <your-blog-folder-name>/source/_config.yml --cwd <your-blog-folder-name> --debug --draft
工作流程
推荐的工作流程如下:
启动server->写post(重复动作/本地检查/commit)->hexodeploy(包含远端检查)->push动作(保存source/内容至远端仓库)
注:结合CI/CD工具,push动作就能触发自动部署,工作流程变为-启动server->写post(重复动作/本地检查/commit/push)。涉及另一个story,不赘述。
结束语
此配置过程对官方文件修改极少,仅创建了一个名为source的符号链接,方便官方版本的替换;同时解耦了用户*.md文件和官方文件,最大限度减少了相互影响。
此配置过程可通过脚本自动化完成,也可用docker实现。2年前用bash实现了一个helper,现在看来略显幼稚,有时间再改吧。
注:再次强调windows环境下小心使用
mklink
,windows环境下git-bash
中的ln
不能正常工作,避坑请点这里。