Hexo 主题配置

终于搭建完自己的博客站点啦,好有成就感✌️分享一些本站使用的 NexT 主题配置技巧。

添加“标签”页面

在终端窗口下,定位到 Hexo 站点目录下,新建一个页面,命名为 tags :

$ cd your-hexo-site
$ hexo new page tags

注意:如果有启用 多说 或者 Disqus 评论,页面也会带有评论。 若需要关闭的话,请添加字段 comments 并将值设置为 false,如:

title: 标签
date: 2014-12-22 12:39:04
type: "tags"
comments: false

在菜单中添加链接。编辑 主题配置文件 , 添加 tags 到 menu 中,如下:

menu:
  home: /
  archives: /archives
  tags: /tags

添加“分类”页面

在终端窗口下,定位到 Hexo 站点目录下,新建一个页面,命名为 categories :

$ cd your-hexo-site
$ hexo new page categories

注意:如果有启用 多说 或者 Disqus 评论,页面也会带有评论。 若需要关闭的话,请添加字段 comments 并将值设置为 false,如:

title: 分类
date: 2014-12-22 12:39:04
type: "categories"
comments: false

在菜单中添加链接。编辑 主题配置文件 , 添加 categories 到 menu 中,如下:

menu:
  home: /
  archives: /archives
  categories : /categories

添加其它菜单页面

与添加分类、标签页面步骤相同,但还需要加一步,在主题文件夹下的 languages 文件夹中找到你使用的语言文件,打开后,在 menu 下新增刚刚添加的页面。否则在主页中显示的新页面是 Menu.xxx 形式而不是 xxx。

评论系统

感觉 DISUQS 比 多说 的设置简单一些。在 https://disqus.com/ 按要求注册,完成后在 admin/settings/general/ 下找到 Shortname。
编辑 站点配置文件, 添加 disqus_shortname 字段,设置如下:

disqus_shortname: your-disqus-shortname

设置 RSS

安装 hexo-generator-feed,在站点的根目录下执行以下命令:

$ npm install hexo-generator-feed --save

更改 主题配置文件,设定 rss 字段的值,留空表示使用 Hexo 生成的 Feed 链接。

访问量统计

编辑 主题配置文件 中的 busuanzi_count 的配置项。
当enable: true时,代表开启全局开关。若site_uv、site_pv、page_pv的值均为false时,不蒜子仅作记录而不会在页面上显示。

搜索服务

常用的是 local search 和 swiftype,local search,配置简单,但是个人试验可以搜内容,但无法跳转页面,swiftype 没有这种问题。
Local search
安装 hexo-generator-search,在站点的根目录下执行以下命令:

$ npm install hexo-generator-search --save

编辑 站点配置文件,新增以下内容到任意位置:

search:
  path: search.xml
  field: post

Swiftype

  1. 前往 Swiftype 注册页面,注册一个新账户。
  2. 注册完成后,创建一个新的搜索引擎(create a search engine),并按照提示完成创建步骤。
  3. 搜索引擎创建完成后,在菜单中选择 Integrate -> Install Search 开启搜索定制,按照步骤完成定制。最后一步记得点击 Active 按钮。
  4. 返回定制引擎的第二个步骤 INSTALL CODE,复制出你的 swiftype_key,也就是下面的”xxxxxxxxx”部分。

    1
    2
    3
    4
    5
    6
    7
    8
    <script type="text/javascript">
    (function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
    (w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t);
    e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
    })(window,document,'script','//s.swiftypecdn.com/install/v2/st.js','_st');
    _st('install','xxxxxxxxx','2.0.0');
    </script>
  5. 编辑 站点配置文件, 新增字段 swiftype_key,值设置成第四步中赋值出来的 key

    # Swiftype Search Key
    swiftype_key: xxxxxxxxx
    

开启打赏功能

只需要在 主题配置文件 中填入 微信 和 支付宝 收款二维码图片地址 即可开启该功能。

reward_comment: 坚持原创技术分享,您的支持将鼓励我继续创作!
wechatpay: /path/to/wechat-reward-image
alipay: /path/to/alipay-reward-image

设置阅读全文

在首页显示一篇文章的部分内容,并提供一个链接跳转到全文页面是一个常见的需求。 NexT 提供三种方式来控制文章在首页的显示方式。 也就是说,在首页显示文章的摘录并显示 阅读全文 按钮,可以通过以下方法:

在文章中使用 手动进行截断,这是 Hexo 提供的方式,推荐使用。
在文章的 front-matter 中添加 description,并提供文章摘录
自动形成摘要,在 主题配置文件 中添加:

auto_excerpt:
  enable: true
  length: 150

默认截取的长度为 150 字符,可以根据需要自行设定

MathJax

只讲一种简单的方法 - 插件。
安装

$ npm install hexo-math --save

在 Hexo 文件夹中执行:

$ hexo math install

在 config.yml 文件中添加:

plugins: hexo-math

对于不含特殊符号的公式,可以直接使用 MathJax 的 inline math 表达式. 如果含有特殊符号,则需要人肉 escape,如 \ 之类的特殊符号在 LaTex 表达式中出现频率很高,这样就很麻烦,使用 tag 能够省不少事。

具体用法见 Hexo MathJax插件.
MathJax用法总结

插入本地图片

  1. 更改站点配置文件 config.yml

    post_asset_folder: true
  2. 在hexo 目录中执行

    npm install https://github.com/CodeFalling/hexo-asset-image --save
    
  3. 新建博客,在 post 中会生成一个和博客名相同的文件夹和一个 .md 文件

    hexo new "newblog"
  4. 把图片放入文件夹,在 .md 文件中使用

    1
    {% imgurl Github-Pages-Hexo%E4%B8%BB%E9%A2%98%E9%85%8D%E7%BD%AE/newblog/pict.jpg ful-image alt:newblog/pict.jpg %}

整理自 NexT 使用文档

徐阿衡 wechat
欢迎关注:徐阿衡的微信公众号
客官,打个赏呗~