配置hexo 踩坑记录汇总篇

摘要:hexo第一次博文给了踩坑–纪念配置hexo掉过的那些神坑···
有多头秃···

  1. 运行hexo d后 出现 ERROR Deployer not found: git ???

    输入下列代码在重新运行即可:

    1
    npm install --save hexo-deployer-git
  2. Cannot GET /XXX/ (点击侧边栏的链接出现)???

    在控制台输入,如 hexo new page “XXX”,初始化分类目录。
    就会在source文件里面初始化这些目录,并生成一个index.md文件。(注意配置)
    注: 有的会出现Cannot GET /XXXX/%20/,这是空格的问题,在themes/next下的_config.yml修改menu 下的空格就可以,例如:

    1
    home: / || home   改为   home: /|| home

    官方自带的空格bug,最为蓝廋~~

  3. 字数统计和阅读时长无法显示 ???

    首先 确定主题配置文件 _config.yml 中 wordcount 统计功能打开即可。如下所示
    修改完成主题配置文件后,启动服务预览:hexo s,访问本地访问 http://localhost:4000/ 链接,如果出现字数统计和阅读时长还没出现,一般是因为没有安装 hexo-wordcount 插件,
    查看 Hexo 插件

    1
    hexo --debug

    如果没有安装 hexo-wordcount 插件,先安装该插件

    1
    npm i --save hexo-wordcount

    注 Node 版本 7.6.0 之前,请安装 2.x 版本 (Node.js v7.6.0 and previous) ,安装命令如下

    1
    npm install hexo-wordcount@2 --save

    安装完成后,重新启动服务即可!(好多坑,好心累)

  4. 修改显示文字和阅读时长 ???

    我用的编辑器是vs code,打开 post.swig 文件,路径如下 xxx_blog/themes/next/layout/_macro/post.swig”
    修改字数 找到下面代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <span title="{{ __('post.wordcount') }}">
    {{ wordcount(post.content) }}
    </span>
    ```
    添加想修改的文字到{{}}后,例如:
    ``` html
    <span title="{{ __('post.wordcount') }}">
    {{ wordcount(post.content) }} 字
    </span>

    修改阅读时长同理 找到下面代码

    1
    2
    3
    <span title="{{ __('post.min2read') }}">
    {{ min2read(post.content) }}
    </span>

    添加想修改的文字到{{}}后,例如:

    1
    2
    3
    <span title="{{ __('post.min2read') }}">
    {{ min2read(post.content) }} 分钟
    </span>

    保存修改,重新执行启动服务预览就可以了。例图

  1. hexo g 时出现下面的错误:啊啊啊啊, 好, 好, 好多坑~

    原因: Markdown 文档中的 {{ }} 标签与 nunjucks 模板引擎的标签发生了冲突。
    解决办法一:修改 Markdown 文档 将含有双大括号的内容首尾添加如下标签进行处理:
    缺点:再遇到类似的情况,每次都需要对 MarkDown 文档进行修改。
    解决办法二:修改 nunjucks 模块源代码
    首先:打开这个文件==> node_modules/nunjucks/src/lexer.js
    其次:找到下述两行代码:
    1
    2
    var VARIABLE_START = '{{';
    var VARIABLE_END = '}}';
    修改为:
    1
    2
    var VARIABLE_START = '{$';
    var VARIABLE_END = '$}';
    就是将有冲突的模板引擎的占位符更改为其他字符,进行模板解析时就不会与 MarkDown 的内容发生冲突了,且这种方法对所有 MarkDown 文档都是有效的,一劳永逸。
    类似的,如果出现 {(百分号) (百分号)} 等符号的解析错误时,也可以根据情况将其更改为其他占位符(自定义)。
    注:安装有插件的也要修改:
    若博客使用 hexo-generator-search 或 hexo-generator-feed 等其他依赖于 nunjucks 模板的插件,那么这些插件的模板处理标签也需要进行同步修改。以搜索插件为例,打开如下路径的文档:
    node_modules/hexo-generator-search/templates/search.xml
    根据之前修改的 nunjucks 的内容,将此文档的 {{ }} 也分别更改为与上文对应即可即可。
    在注:如果在项目下执行 npm install 更新 nunjucks 模板时,那么之前更改的内容会被还原,需要重新对有冲突的符号进行更改。

致谢🙏

感谢大神们的文章,真的学到了许多,有些忘了记录下来,在这里由衷的感谢。虽然比较折腾,但是确实满满的成就感,如果链接🔗有侵权,还望联系我以删除~

-------------本文结束感谢您的阅读-------------
赏杯奶茶🥤七七叭 ~💗~
------ 版权信息 ------

本文标题:配置hexo 踩坑记录汇总篇

文章作者:Student-HQ

发布时间:2020年04月13日 - 00:00

最后更新:2020年04月17日 - 14:04

原始链接:http://yoursite.com/hexo%E8%B8%A9%E5%9D%91%E8%AE%B0/hello-world/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。