# 前言
Hexo 使用了也有一段时间了,记录一下这段时间的使用感受吧
# Hexo 环境搭建
Hexo 搭建还是挺简单的,在 Linux 上敲几条命令就可以了,这个对小白真的是非常友好,网络好的小伙伴两三分钟就可以把 Hexo 给搭建好,搭建教程网上有很多,我就不写了
由于我还是个小白,目前对 Hexo 的了解也不是很深,就简单的说一下 Hexo 目录下几个常用的文件和文件夹作用吧
# _config.yml
_config.yml
是 Hexo 的主配置文件,位于 Hexo 根目录下
默认情况下,它可以更改网站信息、文件目录的存放位置、文档布局和功能、页面显示等功能,后期可以通过安装新的插件添加新的功能
具体可以参考官方 配置 | Hexo
# source
source 是用于存放我们博客资源的文件夹,位于 Hexo 根目录下,一般不需要主动访问
主要用来存放图片、Markdown 文档(文章、草稿)、各种页面(分类、关于、404 页面等)
# themes
themes
是用于存放主题的文件夹,位于 Hexo 根目录下,主题也会有一个 _config.yml
主配置文件,这个是针对主题配置的
themes
文件夹是我目前在使用中访问最多的文件夹,因为 Hexo 的主题真的是太棒了,我时不时的逛一下主题资源,遇到喜欢的就 clone 到本地试试,每次更改主题都安装新的插件和更改配置文件,但这依然让人不觉疲惫
# 主题
这里重点说一下主题吧,毕竟 Hexo 搭建好以后,除了更换主题之外,一般都不需要再对 Hexo 作任何的修改
我之前折腾过好几个主题,每次更换完主题都需要安装新的插件,修改 Hexo 配置文件、修改主题配置文件,申请第三方搜索、评论 API 巴拉巴拉的,很多主题配置都写得很官方,让我这种小白看得一头雾水,有的时候一次改动的地方多了,启动的时候报一大堆的错误,自己又看不懂,当场奔溃,只能根据记忆回顾之前改动过的地方找到异常处,慢慢地也学废了许多垃圾知识
# Shoka
Shoka 是我目前在使用的主题,这个主题超👍的,我一眼看到就喜欢上了,这作者一看就是老二次猿了,如果没啥 bug 的话,我将来应该也不会更换了,毕竟换个主题需要耗费大半天的时间
说一下我在这个主题踩的一些坑吧
# Algolia
首先是搜索,这个主题默认是不启动搜索的,点击搜索图标也没有反应,作者给出的教程文档说是需要安装 hexo-algoliasearch
这个插件,并给出 _config.yml
的配置方法,我照着配置完后发现,搜索图标可以打开,但是无法搜索
百度一下该主题的搜索配置无果,心灰意冷的我跑到作者博客下准备给他留言咨询,发现已经有人问过他这个问题了,对方回复到 algolia
官网看看是不是 API 问题
看到这里心里瞬间燃起了希望,我知道问题应该就是在 API Keys
这里,立马百度 algolia
搜索问题,最后在 为 Hexo 增加 algolia 搜索功能 找到我问题的答案
这篇文章说 algolia
默认的 API 是不具备有搜索权限的,需要新建一个新的 indices
,并创建一个有搜索权限的 API Key
, indices
填写刚刚新建名称,弄完后返回 Hexo 根目录,用 export HEXO_ALGOLIA_INDEXING_KEY=你的API Key && hexo algolia
命令添加系统环境变量并上传数据到 algolia
, 此时登录 algolia
发现已经有数据了,然后启动 Hexo 测试搜索已经正常了
后来我发现事实并不是这样的,其实 algolia
默认的 API 是具备有查询权限的,并且这个 Key 是可以在前端的 js 里被找到,如果使用一个带有 addObject、deleteObject 权限的 Key,可能会被一些别有用心的人利用并且篡改数据,其实我当时就是在配置好 _config.yml
文件后,没有用 hexo algolia
命令生成索引才导致无法搜索的,真的被自己的智商蠢哭了
# Valine
第二个坑是评论,启用评论功能需要配置 Valine appId
和 appKey
,主题文档给出了如何获取 LeanCloud 的 appId 和 appKey 的配置方法,我也安装这个文档注册了 Valine 账号,并将 appId
和 appKey
配置好
配置好后启动 Hexo,发现评论功能还是无法使用,我知道这个应该还是我的问题,是我把事情想象的太过于简单,于是马上百度 如何配置使用Valine
, 最后在 Valine -- 一款极简的评论系统这篇文章中找到答案,原来需要在 LeanCloud
里的安全中心填写 Web 安全域名
填写完后再启动我的 Hexo 站点,发现评论功能终于可以使用了,顿时猛男落泪😭😭😭
# Highlight
最后一个坑是代码高亮问题,我目前暂时还没有解决,但是大概知道是因为什么原因造成的,根据作者在主题上的描述
该主题功能大部分基于 hexo-renderer-multi-markdown-it
渲染器,尤其是代码块的显示,与默认渲染器不兼容
由此可见问题应该是出在 Hexo 自带的渲染器身上,但是我用 cnpm un hexo-renderer-marked --save
命令卸载 Hexo 自带的渲染器每次都会在卸载到一半的时候卡住,我等了很久都不动,最后只能强制终止,我也不知道是进程僵死了,还是需要我再等个几分钟,反正我现在是放弃了,毕竟影响不是很大,后续知道怎么处理再折腾吧
# Hexo 使用总结
使用了一段时间 Hexo 后,我发现用 Markdown
语法写文章是一件挺有趣的事情,我慢慢开始喜欢上这种写作风格,如果以前读书的时候接触过这类软件,说不定我就会成为一个爱学习的好孩子吧
其实我是一个非常不喜欢学习的孩子,从来都没有写笔记的习惯,写过最多的还是上小学时写的日志,而且这个还是学校老师布置的作业,不然我是肯定不会写的🙄
之前在工作中最怕的就是要写文档填表啥的,因为讨厌写文档,我连 Office 都没有学过,所以我不怎么会用 Office,导致每次遇到要写文档就会觉得非常痛苦,因为总有格式规范要求,烦的一批😡😡
但是用 Markdown 写文档就完全没有这些烦恼,不管怎么写最后排版出来也觉得好看,像 Word 这类 office 文档我就没办法排版得好看,这就是我喜欢上 Markdown 的主要原因,最后还是希望自己可以坚持下去吧 💃💃💃