如何利用hexo拥有一个自己的小站

迫于阿里云等云服务器太贵(穷则独善其身),又想拥有一个自己的小站点怎么办呢,hexo 来帮你。hexo 是一个快速、简洁且高效的博客框架,支持markdown,部署简单易上手。

hexo 官网

https://hexo.io/zh-cn/

类似的还有

hugo : Go语言实现的静态网站生成器

https://gohugo.io/

vuepress : Vue 驱动的静态网站生成器

https://vuepress.vuejs.org/zh/

还有wordpress等等。

准备工作

  • 一个 github 账号(码云Gitee 也可以)
  • 本地安装 Node.js 环境,安装后自带 npm(Node.js的包管理工具)你要熟悉 node 和 npm 的基本命令。

多说一点,如果你是 macOS 推荐使用 brew 安装各种软件,管理起来很方便,如果你没有用过 brew 那你是时候了解一下了(Homebrew官网)。再多说一点 Homebrew 的作者就是那个曾经去 Google 面试,因为写不出反转二叉树被拒的大佬。

我本地的 node 版本如下:

1
2
3
4
$ node -v
v11.6.0
$ npm -v
6.5.0

安装 hexo

1
npm install -g hexo-cli

image.png

初始化

1
hexo init jiudian

image.png

预览

进入到 jiudian 目录,其实现在已经可以在本地跑起来了。执行以下命令

1
hexo s

跑起来之后访问 http://localhost:4000 (默认端口是4000),可以看到 hexo 默认的主题 landscape 。

来看下执行 hexo init 之后生成的目录如下,_config.yml 是一个比较重要的文件,基本的配置都在这里,比如主题的设置、网站的标题等等。
themes 文件夹下是主题。source 里是文章的内容。

1
2
3
4
5
6
7
8
9
.
├── _config.yml
├── db.json
├── node_modules
├── package.json
├── scaffolds
├── source
├── themes
└── yarn.lock

默认的主题有点丑,我们看看如何更换主题。在官网或者 github 搜索 hexo-theme 找到一个你喜欢的主题,比如我用 https://github.com/iissnan/hexo-theme-next.git 。然后在你的站点目录也就我们这里的 jiudian 目录下执行 git clone命令,把主题 clone 到 themes 文件夹下。

1
git clone https://github.com/iissnan/hexo-theme-next.git themes/next

完成之后,修改 _config.yml 的 theme: landscape 属性,改成 theme: next。然后重新执行 hexo s,就可以看到效果了。

image.png

github部署

如何推送到 github 让所有人都能访问呢?

在 github 新建一个仓库,注意免费用户一定要建立 public repository 否则访问不了。仓库的名字是你的github用户名.github.io。接下来我们安装下 hexo-deployer-git 这个插件。执行以下命令,hexo-deployer-git 作用是帮我们把 hexo 生成的页面推送到 github。

1
npm install hexo-deployer-git --save

安装完成后配置一下_config.yml 我的配置如下:

1
2
3
4
deploy:
type: git
repo: https://github.com/77Y/77Y.github.io.git
branch: master

然后依次执行

1
2
hexo g
hexo d

执行完成之后访问 你的github用户名.github.io 就可以看到你的小站了。

发布文章

1
hexo new 如何利用hexo拥有一个自己的小站

执行以上命令可以发布一篇文章。完成后再执行 hexo s 可以看下效果

image.png

如果想发布到github需要再执行 hexo d

hexo 常用命令

1
2
3
4
$ hexo n "文章名称" (hexo new "文章名称") 创建
$ hexo g (hexo generate)生成
$ hexo s (hexo server)预览
$ hexo d (hexo deploy)部署

配置域名

  • 在 hexo 创建的项目的 source 目录下创建 CNAME 文件,然后把自己的域名填进去。

image.png

  • 打开 github 项目的 setting,添加 Custom domain 同时选择 Enforce HTTPS ,将支持 https。

image.png

  • 在域名解析(这里是阿里云的控制台)里进行如下设置

image.png

最后大功告成,欢迎访问 https://democome.com

image.png