Hexo入门(下)
前言
这部分将着手Hexo的一些基本的配置和使用方面,关于Hexo的部署部分可以参考我的上篇文章。
Hexo文件目录
Hexo的安装/初始化目录如下图所示,可能部分文件存在不同,不需要担心,只需要关心我框出来的红色的文件部分:
文件/文件夹名 | 说明 |
---|---|
public |
我们最后生成的静态博客.html 文件会在该目录下存在,如果你并为生成或者使用了hexo clean 命令,则该文件夹不存在 |
scaffolds |
模板文件夹,里面存在我们创建文章,分类等初始化的默认内容 |
source |
文章以及一些主要内容的文件夹,该文件夹下的内容会被全部拷贝到生成的public 文件夹里 |
themes |
主题文件夹,我们下载使用的主题需要导入到该文件夹中,通过在该文件夹下创建命名为主题名称的文件夹即可 |
_config.yml |
Hexo的配置文件 |
注:Hexo的配置文件和主题的配置文件不要混淆,如果你使用别人的主题则会存在一个对应的主题的配置文件
配置文件参数
yaml文件的参数填写时一定要在
:
后加一个空格,再填写参数
在了解了Hexo 的文件目录后,我对一些常见的配置文件参数进行说明,以供参考。
Site
Site部分主要是网站一些基本说明参数。
1 | # Site 【网站设置】 |
URL
URL部分参数的设置,涉及到Hexo最后部署后的呈现成功与否,参数说明如下:
1 | # URL |
如果你部署到GitHub上,则url
的参数填写,GitHub提供的地址,root
参数填写你的仓库名称,例如:/仓库名称
;如果你使用了自定义的域名,则需要将这里url
的参数改为你的自定义域名,root
参数为空即可(前提是你的网站初始index.html
文件就在仓库下,而不是被文件夹嵌套在里面)。
如果上述参数设置不正确,则会出现访问网站只有内容,而丢失样式,即排版不正常的情况出现
Directory
Directory规定了相关文件生成/获取的路径,我们可以通过修改其参数来指定相关文件生成的目录,而不是默认的hexo安装目录下,参数说明如下:
1 | # Directory |
theme
theme参数主要是指定网站的主题,传入主题名称即可,前提是网站主题已经导入到主题文件夹下,且和主题文件夹同名。参数说明:
1 | # Extensions |
插件和主题的配置
插件和主题的配置,可以在后面熟悉上手之后进行配置,可以选择不配置使用默认主题。
主题
网站的美化可以使用别人已经开发的主题来快速实现,主题可以通过Hexo官网获取Hexo官网,或者从Github,百度等其他渠道获取使用。
主题的下载安装可以根据主题的说明文档来,需要注意的是,主题需要在Hexo指定的主题文件夹下存放,且每个主题都需要是一个文件夹。
关于主题配置的实例,可以参考本站,本站使用的是buttfly
主题,主题地址,希望大家可以给源作者一个Star支持一下。
插件
插件也同理,找到需要的插件,查看插件的文档,对插件进行相关配置。
插件的使用,本站使用了如下插件:
- 本地搜索感谢 hexo-generator-search 提供支持
- 评论系统感谢 waline 提供支持
- 网站统计感谢 百度统计 提供支持
- 数学公式感谢 mathjax 提供支持
- 番剧列表感谢 hexo-bilibili-bangumi 提供支持
- 视频插件感谢 hexo-tag-mmedia 提供支持
- 文章自动分类感谢 hexo-auto-category 提供支持
- 游戏展示感谢 hexo-steam-games 提供支持
- 电影书籍音乐展示感谢 HEXO-DOUBAN-CARD 提供支持
文章编写和发布
Hexo 支持以任何格式书写文章,只要安装了相应的渲染插件
如上引用自Hexo官方说明,Hexo默认安装了hexo-renderer-marked
和 hexo-renderer-ejs
,所以默认支持使用Markdown
进行写作,此处也使用Markdown
写作来实例。
可以使用如下命令来创建一篇新文章:
1 | 语法格式 |
例如,使用命令hexo new 测试
,可以发现在source
文件夹下,里的_post
文件夹里生成了一个名称为测试
的.md
文件,该.md
文件就可以直接使用Markdown
语法来书写文章。
如果你自定义了
source
文件夹的位置,则生成在自定义的source
文件夹下_post
文件夹里
当你打开生成 的测试.md
文件后,会发现它默认文件中生成了一部分yaml
内容,如下所示:
1 |
|
当然,你生成的文件中的内容或许没这么多,一般会有title
,tags
等参数,其他的参数是我通过修改模板文件来实现,生成新文章的时候自动预先生成相关参数。这些参数是对本篇文章的参数,它可以设置本篇文章的标题,文章标签,文章分类,文章封面图片,文章描述等等的参数。当然你也可以选择不填写这些参数,可以为空(标题除外)。
关于模板文件可以查看下面的部分,此处不做过多赘述
然后在上面yaml
参数的下面,开始使用Markdown
语法写我们的文章,现在使用如下内容:
1 | # 这是一个一级标题 |
将上述内容保存后,就可以使用如下命令实现文章编译:
1 | hexo g |
如果你之前已经编译过了,生成新文章或者重新编译的时候,我们一般使用如下命令清除之前的编译文件:
1 | 该命令清除public文件夹,即删除所有已编译过的文件 |
上述执行hexo g
编译完成后,如果没有报错,则可以使用如下命令来本地查看编译效果:
1 | hexo server |
在本地查看效果无误后,使用如下命令推送到远程的GitHub仓库,来实现文章的更新:
1 | hexo d |
完成以上操作,则完成了文章的编写和推送更新发布,简述来说通过hexo new 文章名称
创建文章文件,编写文章文件内容的,保存后,使用hexo g
将其编译为静态文件,如果之前已经编译过一遍,一般通过使用hexo clean
将之前编译的文件删除,再执行hexo g
编译一份新的静态文件,然后使用hexo s
来本地查看效果,使用hexo d
将新编译的静态文件推送到远程仓库,这样就实现文章的更新。
模板文件
在前面的Hexo文件目录中说明了模板文件的位置,在Hexo安装目录下的scaffolds
文件夹下,里面会存在三个文件,如下说明,通过修改这三个文件的yaml
内容部分,这样生成的相关类别的文章会默认包含该参数内容。
文件名 | 说明 |
---|---|
draft.md |
草稿文件的模板 |
page.md |
独立页面的模板 |
psot.md |
一般文章的模板 |
其他内容
文章标签和分类
前面说明了,文章创建的时候自带的yaml
参数可以修改其文章的属性,其中有一个给文章分类的参数,如下所示:
1 |
|
GitHub使用自定义域名
如果你希望使用自定义域名来访问自己在GitHub上部署的网站,则可以在GitHub Page下,填写自己的自定义域名,然后解析到GitHub上,需要注意的是,在你添加自定义域名的时候,会在你的仓库下创建一个CNAME
的文件,该文件只有一行内容,就是你的自定义域名。
因为每次使用hexo d
上传到仓库文件的时候,Hexo的解决办法是将本地public
文件夹下的文件去覆盖GitHub仓库,那就意味着你的CNAME
文件将会被覆盖消失,那么你配置的自定义域名就会失效。
你可以通过将CNAME
文件创建在你本地的source
文件夹下,则再每次使用hexo g
编译的时候,source
文件夹下的内容都会复制到public
文件夹里,这样上传到GitHub上进行覆盖的时候就始终存在CNAME
文件。
End
经过[[技术杂谈/Hexo入门(上)|Hexo入门(上)]]和Hexo入门(下)后就可以完全自主的使用Hexo来编写和更新自己的文章了,关于本站的Hexo主题使用说明和插件说明,为了防止我自己忘记,我会写一篇备忘录来记录,内容来源是原主题/插件开发者的说明文档。