Hexo And Hexo Next Theme

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chen517611641/article/details/88697340

Hexo 的文档写的相当烂,特别是中文站翻译的一些关键的名词,特别容易让人产生误解。
Hexo NexT Theme 主题是一套css样式加 Hexo 插件的集合,由于插件较多,同一个功能又可能有多个解决方案,导致部分插件兼容使用有问题,也是让人又爱又恨。

Hexo的标签和分类

Front-matter中有两个至关重要的参数,tags和categories;只有文章支持分类和标签;文档上对其区别有一个关键的描述,分类具有顺序性和层次性,而标签没有顺序和层次。

在官方文档的回复中有一个这样的描述,可以给一些无法理解这两个概念的人一点启发:

“物以类聚”,有相同点的“物”可分为一类。“横看成岭侧成峰 远近高低各不同”,能有很多分类,但认知上有一个主分类(身在此山中)。

以博客为整体,每篇文章为个体来说,categories就如书的目录一样,是主分类。而tags可以理解为另一个维度的分类,就是不同categories(目录)中的一些相同点,这些就可以作为tags。

很喜欢NexT主题的设置,每一个category和tag点开都是一个时间轴页面。

如眼睛一样,两只可以产生立体感,两种分类就基本能满足博客的需求了。但还有其它维度的分类,就如同其它感官,比如:archives页面(按时间)、搜索(按输入字符的相关性)、按文章浏览量和按文章评论数等等。

需要注意的是

categories:
- Diary
- Life

上面的配置,会使分类Life成为Diary的子分类,而不是并列分类。
在官方文档中说,Hexo不支持指定多个同级分类,其实是可以的,下面的配置就可以

categories:
- [Linux]
- [Tools]

不仅可以给一篇文章指定多个同级分类,还可以给文章指定多个同级还带子分类的分类

categories:
- [Linux, Hexo]
- [Tools, PHP]

Hexo 标签与swig

swig是一个模板框架,可用于前端页面,在node环境中,也可用于后端;
Hexo的标签插件是对swig模板框架里标签的扩展;

自定义域名

这里以使用github pages为例,其他的方式同样可以参考此配置的要点。
根据github pages的要求,创建CNAME文件,文件内容为www.54architect.com,子域名也可以;上传完CNAME,在github仓库settings里启用了enforce https之后,54architect.com,https://www.54architect.com/,http://www.54architect.com/就可以访问了;
给域名添加54architect.com->www.54architect.com的cname解析之后,http://54architect.comhttps://54architect.com/也生效了
并且访问以上提到的所以链接,都会跳转到https://www.54architect.com/

SSH免密commit

配置Git

Hexo NexT Theme Han Support

不要开启,特别丑

Hexo NexT Theme Pangu Support

Pangu.js用于给一句中英文夹杂的句子里的英文前后加一个空格;
有时候会把中英文都有的一句话,英文也都分开,英文-英文,这种格式的也会分开;是否使用,看博客的内容,对于IT技术相关的博客来说,一句户里中英文夹杂是常有的事情,使用这个插件效果较差;平时书写的时候自己注意一些,熟练之后,不会影响效率;

Hexo NexT Theme Counter

PV and UV

配置启用卜蒜子,在站点footer部分显示站点的PV和UV,关闭卜蒜子的文章页面的统计;卜蒜子统计文章的PV有问题,忘了记录下来;
配置启用leancloud之后,在文章页面显示阅读次数的统计;
firestore是谷歌的产品,直接没测试
卜蒜子是根据URL地址统计的,也就是说换域名,数据会丢失
leancloud是需要配置appid和appkey的,换域名没有影响
后面计划把站点的PV和UV统计也改成leanload

Symbols Count

站点内容统计,在站点footer部分显示站点总字数,站点阅读时长,在文章页面显示本文字数和阅读时长;字符统计使用的hexo-symbols-count-time,需要先在hexo的config文件中配置启用;

Baidu Analytics

接入百度统计,前面两个是在站点页面显示PV和UV,百度统计是在百度管理平台显示网站的各种访问信息,不止是PV和UV;
百度产品众多,百度统计点击这里

Hexo NexT Theme SEO

收录网站

baidu_site_verification和google_site_verification

百度搜索资源平台
Google Search Console

推送链接

hexo-next-sitemap
hexo-next-baidu-sitemap

baidu_push:true
百度资源平台#链接提交#自动推送的方式,只要网页被访问,页面URL将立即被推送给百度;

其他

hexo-nofollow,站内外链止步
hexo-addrlink,将文章URL生成为单个层级的链接,搜索引擎好收录

User Experience

Visit

bookmark + read progress

canvas_nest开启之后,有个跟踪鼠标的动画,开启之后,也挺拖网站运行速度的
canvas_ribbon,开启之后,网站背景出现一条彩带,点击网站任意位置,重新计算菜单的显示;
3种3D动画,开启之后,网页运行比较慢,都关闭
three_waves
canvas_lines
canvas_sphere

Search

NexT内置了三种站内搜索方式,Swiftype、Algolia和Local Search,Swiftype和Algolia都是需要付费,免费版有限额,测试了下Local Search的效果,还可以,新站可以暂时使用Local Search。

腾讯公益

腾讯公益404页面 https://www.qq.com/404/
益云
选择了接入腾讯公益,因为NexT的旧官方网站有现成的例子。

Writing

Post Excerpt

在站点首页,文章列表部分,Hexo默认会将文章的所有内容展示出来,作者自己看的时候没什么问题,可以去归档里面查看文章列表,但是非常不利于别人浏览,别人浏览你的博客的时候,更多的是在看完文章题目之后,看个开头,看看文章内容质量是否符合自己期望,再根据情况查看文章的全部内容;
NexT内置了excerpt插件,在auto_excerpt配置,但是markdown格式乱掉,非常不友好;如果使用这个插件,文章开头部分最好是一整段文字描述,这样首页才好看;
最终选择了在文章中使用<!-- more -->注释的方式,人工选择文章摘要;

在使用摘要功能之后,不管是上述两种方式的哪一种,NexT提供了一个read_more_btn配置,用于在文章列表的每个文章的下面显示一个阅读更多的按钮,这个按钮本身没什么问题,但是我后面在接入畅言的时候,NexT里内置的畅言是使用文章的URL地址作为sourceid,而如果读者点击阅读更多的按钮进入文章,此时文章的URL会多一部分#more ,导致畅言混乱,他认为这是两篇文章。

定位到原因,解决的办法很简单,修改内置的畅言插件,使用文章的ID作为此文章在畅言的sourceid即可;我使用的办法是将这个按钮去掉,不起用read_more_btn功能,有时间在搞。

Comments

NexT内置了leancloud、gitment、gittalk、disqus、changyan,NexT没有内置的不考虑,国内没法访问或者访问速度不行的不考虑,最后就只剩一个畅言了;
畅言需要域名备案;

版权声明

createtive_common

广告联盟

淘宝联盟在发布了11篇文章之后才给通过,回复很快。
Google Adsense

参考

Hexo NexT github部署SEO优化教程
Hexo博客添加站内搜索

猜你喜欢

转载自blog.csdn.net/chen517611641/article/details/88697340
今日推荐