如何使用Hexo快速构建一个博客

如何使用Hexo快速构建一个博客

四月 28, 2019

准备

开始使用Hexo之前,请先确保你的系统中支持Nodejs以及Git,如果还没有,那就开始安装吧!

接下来我们聊聊关于Hexo常用的几个命令:

  • hexo generate (hexo g) 生成静态文件,会在当前根目录下生成一个新的叫做 public 的文件夹
  • hexo server (hexo s) 本地预览,启动本地web服务
  • hexo deploy (hexo d) 部署博客到remote(比如github, heroku等平台)

添加主题 diaspora 到你的博客中

你可以在github中找到源码 - https://github.com/Fechin/hexo-theme-diaspora

克隆主题到themes目录中

git submodule add git@github.com:Fechin/hexo-theme-diaspora.git themes/diaspora

使用hexo deploy部署

可以使用hexo deploy可以部署到很多平台,具体可以参考这个链接. 如果部署到github,需要在配置文件_config.xml中作如下修改:

1
2
3
4
deploy:
type: git
repo: git@github.com:encoreshao/encoreshao.github.io.git
branch: master

然后在命令行中执行

hexo d

即可完成部署。

注意需要提前安装一个扩展:

npm install hexo-deployer-git –save

使用git命令行部署

git clone git@github.com:encoreshao/encoreshao.github.io.git .deploy/encoreshao.github.io

创建一个deploy脚本文件(bin/deploy.sh)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env ruby
require 'fileutils'
include FileUtils

def system!(*args)
system(*args) || abort("\n== Command #{args} failed ==")
end

# path to your application root.
APP_ROOT = File.expand_path('..', __dir__)

chdir APP_ROOT do
puts '== Hexo Generate =='
system! 'hexo generate'

puts "== Copy files to .deploy/encoreshao.github.io =="
system! 'cp -R public/* .deploy/encoreshao.github.io'

PUBLIC_ROOT = File.expand_path('encoreshao.github.io', '.deploy')
chdir PUBLIC_ROOT do
puts "== Git add =="
system! 'git add .'

puts "== Git commit =="
system! 'git commit -m "MISC - Generate and push"'

puts "== Git push origin =="
system! 'git push origin master'
end
end

chmod +x bin/deploy.sh

  • 使用 hexo generate 生成public文件夹下的新内容
  • 将其拷贝至 encoreshao.github.io 的git目录下
  • 使用 git commit 命令提交代码到 encoreshao.github.io
  • Push 这个 repo 到远程 master

bin/deploy.sh