0%

在Archlinux上配置hexo并部署博客到Github

Step-1

安装nodejs和npm

1
$ sudo pacman -Syu npm nodejs

ps:如果你使用的是其他发行版请自行百度安装方法

Step-2

安装hexo

本来可以执行下面这条命令来进行安装的,但在我的电脑上死活不行(貌似是权限问题)参考:官方解决办法(可能需要科学上网)

1
$ sudo npm install -g hexo-cli

还是装不上,于是利用AUR(Arch User Repository)如何开启AUR

1
$ yaourt -S nodejs-hexo-cli

终于安装上了。。。(卡了一下午,不容易啊)

ps:这里提供另一种解决办法(采用非全局模式安装)

1
2
3
$ mkdir blog
$ cd blog
$ npm install hexo-cli –save

这样hexo就安装到了./node_modules里,创建个脚本env.sh

1
2
#!/bin/bash
alias hexo=./node_modules/hexo/bin/hexo #因为hexo只安装到了当前目录blog下,所以声明一下别名

Step-3

部署本地站点

1
2
3
4
$ mkdir blog
$ cd blog
$ hexo init #(如果是非全局安装先执行`source env_setup.sh`)
$ npm install hexo-deployer-git –save

Step-4

修改_config.yml的deploy字段

: 后面要有空格

1
2
3
4
deploy:
type: git
repository: "https://github.com/yourname/yourname.github.io.git"
branch: master

当然“yourname.github.io.git”这个仓库必须存在,没有请自行到github创建

_config.yml中还有一些个性化的选项,如站点标题,主题等,根据需求自行修改

Step-5

生成站点并在本地调试

1
2
$ hexo generate (或 hexo g)
$ hexo server

浏览器打开 http://localhost:4000 就能本地预览了

Step-6

上传你的站点到Github

1
2
3
4
5
6
7
8
9
10
11
12
13
$ hexo deploy (或 hexo d)
INFO Deploying: git
INFO Clearing .deploy_git folder...
INFO Copying files from public folder...
INFO Copying files from extend dirs...
On branch master
nothing to commit, working tree clean
Username for 'https://github.com': edward-p
Password for 'https://[email protected]':
To https://github.com/edward-p/edward-p.github.io.git
cb3c130..9fafa65 HEAD -> master
Branch master set up to track remote branch master from https://github.com/edward-p/edward-p.github.io.git.
INFO Deploy done: git

到此浏览器里输入”yourname.github.io”就能看到你的博客了

你可能看到了,上面提示我输入github用户名和密码,如果不想每次都输的话怎么办呢?采用公钥连接到github

添加公钥后修改_config.yml的deploy字段中的repository为

repository: [email protected]:yourname/yourname.github.io.git

如下

1
2
3
4
deploy:
type: git
repository: [email protected]:yourname/yourname.github.io.git
branch: master

如果遇到"Permission denied (publickey)" 执行以下命令后再上传就行

1
$ ssh-add -s

参考

手机端部署hexo博客到GithubPage

HEXO搭建个人博客