在 Hexo 中有两份主要的配置文件,其名称都是 _config.yml 。
其中,一份位于站点根目录下(/blog/_config.yml),主要包含 Hexo 本身的配置;另一份位于主题目录下(/blog/themes/next/_config.yml),这份配置由主题作者提供,主要用于配置主题相关的选项。
我们约定,将前者称为 站点配置文件,后者称为 主题配置文件。
本地调试步骤
三部曲:
$ hexo clean
$ hexo g
$ hexo s --debug
这种带 debug 的运行,如果出现错误,可以在命令行中看到错误提示信息。
部署步骤
三部曲:
$ hexo clean
$ hexo g
$ hexo d
当然在部署之前,需要先配置好配置文件中的 deploy。
常用命令
$ hexo new "postName" #新建文章
$ hexo new page "pageName" # 新建页面
$ hexo generate # 生成静态页面至public目录
$ hexo server # 开启预览访问端口(默认端口4000,'ctrl+c'关闭server)
$ hexo deploy # 项目部署
$ hexo help # 查看帮助
$ hexo version # 查看Hexo的版本
关于 Git 提交中用户名和 Email 的设置
git config --global user.name "Your name"
git config --global user.email "Your email"
简写命令
$ hexo n # 等同于 hexo new
$ hexo d # 等同于 hexo deploy
$ hexo g # 等同于 hexo generate
$ hexo s # 等同于 hexo server
$ hexo d -g # 等同于 hexo deploy + hexo generate
编写文章
引用一段来自官方的文档 > 你可以执行下列命令来创建一篇新文章。
> $ hexo new [layout] <title>
> 您可以在命令中指定文章的布局(layout),默认为 post
,可以通过修改 _config.yml
中的 default_layout
参数来指定默认布局。
创建文章后,可以看见 source\_posts\
下有一篇新建的以 .md
为后缀文章 打开它可以看见
---
title: hello-world //在此处添加你的标题。
date: 2014-11-7 08:55:29 //在此处输入你编辑这篇文章的时间。
categories: Exercise //在此处输入这篇文章的分类。
toc: true //在此处设定是否开启目录,需要主题支持。
---
在之后空白的地方用 Markdown 编写文章。
常见问题1
在 hexo 的配置和设置文件中,在冒号后面没留空格会导致出问题:
错误的设置:
author:xxx
email:xxx@gmail.com
language:zh-CN
正确的设置:
author: xxx
email: xxx@gmail.com
language: zh-CN
常见问题2
每次Hexo部署完毕后,访问先前设置好的Custom Domain,都会提示404。
查看GitHub仓库(Repository)的设置(Settings),发现自定义域名(Custom Domain)已经变成默认值(被清空)。 GitHub的自定义域名(Custom Domain)是通过master分支(branch)下的CNAME文件设置的。
原因分析
Hexo每次部署时,会先删除分支(branch)下的所有文件,再提交生成后的文件。在删除文件时,CNAME文件也被删除,造成自定义域名(Custom Domain)变成默认值(被清空)。
解决思路
- 设置自定义域名(Custom Domain),观察文件变动。
- 使Hexo部署时模仿文件变动。
操作记录
- 在GitHub仓库(Repository)的设置(Settings)页面,设置自定义域名(Custom Domain)为www.flowerdeer.xyz
- 发现master分支(branch)下新建了一个CNAME文件
- 查看CNAME文件内容,CNAME文件内容为先前设置的自定义域名(Custom Domain):www.flowerdeer.xyz
- 在Hexo的source目录下新建一个CNAME文件,内容为自定义域名(Custom Domain):www.flowerdeer.xyz
- 重新使用Hexo部署,问题解决。
常见问题3
如何删除文章?
删除文章的过程一样也很简单,先删除本地文件,然后通过生成和部署命令进而将远程仓库中的文件也一并删除。具体来说,以最开始默认形成的helloworld.md这篇文章为例。
首先进入到存放hexo的文件夹,找到source / _post 文件夹中,找到后缀为.md文件,在本地直接执行删除。然后依次执行hexo g -d
,再去主页查看你就会发现你的博客上面已经空空如也了。
常见问题4
关于SSL证书上传问题。
github和coding,都不支持上传ssl证书。但是,gitlab支持啊!
常见问题5
关于乱码问题
将博客文件保存为UTF-8即可解决问题。
方法:
1.将博客文件保存为UTF-8
用记事本打开本地的博客文件“xxx.md”,然后点“另存为”,“编码(E):”选择“UTF-8”,
点击“保存”,替换原文件。
2.重新生成,部署,博客乱码即消除。
常见问题6
关于网站被认定HTTPS存在中间人攻击,关闭github代码仓库中HTTPS选项(https://github.com/xxxx/xxxx.github.io/settings/pages),在重新打开,并使用dig命令获取最新的DNS信息,并在域名管理中心进行修改。
- https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site