0%

使用hexo在github搭建免费个人博客教程

本文介绍使用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