Hexo+Next部署博客配置及注意事项
注意:本文只介绍一些容易带坑的配置和个性化配置,常规配置或Hexo的博客搭建过程详见Hexo博客搭建
适用版本
Hexo:4.2.0
OS:Windows 10 1909 (18636.752)
Next:7.8.0
Node:12.1.0
Hexo配置
Language
配置注意:language如果配置为中文,网上许多教程写的应该用zh-Hans
,实际上应该使用主题中提供的字体包名,例如我使用Next7.8.0,中文字体包叫做zh-CN
,所以此处就应该配置为
1 | # site |
创建tags/categories/about
在cmd命令行中进入hexo的目录下
执行hexo new pages "tags/categories/about"
会在hexo/sources/
目录下创建相应的文件夹,文件夹下有一个index.md
文件
title网页上显示的名称,可以进行自定义
添加type: tags/categories
最后配置如下:
1 | title: 分类 |
注意:archives和about不需要设置type,会自动生成页面,如果对于关于我的页面需要定制,直接在hexo/source/about/index.md
中进行编辑即可
在文章开头添加yaml批注就能自动进行分类归档了。
注意:yaml的批注是--- ---
包裹的内容,
例如:
1 |
|
注意:tags下的标签是并列关系,categories下的标签是父子关系
文章加密
1 | npm install --save hexo-blog-encrypt |
安装该插件,然后在文章的yaml配置中添加:
1 | password: password |
高级配置详见hexo-blog-encrypt
Next配置
网页图标
网页title前的link图标,一般只需要配置small,但是保险起见可以将small和medium都配置好,图片需要是ico格式(我使用png格式不显示,但是默认配置的png图片能显示),图片的位置放在/hexo/themes/next/source/images/
下,配置如下:
1 | favicon: |
主题选择
Next提供了四种风格的主题,可以根据个人喜好进行配置,具体样式见Muse、Mist、Pisces、Gemini
1 | # Schemes |
顶部菜单
menu配置的是网页顶部的导航链接,可以按照自己的需求配置,前面是显示的文件,中间为链接,||
后面的为图标,如果需要自定义链接,建议将所有的图标都去掉,以免影响整体美观
1 | menu: |
侧边栏位置
sidebar主要配置在文章中或者在其他页面显示文章目录或站点概览的位置
1 | sidebar: |
个人头像
avatar配置的是站点概览的头像,默认是没有头像的,可以自定义配置一张,rounded为裁剪为圆形,rotated为跟随鼠标转动
1 | avatar: |
个人社交
social配置的是站点概览的个人社交地址,可以按照自己使用自定义,||
后面的是站点的图标,可以用social_icons
来定义显示方式
1 | social: |
个人页关联网站
links配置的是站点概览的个人链接,可以自定义一些链接在里面快速跳转,用links_settings
来配置显示方式
1 | links: |
首页文章预览
Next默认首页是显示文章的全部内容,但是这样会显得首页非常凌乱,网上说的使用auto_excerpt来配置预览字数,但是我是用的7.8.0已经没有了该配置,正确的配置有两种方法
- 在文章开头的yaml配置中添加description,然后设置excerpt_description为true
- 编辑markdown文件在你想要截断的地方添加
<!-- more -->
,文章显示出来就会在此处截断,并且会添加一个阅读全文的链接(官方推荐)
添加访问统计
在hexo/themes/next/_config.yml
中找到footer并添加:
1 | footer: |
找到busuanzi_count并将enable改为true
1 | busuanzi_count: |
在hexo/themes/next/layout/_partials/footer.swig
最后添加:
1 | {% if theme.footer.counter %} |
文末结束标记
在路径hexo\themes\next\layout\_macro
文件夹中新建passage-end-tag.swig
文件,编辑内容
1 | <div> |
打开hexo\themes\next\layout\_macro\post.swig
,在END POST BODY
后面添加以下代码:
1 | <div> |
修改主题配置文件_config.yml
,在末尾添加:
1 | passage_end_tag: |
文章字数和时间统计
安装插件npm install hexo-symbols-count-time
配置hexo的_config.yml
设置:
1 | symbols_count_time: |
设置含义参考:hexo-symbols-count-time
配置搜索功能
NexT题支持集成 Swiftype、 微搜索、Local Search 和 Algolia。本文介绍Local Search的安装。
安装hexo-generator-search
和hexo-generator-searchdb
1 | npm install hexo-generator-search --save |
编辑hexo的_config.yml
配置,在末尾添加:
1 | search: |
编辑NexT的_config.yml
配置,将local-search设置修改为true:
1 | local_search: |
来必力评论
- 在来必力网站注册账号,创建一个应用
- 进入应用找到配置的代码,将date-uid后面的内容拷贝下来
- 打开Next的_config.yml文件,找到livere_uid,将刚刚拷贝下来的id粘贴在后面
- 显示的详细配置在来必力管理页面中进行配置
配置首页隐藏文章
编辑
themes/next/layout/index.swig
,添加以下代码的第三行和第五行1
2
3
4
5
6
7<div class="posts-expand">
{%- for post in page.posts.toArray() %}
{%- if post.hidden != true %}
{{ partial('_macro/post.swig', {post: post, is_index: true}) }}
{%- endif %}
{%- endfor %}
</div>编辑
scaffolds/post.md
,添加一下代码的第四行1
2
3
4
5
6
title: {{ title }}
date: {{ date }}
hidden: false
tags:在使用时,文章最顶部添加
hidden: True
即可在博客首页隐藏文章
跳过指定文件的渲染
编辑_config.yaml
1 | skip_render: [_posts/*] |
支持正则表达式
更多配置参考:Hexo-NexT配置超炫网页效果