Asroads'Blog 君子不器
怎么用HEXO+github搭建个人博客网站
发布于: 2018-06-05 更新于: 2024-03-02 分类于: other 阅读次数: 

建站前的一些唠叨

个生活的瞬间,总想着把自己的所想所感,所悟、所得记录下,哪怕是零星的,粗糙的,鄙俗的,都是自己对生活真相的一次次靠近的证明,于是催生了做个自己的博客的想法,2015年的使用了WordPress技术做了一个博客,自己买了云服务器,域名,终于有了自己的个人网站,后来服务器到期前的那段时间,正赶上项目上线,没有来得及迁移,就被付之一炬。

前天seazhang童鞋发来几个建站教程,又一次萌生了开博客的想法,说干就干,栽种一棵树最好的时间是十年前或现在。于是乎,今年又开始了新的征程,活着,就要学习,2005 年乔布斯在斯坦福的演讲中说到“stay hungry stay foolish”,对世界怀有敬畏,好奇之心,才能保持自己活的永远年轻,永远热泪盈眶。

建站准备

我自己建站的环境是Mac环境,下面主要以Mac环境为准:

环境:

安装

  • node.js用来创建hexo博客框架的用的依赖,我安装的是node-v8.11.3;
  • Git环境,你可以安装客户端或者 用Homebrew 安装git,关于Homebrew的安装不在本教程讨论之内,大家自行搜索。

安装hexo

利用npm命令就可以安装hexo如果自己npm下载出错 可以用国内的一些网站镜像代替

比如淘宝 NPM 镜像 可以参考这篇文档 国内优秀npm镜像推荐及使用

1
npm install -g hexo

如果 遇到权限报错 可以 在前面加上 “sudo” 这个时候 会让你输入电脑密码获得权限,以下所有的指令,如果遇到问题都可以在前面加上“sudo” 尝试解决。

初始化

安装完毕,选择本地你要建站的文件夹,我的是 “/Users/hoolai/jsroads/myblog”,然后打开控制台执行命令,hexo 会初始化网站所需的文件。

1
hexo init

接着安装 npm 依赖包

1
npm install

上面的一切就绪之后,就可以开始本地测试一下了。关于hexo 指令可以参考 hexo指令 运行生成静态文件的指令

“hexo generate” 你也可以使用 “hexo g”代替

1
hexo generate

编译成功后 继续输入 “hexo server” 部署网站 可以用“hexo s” 代替

1
hexo server

此时 可以用浏览器访问 http://localhost:4000,查看一下默认的效果 此时网站还是只能本地看到,默认主题是landscape。

部署到GitHub上

首先你要有一个GitHub账号,这个很简单,如果没有,去注册一个就好。

创建一个repository

repository 相当于一个仓库,用来放置自己的网站的文件,登录进 GitHub 页面 选择 repositories 然后 创建一个新的 repository 这个时候很简单,写一个Repository 名字,名字格式是重点 必须是 yourname.github.io 比如 tom.github.io 我的是 asroads.github.io。

发布网站到GitHub远程

此时需要修改一下本地(/Users/hoolai/jsroads/myblog)的一个“_config.yml”记得一点 hexo 配置中 任何“:”后面都是带空格的。

1
2
3
4
deploy:
type: git
repository: https://github.com/asroads/asroads.github.io.git
branch: master

如果你是第一次使用GitHub部署,还需要配置 SSH文件,另外如果已经配置了,或者多个账号用一台机器需要另行处理。以后这个详谈。首先我们需要检查一下本地有没有 SSH keys 。

1
ssh-keygen -t rsa -C "asroads@163.com"

在Git Bash输入以下指令(任意位置点击鼠标右键),检查是否已经存在了SSH keys。

1
ls -al ~/.ssh

如果已经存在或者正常生成了,用指令添加

1
2
eval `ssh-agent -s`
ssh-add

到了这里基本就搞定了,这个时候需要复制 key 到 github 上面 测试一下 输入以下指令

1
ssh -T git@github.com

这个时候 会看到输出警告,输入 “yes”

接下来需要我们配置一下 ‘~/.ssh/id_rsa.pub’ 里面的内容到GitHub上面

  • 我们先去用户下找到这个文件,用文本编辑器打开,复制内容
  • 打开GitHub网站,登录自己的账号 打开”settings“ — ”SSH and GPG keys” 然后添加一个“SSH keys”

此时 还需要安装 一个 hexo-deployer-git

1
npm install hexo-deployer-git --save

做完上面这些就表示已经搞定了。执行下面的命令,部署到github 上面吧

1
2
hexo generate
hexo deploy

最后打开你的网站博客查看效果吧。我的是 blog.asroads.com

2021-09-18 更新

出现ERROR Deployer not found: git的问题

参照网上的方式:

  • deploy的type 的github需要改成git
  • npm install hexo-deployer-git –save
1
sudo npm install hexo-deployer-git –save

解决问题。

后记

在成功发布之后,禁不住内心一点小小的喜悦,学习过程中间经历了各种挫折、问题、报错、沮丧,经过辗转各大论坛终于得以解决,以后有空了,会慢慢的把自己所学所感写写出来。

十多年前(2007)入行的时候,回忆起学校老师在课堂上曾说,做技术的人,要有一个自己的门面(技术博客),这个是自己的一份“自我经营”,先后在新浪、网易博客、CSDN开了博客,由于后期的工作繁忙,奔波,懒散懈怠,大都虎头蛇尾,偶尔去打开想写点什么的时候,总感觉自己学的知识过于零碎,繁琐,整理起来过于麻烦,很多问题网上已经很多人都给出最好的答案,图文并茂的解答。再去造几个轮子,显得冗余了些。这篇文章也参考了网上许多优秀人的博客和解答,在此,衷心的谢谢他们,好人一生平安!

不错的主题

https://github.com/kb1000fx/hexo-theme-meadow

https://garybear.cn/

https://github.com/blinkfox/hexo-theme-matery

参考文档

--- 本文结束 The End ---