Hexo 建站手册
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
这里我把个人博客托管在 GitHub Pages 上。GitHub Pages 是一种静态站点托管服务,每个 GitHub 帐户或组织都可以有一个站点。
准备工作
安装 Hexo 前要先安装:
1 | Node.js |
Hexo 原理简要介绍
由于 GitHub Pages 存放的都是静态文件,博客存放的不只是文章内容,还有文章列表、分类、标签、翻页等动态内容,假如每次写完一篇文章都要手动更新博文目录和相关链接信息,那就太繁琐了,毕竟博客的关键是内容,hexo 做的就是将这些 md 文件都放在本地,每次写完文章后框架会批量生成相关页面,然后我们只需要将生成的静态文件提交到 GitHub 即可。
注意:建议使用 Git Bash 来执行后续的所有命令。
GitHub Pages 上搭建博客
GitHub 创建仓库
新建一个名为 用户名.github.io 的仓库,比如说,如果你的 GitHub 用户名是 mrrabbitan,那么你就新建 mrrabbitan.github.io 的仓库,将来你的网站访问地址就是 https://mrrabbitan.github.io。
由此可见,每一个 GitHub 账户最多只能创建一个这样可以直接使用域名访问的仓库。
注意
仓库名字必须是:username.github.io,其中 username 是你的用户名
Hexo 安装
1 | npm install -g hexo |
Hexo 初始化
在想要的路径下新建一个名为 hexo 的文件夹(名字可以随便取),比如我的是 D:\document\GitHub\hexo,这个文件夹内就是你的 Hexo 博客的源文件:
1 | cd /d/document/GitHub/hexo/ |
输入以上命令后,hexo 会自动下载一些文件到这个目录,包括 node_modules,其中比较重要的几个文件的目录结构如下:
1 | . |
注意:hexo 有 2 个_config.yml 文件,一个是站点根目录下的_config.yml,一个是 theme(主题)下的_config.yml 文件。
博客生成、预览
1 | hexo g # 生成 |
执行以上命令之后,hexo 就会在 public 文件夹生成相关 html 文件,这些就是你博客的静态文件,后续需要把这些提交到 GitHub 上。
hexo s 是开启本地预览服务,打开浏览器访问 http://localhost:4000 即可看到内容,很多人会碰到浏览器一直在转圈但是就是加载不出来的问题,一般情况下是因为端口占用的缘故。
修改主题
这里以 hexo-theme-yilia 这个主题为例做一下说明。
首先下载 hexo-theme-yilia 这个主题:
1 | cd /d/document/GitHub/hexo/ |
下载的主题文件都在 theme 目录下。
然后我们将 Hexo 根目录下的_config.yml 中的 theme: landscape 改为 theme: yilia,然后重新执行 hexo g 来重新生成。
注意:如果出现一些莫名其妙的问题,可以先执行
1 | hexo clean |
来清理一下 public 的内容,然后再重新生成。
部署到 GitHub
如果你一切都配置好了,接下来就是把博客部署到 GitHub 上:
1 | hexo d |
注意:
ssh key 配置好。
配置_config.yml 中有关 deploy 的部分(注意缩进)。
1 | deploy: |
直接执行 hexo d 的话一般会报如下错误:
1 | Deployer not found: git |
这是因为缺少了一个插件,我们可以通过如下命令安装:
1 | npm install hexo-deployer-git --save |
然后输入 hexo d 就会将本次有改动的代码全部提交。
部署到 Coding
github.io 在大陆的加载速度过慢且延迟过高。将自己的站部署到 Coding 下也是个不错的选择
Coding 目前改版的内容很多,早前部署的个人 pages 已经失效了,详情参考Pages 迁移至新版 CODING
部署随机域名的个人网页流程
新建团队用户,个人为管理。
新建 DevOps 项目,取名要与自己的团队名相同。
之后再左侧边栏中找到持续部署菜单栏,选中静态网站进行立即部署
部署成功后
然后和配置 github 服务器一样去配置_config.xml 中相关 deploy 部分
1 | deploy: |
tips: 域名不如 github 一样美观 o(╥﹏╥)o,不在意的可以使用,在意的可以参考自定义域名部分内容。
自定义域名
策略 1 购买域名+虚拟主机(备案,成本低。但不稳定)
策略 2 购买域名+云服务器(成本高,稳定,续费更贵)
策略 3 购买域名+购买服务器内网穿透(学习成本高+24 小时不断电,搞深了可能成为资深运维)
常用的 hexo 命令
1 | 常见命令: |
写文章
我们可以在 hexo 根目录下执行命令:
1 | hexo new 'my-first-blog' |
hexo 会帮我们在_posts 下生成相关 md 文件,我们只需要打开这个文件就可以开始写博客了,用这个命令的好处是帮我们自动生成了文章创建时间。