×

小白教你在Ubuntu上用Hexo搭建博客托管到github

96
老豆腐
2016.10.16 21:56* 字数 1266

网上关于这个的教程非常多,今天我自己尝试一下,感觉教程讲得非常明白,但自己实践起来总是没有那么的一帆风顺,会遇到这样那样的问题,所以写点东西记下来,以防自己下次再碰到,或者可以及时救出跟我掉进同个坑里的朋友。

什么是Hexo

hexo是一个基于Node.js的静态博客程序,可以方便的生成静态网页托管在github和Heroku上。Hexo更加简单优雅, 而且风格多变, 适合程序员搭建个人博客,而且支持多平台的搭建。

1. 安装Nodejs

nodejs是一个js的框架,因为Hexo依赖于这个框架,所以要使用Hexo必须先安装它。

ubuntu上安装

本人比较懒,一般可以简单安装就不想去麻烦。和一般冉欢类似,在Ubuntu上Node也可以用apt-get安装

$ sudo apt-get install nodejs
$  sudo apt-get install npm

当然也有源码编译安装的方法。

windows用户

用户可以直接用exe文件安装(又是偷懒的办法,哈哈),具体可以参考Nodejs安装

2.安装Hexo

正式安装Hexo

$ sudo npm install -g hexo

初始化

$ hexo init

到这一步,其实Hexo的安装都已经完成了,下面是来显示它的步骤

Hexo设置

$ hexo g    #生成静态网页
$ hexo s    #运行本地服务器  

关于hexo 的命令,和命令的缩写下面会讲。顺利的话会出现

INFO  Start processing
INFO  Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.

此时说明你已经安装成功了,在浏览器地址栏输上http://localhost:4000就能出现默认主题的博客界面了。

主题更改

我使用的是next主题,大家的评论还是非常不错的。

安装主题

$ hexo clean
$ git clone https://github.com/iissnan/hexo-theme-next themes/next

更新主题

修改Hexo目录下的_config.yml,在theme属性上,将其设置为next,默认是landscape。

$ cd themes/next
$ git pull
$ hexo g
$ hexo s

现在重新打开http://localhost:4000/ ,就发现新的主题安装成功了。
next主题的配置方法作者都非常全,Hexo官方配置教程

hexo 常用命令

1. $ hexo g == hexo generate #生成静态网页
2. $ hexo d == hexo deploy  #部署
3. $ hexo s == hexo server  #启动服务器

安装配置github

安装git

ubuntu系统一般都自带的git,如果没有可以通过这个命令

 sudo apt-get install git

要是不知道有没有安装,也可以在命令行里输入这个安装命令,如果你有安装会告诉你git已经是最新版本了。
windows用户可以在Git官网下载安装就可以。安装完成后出现Git Bash了就说明成功了。

配置github

在命令行里输入

$ git config --global user.name "yourName"
$ git config --global user.eamil "email@example.com"

ubuntu直接在命令行里输入,windows在Git Bash 里输入,其中yourname 是输入你自己的用户名,email@example.com输入你自己的注册邮箱。

创建公钥

输入

ssh-keygen -C 'you email address@gmail.com' -t rsa

这里的C必须大写,之后你可以一直按回车,直到出现


之后会在用户目录 ~/.ssh/ 下建立相应的密钥文件,即 ~/.ssh/id_rsa.pub ,打开该文件,在下面一步有用。

添加公钥

还是在github首页右上角点击头像,选择Settings,然后选择New SSH KEY,把上面一步id_rsa.pub文件的秘钥复制进去就好了。


rsa.png

创建项目仓库

登录Github官网,点击右上角的+,选择New repository。
在页面里输入github账户名.github.io只能这么填,不能改,例如我的是**tofulife.github.io填完后点击Create repository即可。

respository.png

现在github也配置完了。。。

部署到github

打开hexo 目录下的_config.yml

$ sudo gedit _config.yml

到最底下,改成这样子,注意:后面一定要空格

deploy:
  type: git
  repository: https://github.com/tofulife/tofulife.github.io.git
  branch: master

把其中的tofulfie改成你的username。另外,还需要装个Hexo的插件才能push到git上。

npm install hexo-deployer-get --save

现在你就可以浏览器上输入,yourname.github.io访问的你的博客了。

掉进的坑

网页404

总是会有些坑一直等着你跳。我的git也配置好了,Hexo也能在本地打开,但就是push不到git上,一直显示404。使用

$ hexo d 

提示“无法推送一些引用到 'git@github.com:tofulife/tofulife.github.io.git'”其实到现在我也不知道原因。


网上有教程说,不用deploy,直接通过git命令push上去,但是还是提示错误。
后来我用这些命令重新来了一遍

$ hexo clean
$ hexo generate
$ hexo deploy

竟然成功了,现在我知道估计是deploy文件有问题,但是具体什么问题不清楚。如果有“坑友”跟我遇到一样的问题,或者类似的问题,可以试试上面的命令,重新把Hexo部署一般,希望能帮到你。


接下来就是博客的配置了,发现博客有好多东西可以玩,例如,浏览量,评论等,抽时间自己配置完了再写哈!

最后我有参考下面的文章

  1. Hexo搭建独立博客,托管到Github和Coding上教程
  2. 手把手教你使用Hexo + Github Pages搭建个人独立博客

感谢这样的大神,让我们小白涨姿势。

日记本
Web note ad 1