博客搭建笔记

搭建环境

这次尝试在Ubuntu环境下搭建github+hexo博客
软件需要以下四个:

Ubuntu 16.04

Node.js

Hexo

GitHub

Ubuntu安装

Node环境安装

Hexo博客系统是静态网页的形似,依赖Node.js,简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。(其实我并不懂这个玩意)只是Hexo需要使用npm安装,npm是依托于node的安装软件管理系统

方法一

Windowns下直接下载安装,Ubuntu 我刚开始使用了apt-get install结果装完后版本过低使后面的搭建过程接连出错,直接使用编译好的文件安装,首先官网下载最新tar包然后链接为全局

1
2
3
4
5
tar  xf node-v5.10.1-linux-x64.tar.gz -C /usr/local/
cd /usr/local/
mv node-v5.10.1-linux-x64/ nodejs
ln -s /usr/local/nodejs/bin/node /usr/local/bin
ln -s /usr/local/nodejs/bin/npm /usr/local/bin

方法二

源码安装
参考了菜鸟教程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Node.js 源码安装
以下部分我们将介绍在Ubuntu Linux下安装 Node.js 。 其他的Linux系统,如Centos等类似如下安装步骤。
在 Github 上获取 Node.js 源码:
$ sudo git clone https://github.com/nodejs/node.git
Cloning into 'node'...
修改目录权限:
$ sudo chmod -R 755 node
使用 ./configure 创建编译文件,并按照:
$ cd node
$ sudo ./configure
$ sudo make
$ sudo make install
查看 node 版本:

$ node --version
v10.0.0-pre
$npm -v
5.6.0

源码编译的时间比我想象中的长啊

方法三

nodesource

1
2
3
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
sudo apt-get install -y nodejs

注册一个GitHub账号

关于Git的学习使看了廖雪峰老师的博客,好久之前看的都忘了,哎
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

Github账户注册和新建项目,项目必须要遵守格式:账户名.github.io,不然接下来会有很多麻烦。并且需要勾选Initialize this repository with a README

在建好的项目右侧有个settings按钮,点击它,向下拉到GitHub Pages,你会看到那边有个网址,访问它,你将会惊奇的发现该项目已经被部署到网络上,能够通过外网来访问它。

Hexo安装

找个合适的地方

sudo npm npm install hexo-cli -g
1
2
国内上npm很慢或失败,尝试淘宝源的cnpm
http://npm.taobao.org/

输入hexo -v检查hexo是否安装成功

输入hexo init,初始化项目,npm国外的源有点慢啊,可以修改使用淘宝源

输入npm install, 安装所有组件

输入hexo g,创建静态网页

输入hexo s,开启服务器,访问http://localhost:4000

中途出现了好多次error,除了要加sudo,还有一些奇怪的错误,但是重复了几遍就只剩warn了。。。

总结 使用最新的软件和节点能减少出错几率

将Hexo与Github page联系起来,设置Git的user name和email(如果是第一次的话)

git方面另写一篇博客

测试:
在终端 ssh -T git@github.com

Hi Voidmort! You've successfully authenticated, but GitHub does not provide shell access.

成功!

配置Deployment,在其文件夹中,找到_config.yml文件,修改repo值(在末尾)

1
2
3
4
5
6
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repository: git@github.com:Voidmort/Voidmort.github.io.git
branch: master

repo值是github项目里的ssh(右下角)

部署到git之前要装一个扩展:

npm install hexo-deployer-git –save

hexo指令

1
2
3
4
5
6
hexo n "我的博客" == hexo new "我的博客" #新建文章
hexo p == hexo publish
hexo g == hexo generate#生成
hexo s == hexo server #启动服务预览
hexo d == hexo deploy#部署
hexo clean

域名绑定

我购买了阿里的域名,首先ping voidmort.github.io,查看IP地址然后直接在阿里域名管理里点新手引导写上IP地址,然后使用新域名登陆,发现上不去。。。
在GitHub setting中找到Custom domain 写上刚购买的域名

OK! 博客搭建完成

Next 主题晋级

主题地址:
theme-next.iissnan.com

搜索服务
微搜索 由 lzlun129 贡献

npm install swig-templates

TBD

Local Search 由 flashlab 贡献

添加百度/谷歌/本地 自定义站点内容搜索

安装 hexo-generator-searchdb,在站点的根目录下执行以下命令:

$ npm install hexo-generator-searchdb –save

Problem

$ hexo d
ERROR Deployer not found: git

npm install –save hexo-deployer-git

search:
path: search.xml
field: post
format: html
limit: 10000

编辑 主题配置文件,启用本地搜索功能:

Local search

local_search:
enable: true

RSS:

需要先安装 hexo-generator-feed 插件。
https://github.com/hexojs/hexo-generator-feed

Live2D:
https://www.npmjs.com/package/hexo-helper-live2d

0%