基于 Gitee + Hexo 搭建个人博客
目前国内访问GitHub速度慢且不稳定,还可能被墙;
所以使用 Gitee 来搭建个人博客,毕竟是国内的开源代码托管平台,相对来说更加稳定。
安装 Hexo
安装前提
安装 Hexo
在本地新建一个文件夹,打开该目录下的命令行,安装hexo-cli:
npm install hexo-cli -g //安装手脚架
hexo init blog //初始化一个hexo项目
cd blog //进入该项目文件夹
npm install //安装项目依赖
hexo server //本地服务器打开项目,查看博客
npm server 以后,我们能看到hexo的默认界面。
注意,hexo3之后,官方把server 功能独立出来作为一个模块,所以要先安装该模块再npm server:
npm install hexo-server --save
目录说明
node_modules // 相关的依赖包
source // 资源文件
- _posts // 文章路径
- about // 自定义菜单
- tags
- ...
themes // 主题目录
- next // next主题
- _congit.yml // 主题配置文件
_congit.yml // 项目配置文件
预览发布
本地预览
hexo generate
hexo server
执行完通过浏览器打开 localhost:4000 查看效果
然后就可以发布了
hexo clean
hexo generate //生成静态文件
hexo deploy //部署上去
上面两句可以简写成
hexo g && hexo d
或
hexo g -d
新建模板
hexo new "postName" #新建文章
hexo new page "pageName" #新建页面
安装主题
下载主题
这里以 NexT 主题为例
在终端窗口下,定位到 Hexo 站点目录下。执行命令:
cd your-hexo-site
git clone https://github.com/iissnan/hexo-theme-next themes/next
启用主题
打开站点目录下的配置文件 _config.yml
文件,通过配置 theme
变量,启用主题:
theme: next
验证启用
通过在hexo-site站点根目录,执行 hexo s --debug
命令,启动本地调试服务,此时命令行会提示:
INFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.
当看到这样的提示时,意味着你已经成功启动服务,通过浏览器打开 http://localhost:4000
检查主题是否可用。
发布到Git Pages
注册码云,创建仓库
我们需要在 gitee 创建自己的账户;
然后再创建一个自己仓库,仓库名为自己的用户名;
选择 服务 -> Gitee Pages,选择需要部署的分支,这里选择 Master 启动服务;
访问生成的网站地址,即可以查看你部署的静态页面啦!
生成SSH公钥
码云提供了基于SSH协议的Git服务,在使用SSH协议访问仓库仓库之前,需要先配置好账户/仓库的SSH公钥。
你可以按如下命令来生成 sshkey:
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
注意:这里的xxxxx@xxxxx.com
只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱。
现网的大部分教程均讲解的使用邮箱生成,其一开始的初衷仅仅是为了便于辨识所以使用了邮箱
按照提示完成三次回车,即可生成 ssh key。
第一次确定文件;第二次输入密码;第三次确认密码。
通过查看 cat ~/.ssh/id_rsa.pub
文件内容,获取到你的 public key.
cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
添加SSH公钥
复制生成后的 ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中。
注意,此处添加公钥选择右上角的 如果您想要对仓库进行写操作,请添加个人公钥
,否则无权限操作仓库。
添加后,在终端(Terminal)中输入
ssh -T git@gitee.com
首次使用需要确认并添加主机到本机SSH可信列表。若返回以下内容,则证明添加成功。
Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access.
添加成功后,就可以使用SSH协议对仓库进行操作了。
部署服务
如果我们想部署到我们的 git pages,我们要先安装一个辅助插件:
npm install hexo-deployer-git --save
输入命令一键发布
hexo clean && hexo g && hexo d