0%

Ubuntu下利用github和hexo搭建自己的博客

最近打算开始写点东西,发出来,一来可以督促自己持续地将所学所感悟的东西记录下来,二来,以前一直在自己遇到问题解决不了的时候去google,获取他人的答疑解惑,而自己写的总结性的东西都在有道云笔记上(主要怕误导大家),这次重新搭建自己的博客,附上了评论系统,所以希望即使写出来的东西不完善也能让大家留个评论,能够及时改正,因此就膨胀发出来了。同时希望这个教程能够帮到一些人亲手搭建自己的博客。

根据一直以来的经验,使用第三方框架之前一定要仔细阅读官方的文档,先不要去获取网上所谓的教程,因为每个教程里面针对的 操作系统、搭设的环境等 不一定和你的一模一样,而官方文档一般是能涵盖你所碰到的大多数问题的

先放上官方的(语言可以选择中文的哦):

hexo的主页在这里:https://hexo.io/

hexo的文档在这里:https://hexo.io/docs/

如果你自己能看文档解决,那是再好不过了,如果根据官方文档踩到坑跳不出来,可以参考参考以下的教程。

一、安装nodejs 与 npm

首先声明,博主目前主要使用Ubuntu进行Android开发,然后进行一些简单的日常使用,对Ubuntu玩得并非很6,看到hexo官网上说要先安装nodejs和npm,首先想到的是去nodejs官网,但是下载下来解压之后,一脸懵逼,不知道怎么操作了。官网上没有很直观的文档(是不仔细找还不好发现),google 上也是众说纷纭,遂又硬着头皮去官网上找找解决方法,我最后找到的官方指引,点击这里就是,有针对各种系统安装nodejs的说明(同时会自动安装 npm),为了节约大家去看文档的时间,以下还是列出ubuntu环境下nodejs的安装过程:

在终端输入:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

注:在写本教程的时候,最新的LTS版本的nodejs是 8.11.1,所以我这里是8.x,这个版本号可以依据自己需要的版本而改动

当然,如果提示你还未安装curl,则使用以下命令安装即可:

$ sudo apt-get install curl

完成之后,再在终端输入:

$ sudo apt-get install -y nodejs

最后,输入以下命令检测是否安装成功 :

$ nodejs -v

v8.11.1

$ npm -v

5.6.0

如果显示这些版本号,说明安装成功。

二、安装hexo

根据hexo的官方介绍,里面很详细地介绍了安装过程:

1、安装hexo(如果提示权限问题请在命令前加上 sudo)

$ npm install -g hexo-cli

2、初始化hexo

在终端cd到你想要存放blog的目录,执行

$ hexo init BLOG

这行命令会帮你创建一个BLOG文件夹,并且做一些初始化操作,这里BLOG是你想要新建的存放hexo必要文件的文件夹。

3、安装依赖

$ cd BLOG

$ npm install

三、配置github

申请github账号,并且在本地电脑上安装git ,并且将本地生成的公钥更新到github上,以便本机有权限将生成的静态网页push到github服务器。
参考附件:github官方提供的ssh设定:https://help.github.com/articles/connecting-to-github-with-ssh/

在github上新建project

在github上新建project ,只需要注意project的名字一定得是 username.github.io 就行了,像我的博客地址是 glassx.github.io,因此我的project的名字是 glassx.github.io 。

四、配置hexo 以及 关联hexo与github

在正式写作之前,我们需要配置hexo,并且将hexo与github关联起来。

主题配置

首先是选择 主题(theme),当然也可以使用hexo的默认主题,我目前使用的是yilia主题,这个纯属个人爱好,你可以去知乎上搜索好看的hexo主题,也能从我认为的hexo主题大全中选择你中意的主题。只需将下载好的主题放到 *BLOG/themes/ *目录下备用。

用yilia主题的话,别忘了在BLOG目录下终端执行:

$ npm i hexo-generator-json-content –save

修改hexo的配置文件

打开 ** BLOG/ 目录下的 **_config.yml 文件,找到 theme 字段,将它的值改成你需要的主题名称,比如我的就是 :

theme: yilia

除此之外,还需要找到 deploy 字段,将它下面的字段配置成类似于:

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

https://github.com/glassx/glassx.github.io.git 换成你自己的就好了(其实这里整个就是你前面在github上新建的仓库的地址)。

安装必要控件

使用以下命令安装deploy的git工具:

$ npm install hexo-deployer-git –save

如果不安装,在部署的时候会报错: ERROR Deployer not found: git

注意:一定要在第三步的时候将你的公钥上传到github上去,也就是第三步中的 github提供的ssh设定 那个部分,否则在部署的时候会提示没有权限

五、开始写作

准备工作终于做完了,开始发挥吧!
首先新建博文:

在终端里定位到上述的BLOG文件夹下,执行

$ hexo new post “firstpage”

之后会在 BLOG/source/_post/ 目录下生成 firstpage.md 文件,编辑firstpage.md 文件,注意该文件的编辑使用的是 markdown 语法,如果不懂这个语法的话,就去google一下吧,语法很简单。

关于Ubuntu下的编辑器,我目前在使用的是 Remarkable,个人觉得挺好用,因此也安利一波。

编辑完成之后,终端中定位到 BLOG/ 目录,使用hexo命令生成静态文件:

$ hexo generate

生成静态文件命令也可以直接简化成:

$ hexo g

生成静态文件的过程就是将markdown文件 firstpage.md导出成index.html之类的静态文件,静态文件生成之后,便只需要部署了:

$ hexo deploy

同样,部署命令也可以简化成:

hexo d

部署过程实际上是将静态文件push到github指定仓库的过程,期间需要输入你的github的username,比如我的就是glassx ,之后回车;再提示你输入github登录密码(输入密码是看不见的,输入了看不见不要慌),输完回车就OK了。

当然你可以做到一行命令生成静态文件后自动部署:

$ hexo generate –deploy

或者

$ hexo deploy –generate

二者的效果是一样的,都是生成静态文件后自动部署。

部署成功之后,就可以通过 username.github.io 访问你的页面了(username换成你的名字,比如我的就是 glassx.github.io)

总结一下,在整个过程中,hexo的安装按照官方给出的步骤一步步执行就可以了,nodejs的安装也不困难,建立的github仓库其实就是为了存放静态页面,只有在deploy的时候将静态文件推送上去,当然,github提供的page功能会将你的静态页面展示出来。

建议:为了能够在不同的平台上方便地更新博客,并且防止系统损坏等意外导致博客丢失,建议在github上另外建立一个仓库,用于存放BLOG文件夹的内容

可能遇到的问题

目前很多人选择在国内搭建博客了,因为github的访问速度比较慢,这里推荐使用 gitee.com 。

如果使用过程中,每次 hexo g -d 都需要输入账号密码,那么我们可以通过以下步骤来实现免输入账号密码:

  1. 在 gitee 配置这台电脑的 ssh 公钥, 可以用命令验证: ssh -T git@Gitee.com
  2. 修改博客git远程提交地址: git remote set-url origin git@gitee.com:xxx/xxx.git
  3. 修改 hexo 根目录下 _config.yml 中远程仓库的地址: repository: git@gitee.com:xxx/xxx.git

更多的博客装修内容可以参考:https://blog.csdn.net/weidong_y/article/details/90904781

谢谢你的鼓励