本文介绍使用hexo在github搭建免费个人博客
准备工作
- 有一个github账号,没有就注册一个
- 电脑安装了node.js和npm包管理工具,并了解它们的基本用法
- 安装了git客户端或其他的git工具
创建github仓库,用于存放博客
新建一个名为username.github.io的仓库,username就是你github的用户名,比如你的用户名是demo,你就新建demo.github.io的仓库,以后你的博客地址就是https://demo.github.io。注意以下几点:
- 你的注册邮箱一定要验证
- username一定要是你的github用户名,也就是说一个github只能开一个博客
配置SSH key
虽然使用用户名和密码也能访问GitHub权限,但不太安全,所以我们使用ssh key来解决本地和服务器的连接问题。
在Mac终端执行如下命令
$ cd ~/.ssh
如果提示:No such file or directory 说明你是第一次使用ssh
继续执行如下命令
ssh-keygen -t rsa -C "你注册GitHub的邮箱"
连续3次回车,不需要输入密码,会在你的/Users/目录下生成一个.ssh文件夹(Mac查看隐藏文件夹使用shift+command+.)在.ssh文件夹中找到 .ssh\id_rsa.pub文件,用sublime text编辑器打开,复制里面的内容。打开你的GitHub主页,通过Settings -> SSH and GPG keys -> New SSH key。将刚才复制的内容粘贴到key那里,title随便填,保存。
- -t rsa表示使用类型为rsa的非对称加密方式传输
- -c 表示你生成公钥的描述,是你注册GitHub时要验证的邮箱,这个是必须的。不然会导致后期无法访问你的仓库
测试是否配置成功
$ ssh -T git@github.com
然后会看到Hi mushi007! You’ve successfully authenticated, but GitHub does not provide shell access.说明已经配置成功。
使用hexo写博客
关于hexo
官网有详细介绍,这里不赘述
安装
$ npm install -g hexo
初始化
在电脑某个地方建一个文件夹,名字随便取,比如我的是blog,建在桌面
$ cd desktop/blog
$ hexo init
hexo会自动下载一些文件到这个目录,包括node_modules,目录结构如下图
hexo有2种_config.yml文件,一个是根目录下的全局的_config.yml,一个是各个theme下的
$ hexo g # 生成
$ hexo s # 启动服务
执行以上命令之后,hexo就会在public文件夹生成相关html文件,这些文件将来都是要提交到github去的
hexo s是开启本地预览服务,打开浏览器访问 http://localhost:4000 即可看到内容,默认的主题比较丑
修改主题
因为默认主题比较丑,我们就修改一下,个人喜欢的主题是Next,首先下载这个主题
$ cd desktop/blog
$ git clone https://github.com/theme-next/hexo-theme-next themes/next
下载的主题都在themes目录下,修改全局_config.yml中的theme: landscape改为theme: next,然后重新执行hexo g来重新生成。如果出现一些莫名其妙的问题,可以先执行hexo clean来清理一下public的内容,然后再来重新生成和发布。
上传到github
配置全局_config.yml中有关deploy的部分:
deploy:
type: git
repo: git@github.com:mushi007/mushi007.github.io.git
branch: master
部署之前先安装一个插件
npm install hexo-deployer-git --save
部署
hexo deploy