Hexo中的Next主题常用设置
设置favicon.ico(网站logo)
使用主题为next,按照主题内_config.yml所说,将icon放到hexo-site/source/目录下,没有生效。查了些资料,终于好了,设置如下:
- 找一副自己中意的图片,尽量简单,因为会缩成很小。利用在线工具制作icon,保存。我的大小是32*32,加载时大多时候很流畅,有时也会转啊转;
- 将保存的favicon.ico移动至hexo-site/themes/next/source/images目录下;
- 修改next配置文件_config.yml,如下:
1
favicon: images/favicon.ico
- hexo g && hexo s,就可以在本地看到效果了。调试满意后,hexo d发布;
利用Leancloud实现阅读统计,请求异常401
如何配置leancloud在此不做赘述,next作者文档中写的已经很清晰了,可以先移步到NEXT看看。笔者的情况是,博客在github上,在万网买了个域名,绑定到github。
配置完成之后,发现阅读统计不能正常使用,开始以为缓存原因,过了两天,还是没好,打算解决这个问题。
分析过程:
- 接口报错401:Unauthorized,再次检查了一下AppKey、Web安全域名配置,都正常。比较纳闷,开始研究。
- 用chrome看了下counter的请求,Request URL竟然是https://api.us.leancloud.cn/****。看起来比较诡异,us不是美国吗。难道访问的url错了?
- 重新登录leancloud,发现域名是https://leancloud.cn/,没有us。新开tab页,访问https://us.leancloud.cn/,也可以成功登录。登录后仔细对比,才发现原来leancloud右上角有个选项,可以选择国内节点、美国节点。两个节点中的应用是相互隔离的。我的next中配置的是国内节点中应用的配置,请求到美国节点认证,所以认证不通过。明白之后,我在美国节点中也创建了应用,把next中的相关配置更新,部署,果然可以正常显示。
个人猜测,由于github服务器在美国,所以当请求leancloud时,请求被分发到了美国节点上的服务器上。
补充:后来更新了NexT代码,又必须配置成国内节点才可以访问。
增加关键字、摘要
建议通过在模板中增加属性的方式,添加关键字、摘要。
- 修改next/_config.yml配置文件:
1
2
3
4
5auto_excerpt:
//开启摘要
enable: true
//默认文章的前150个字符作为摘要
length: 150 - 修改hexo-site/scaffolds/post.md文件,增加keywords、description。
1
2
3
4
5
6
7
8
9
10
11---
title: {{ title }}
date: {{ date }}
tags:
categories:
keywords:
//摘要,填写后显示该字段的值。没有该地段,自动取文章前150个字符作为摘要
description:
---
修改文章宽度
修改/next/source/css/_custom/custom.styl。该文件提供给用户配置自定义的样式,用户尽量避免对源代码的改动,以免牵一发而动全身。
针对Mist、Muse风格,可以用如下配置
1 | // 修改成你期望的宽度 |
如果是Pisces风格,则需要
1 | header{ width: 90%; } |
新建文章时同时建立同名目录,保存图片
1 | //编辑hexo目录下的_config.yml,修改如下配置 |
修改模板
默认新建文档的模板是hexo/scaffolds/post.md,所以如果修改模板,直接在该文件中修改。
比如增加页脚,直接在post.md中增加。