搭建基于Github的Hexo博客
首先感谢codesheep(B站up)的视频指导
本流程是windows下完成的,在实现过程中碰到了一些问题,使用了别人的解决方法,所以这篇博客是个自我学习总结
一开始是用cmd窗口输入命令的,然后发现用Git Bash更好(之前学过linux的命令语言),所以建议安装Git Bash之后,在Git里面操作(安装完成后,先完成6.4的配置再从头看)
1.首先下载Node.js
网址:Node 下载LTS版本
直接全部点next(自己修改下安装路径),然后完成安装
检查安装结果:打开Git Bash 输入命令
1 | node -v ##检查node安装的版本 |
npm(node安装完自带的)是用来安装之后所需包的工具(基于Node.js的javascript代码包管理工具)
如果下载是.msi
格式的安装包,,那么Node会自动在系统变量path中添加安装路径(如果变量添加成功,则上面查node版本肯定可以成功)
2.Node环境配置
配置目标:npm安装的全局模块的路径、缓存cache的路径(将npm安装的东西,放到Node的安装路径,统一管理)
环境配置的理由:在执行类似:npm install -g XXXX
(后面的参数-g,代表global全局安装的意思)的安装语句时,会将安装的模块安装到【C:\Users\用户名\AppData\Roaming\npm】路径中(因为用户变量Path内,node默认配置了C:\Users\用户名\AppData\Roaming\npm
作为模块的安装路径)。主要是不想在用npm装东西时,把东西自动放C盘占地方
- 创建两个文件夹【Node.js安装路径】下创建两个文件夹【node_global】及【node_cache】
创建两个文件夹之后,Git Bash 输入命令
1 | npm config set prefix "node安装路径\node_global" |
以上操作表示:修改全局包下载目录为安装路径\node_global
,缓存目录为安装路径\node_cache
,输入上面命令后会自动创建node_global
目录,而node_cache
目录会在下载全局包时自动创建
修改环境变量
在
环境变量
—>系统变量
下新建NODE_PATH
,值:Node安装路径\node_global\node_modules在
环境变量
—>用户变量
下的Path
内,将C:\Users\用户名\AppData\Roaming\npm
修改为Node安装路径\node_global
测试修改效果
在Git Bash内输入
1
npm install -g express
在
node安装路径\node_global\node_modules
内出现了express的包,说明环境配置成功,以后新装的package都会出现在这个目录下
3.更换npm源
1-2中完成了Node的下载和环境配置,接下来就要用Node的工具npm来安装hexo博客框架了。但是,因为用npm下载慢,所以装阿里的镜像npm->cnpm,
注意事项,在利用npm装东西的时候,应该将Git Bash通过管理员模式打开
Git Bash输入命令如下
1 | npm install -g cnpm --registry=https://registry.npm.taobao.org |
cnpm包就会出现在与express相同的地方(同样可以通过cnpm -v的形式查验安装版本)
4.安装Hexo
安装好cnpm后,就可以用cnpm的命令下载hexo了
Git Bash输入命令
1 | cnpm install -g hexo-cli |
安装完可以通过hexo -v验证,hexo包会出现在与express相同的地方
5.创建本地博客
下载好hexo之后,找个地方创建一个文件夹-我命名为Blog,Git Bash通过cd命令进入Blog路径下(一定要进入Blog文件夹的路径下)
输入下面命令,会在Blog文件夹下,初始化hexo博客架构(会自动生成一个hello world的博客)
1 | hexo init |
如果要创建自己的博客,首先通过cd命令进入路径Blog/source/_posts(文章都放在这个目录下)
输入命令
1 | hexo n "我的第一篇博客" |
然后输入下面命令,生成刚创建(new)的博文
1 | hexo clean ##清理缓存 |
然后在浏览器中打开链接http://localhost:4000/,就可以看到自己的博客了
6.创建Github博客
在注册github账户后,创建仓库
create a new repository
用户部署个人博客的gihub仓库的命名必须符合特定要求,即repository name:owner name.github.io
例如:owner:qingjiu 那么 repository name必须为qingjiu.github.io
安装github的插件
在Blog目录下安装,输入如下命令
1
cnpm install --save hexo-deployer-git
这个可以帮助把本地博客推送(deploy)到github
配置_config.yml文件
1
vim _config.vml ##进入_config.yml文件
找到
deploy
的下面在
type:
后写git添加
repo:
写自己github仓库的HTTPS地址,例如https://github.com/flybigpig1999/flybigpig1999.github.io.git添加
brach:maser
(冒号后面要空一格)1
2
3
4
5deploy:
type: git
repo: <repository url> #https://bitbucket.org/JohnSmith/johnsmith.bitbucket.io
branch: [branch]
message: [message]配置Git(全篇都是用Git Bash来输入命令,所以应该在最开始安装Git就配置好)
在安装完Git后应当首先配置下Git的个人信息,在Git Bash内输入如下命令
1
2git config --global user.name ##在user.name处写自己的github名字
git config --golbal user.email ##在user.email处写自己的github注册邮箱如果想要查询Git的config信息,输入
1
git config --list
将本地博客推送到github
在推送本地博客到github之前,想要免密推送,需要生成秘钥
Git Bash输入秘钥生成
1
ssh-keygen -t -ras -C "你的github注册邮箱"
然后一直回车,系统会自动在
C:\Users\用户\
目录下生成**.ssh文件夹 **地址:C:\Users\jhon.ssh
用记事本打开id_rsa.pub(公共秘钥),复制给出的所有文本,登录github,在右上角用户图标下拉栏目里找到Settings
然后在左侧栏目,找到SSH and GPG keys,创建SSH keys(title随便取,Key栏里粘贴刚才复制的公共秘钥)
粘贴好之后确认生成秘钥,然后可以通过在Git Bash输入命令
1
ssh -T git@github.com
检测连接是否成功
如果出现下面这种情况(connection refused连接被拒绝)
可以输入下面的命令
1
ssh -vT git@github.com
修复完之后再输入-T的命令,重新验证是否连接成功
这样就是成功了successfully,然后就可以免密推送(deploy)博客到github了
1
hexo d ##在hexo g之后推送;hexo s仅仅是本地查看,会一直运行,需要Ctrl+C退出
最后,可以在链接为:
用户名.github.io
下查看github博客的内容至此,基于github的hexo博客就搭建完成了!