很早以前就想搭建个个人博客,可惜我只是个 Android 切图仔,目前也自学了后台,但是写前端页面写的贼垃圾,自己写不知道要写到猴年马月,群友介绍发现了可以使用 Hexo 搭建个人博客,而且托管在 github 平台,后面准备迁移到自己的服务器,先记录一下搭建 Hexo 个人博客的步骤~
废话不多说,老规矩先上图:( 美哭了😭 )
一:首先你要有个 GitHub 账号,然后在 GitHub 上面新建一个仓库,用来放自己的博客代码
1:新建一个仓库
创建一个和你用户名相同的仓库,后面加.github.io 后缀(必须是你的用户名,其它名称无效),点击 create respository 按钮创建。
2:安装 git 工具,设置全局 git 用户信息
安装 git 工具这里就不多说了,安装完成之后,在桌面上 git bash 进入命令行,输入 GitHub 用户名和邮箱验证。
1 | git config --global user.name "你的用户名" |
查看输入是否正确
1 | git config user.name |
3:然后创建 SSH,一路回车,生成 SSH 添加到 GitHub (为什么要配置 SSH 呢?因为你提交代码肯定要拥有你的 github 权限才可以,但是直接使用用户名和密码太不安全了,所以我们使用 ssh key 来解决本地和服务器的连接问题。)
1 | ssh-keygen -t rsa -C "你的邮箱名" |
然后连续 3 次回车,最终会生成一个文件在用户目录下,打开用户目录,找到.ssh\id_rsa.pub 文件,记事本打开并复制里面的内容,打开你的 github 主页,进入项目的仓库 settings->Deploy keys->Add new 下粘贴:
二:Hexo 搭建个人博客 - 框架的本地安装和运行
1:Hexo 的官网 https://hexo.io/
github: https://github.com/hexojs/hexo
2:安装 node 和 npm
hexo 基于 node.js,本地需要安装 node 和 npm,安装步骤就不多说了
查看一下是否有版本号,有的话则安装成功。
1 | yyptdeiMac:~ epay$ node -v |
3. 安装 hexo
1 | $ npm install -g hexo |
4:初始化一个项目 (会生成一个 blog 文件夹)
1 | $ hexo init blog |
5:进入项目文件夹,安装依赖文件
1 | cd blog |
6:运行,并且在浏览器打开网址: http://localhost:4000 ,就可以看到博客页面了
1 | hexo server |
三:更换 Blog 主题
1:主题这一块可以选择自己喜欢的,以下是以一个 Shoka 主题为例,这里有很多主题可以选择:传送门:https://hexo.io/themes/。比如选一个主题:https://github.com/amehime/hexo-theme-shoka,打开链接,进入到 GitHub 里面,有详细的安装教程。
2:安装主题命令输入
1 | blog> git clone https://github.com/amehime/hexo-theme-shoka.git ./themes/shoka |
3:打开_config.yml 文件夹,更改主题名字 (注意:是)
4:正常情况 再次启动,访问网址 http://localhost:4000 ,就可以看到更换的主题了。
1 | hexo server |
5:可是我遇到的是这么个异常情况:
1 | Error 'Function yaml.' + from + ' is removed in js-yaml 4. ' + |
6:解决问题 根据位置提示发现在 node_moudles/js-yaml/index.js 中的方法中有这么一段代码,然后删了不报错了:
7. 然后还是有问题,然后根据 Theme 中的配置页面来
四。部署到 github
1:在配置文件里面填写仓库地址
在项目里面找到 _congif.yml 文件,找到 deploy 字段,把以下代码放进去,填写第一步新建的仓库地址。
1 | # Deployment |
2:安装一个推送工具,将本地项目推到仓库上。
1 | npm install hexo-deployer-git --save |
3:hexo clean 清除之前生成的文件 hexo generate 生成静态文件,可以用 hexo g 缩写,成功了之后可以看到生成了 public 文件夹
1 | hexo clean |
4: 部署
1 | hexo deploy |
注意这里需要输入 GitHub 用户名和密码
5:查看仓库,已经将项目放在仓库里面了
这个时候就可以访问地址:https://mrrightdongyujie1314.github.io/