Debian使用Hexo和GitHub搭建个人静态博客

最近Hexo + Github pages非常火,很多人都写了搭建方案,但是更多的人选择windows作为搭建的平台,因为我的工作环境是Debian Testing,所以我想写写怎么在Debian下搭建Hexo + Github pages

预先准备

1.github帐号

注册github账号我想这就不用我教了吧!地址:Github注册

登录完成之后,在你的主页点击图标 New Repository 创建一个新的版本库,因为我们是使用 Github Pages 去搭建我们的静态博客,所以版本库的名称应该是你的用户名+.github.io。如:我的用户名是:ilovesusu,那么版本库的名字应该是: ilovesusu.github.io,之后你将要访问的你的博客地址就是: https://ilovesusu.github.io

2.Debian安装git

sudo apt install git git-core

3.配置SSH
打开 Git Bash ,执行下面的命令生成 SSH 访问私钥及公钥。

$ ssh-keygen -t rsa -C “[email protected]

输入命令回车之后会提示你输入一些东西,就是设置密码,不想设置一直回车到底就好了。然后你的 ~/.ssh 文件下就会生成两个文件 id_rsa 和 id_rsa.pub 。

打开你的 Github -> setting -> SSH Keys 。然后点击 New SSH Key 创建一个新的SSH Key。Title 可以用你的计算机名,可以用以区分。将文件 id_rsa.pub 中的所以内容复制粘贴到 Key 下面。然后使用下面的命令测试是否可以连接上 Github 。

$ ssh -T [email protected]

安装Nodejs + npm管理工具

在Debian8以上安装Nodejs非常方便,源里已经有了,所以直接通过apt安装.

sudo apt install nodejs nodejs-legacy

nodejs-legacy是nodejs的馈赠包,包含了nodejs的很多内容.
紧接着,安装npm管理工具

sudo apt install npm

然后查看安装的版本号来确定是否安装成功.

nodejs -v
npm -v

安装与配置Hexo

安装

hexo的安装非常简单,但是需要注意的是命令中的-g参数.-g是全局安装安装,默认当前目录安装.
执行下述命令即可全局安装

npm install hexo-cli -g

安装以后马上就能创建一个博客了
$ hexo init blog (这里通过init参数创建并初始化一个blog目录)
初始化完成后,文件夹下的目录如下:

.
├── _config.yml
├── package.json
├── scaffolds
├── source
├── ├── _drafts
├── └── _posts
└── themes

  • _config.yml 文件是网站的配置文件,可以在其中配置网站的大部分参数。
  • package.json 文件是应用程序的信息。
  • source 是资源文件夹,是用来存放用户资源的地方。
  • themes 是主题文件夹,Hexo会根据主题来生成不同的静态页面。
  • scaffolds是模板件夹,当新建文章的时候,Hexo会根据模板来建立文件。

$ cd blog (进入blog目录)
$ npm install (通过npm的install命令安装hexo使用的一些node.js包,配置文件是package.json)
$ hexo g (生成静态页面,生成的内容在public文件夹下)
$ hexo server (启动本地服务,进行文章预览调试。hexo s –debug 命令可以用来调试)

修改主题

我使用的是yelee主题,下面只介绍怎么安装这种主题,其他主题可以在Hexo Themes、github里面寻找。
先进入你的Hexo文件夹。然后使用下面的命令clone下yelee主题。

$ git clone https://github.com/MOxFIVE/hexo-theme-yelee.git themes/yelee

然后打开Hexo主文件夹下的_config.yml,修改其中的theme 属性。theme: 后面要加空格。

theme: yelee

部署到github pages

先使用下面的命令对Git进行初始配置。

$ git config –global user.name “your name”
$ git config –global user.email “[email protected]

然后打开Hexo主文件夹下的_config.yml,设置其中的deploy 参数,详细请查看Hexo官方文档中部署部分。
我的设置如下所示:

deploy:
type: git
repo: [email protected]:ilovesusu/ilovesusu.github.io.git
branch: master

在上面的参数设置好了之后,使用下面的命令安装 hexo-deployer-git 插件,只有安装了插件之后才可以部署到Github Pages。

$ npm install hexo-deployer-git –save

安装完插件之后使用下面的命令进行部署:

$ hexo g (生成静态文件)
$ hexo d (部署到github)

创建一篇新博客

$ hexo new “Hello Hexo”

Hexo的插件

Hexo plugins

Hexo有很多插件用来增强它的功能,比如RSS,SEO,资源文件…

RSS

hexo-generator-feed 用于生成RSS订阅

npm install hexo-generator-feed –save
然后在_config.yml中添加
#RSS订阅
feed:
type: atom
path: atom.xml
limit: 20
hub:

SEO

hexo-generator-sitemap 用于生成搜索引擎网站地图

npm install hexo-generator-sitemap –save

资源文件存放

管理资源非常方便的功能可以通过将 config.yml 文件中的 post_asset_folder 选项设为 true 来打开。

_config.yml
post_asset_folder: true

当资源文件管理功能打开后,Hexo将会在你每一次创建新文章时自动创建一个文件夹。这个资源文件夹将会有与这个 markdown 文件一样的名字。将所有与你的文章有关的资源放在这个关联文件夹中之后,你可以通过相对路径来引用它们,这样你就得到了一个更简单而且方便得多的工作流。