0%

hexo使用next主题新增RSS

hexo版本5.0.2 npm版本6.14.7 next版本7.8.0

如何让next主题支持RSS呢?看着好像官方没支持,自己加上吧

在next下的_config.yml配置中新增

1
2
3
4
5
sidebar_rss:
text: RSS
icon: fa fa-rss
color: burlywood
link: atom.xml

找到next/layout/_partials/sidebar/site-overview.swig文件,在社交判断板块下新增以下代码

1
2
3
4
5
6
7
8
9
10
{%- if theme.sidebar_rss %}
<div class="" >
<a target="_blank" class="social-link" href="{{ url_for(theme.sidebar_rss.link) }}" style="color: {{ theme.sidebar_rss.color }};">
<span class="icon">
<i class="{{ theme.sidebar_rss.icon }}"></i>
</span>
<span class="label">{{ theme.sidebar_rss.text }}</span>
</a>
</div>
{%- endif %}

在博客目录下安装npm install hexo-generator-feed --save,编译时就会生成atom.xml文件。部署之后效果是这样的,快来试试吧

hexo使用next主题博客侧边栏标题点击不跳转

hexo版本5.0.2 npm版本6.14.7 next版本7.8.0

本着我肯定不是第一个出这个问题的人,去github上找了找,果然我不是第一个

好吧,也跟着改吧(修改themes/next/source/js/utils.js),找到registerSidebarTOC函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
registerSidebarTOC: function() {
const navItems = document.querySelectorAll('.post-toc li');
const sections = [...navItems].map(element => {
var link = element.querySelector('a.nav-link');
// 修复侧边栏 标题点击不跳转问题
var target = document.getElementById(decodeURI(link.getAttribute('href')).replace('#', ''));
// TOC item animation navigate.
link.addEventListener('click', event => {
event.preventDefault();
//var target = document.getElementById(event.currentTarget.getAttribute('href').replace('#', ''));
var offset = target.getBoundingClientRect().top + window.scrollY;
window.anime({
targets : document.scrollingElement,
duration : 500,
easing : 'linear',
scrollTop: offset + 10
});
});
//return document.getElementById(link.getAttribute('href').replace('#', ''));
return target;
});

hexo增加搜索功能

hexo版本5.0.2 npm版本6.14.7 next版本7.8.0

作为一个博客,没有搜索功能,如何在大批文章中找到自己想要的,那在hexo中如何增加搜索功能呢?

1
2
3
search:
path: search.json
field: post

在博客目录下安装npm install hexo-generator-search --save,此时使用hexo cl && hexo g就会在博客public目录下生成一个search.json,在使用hexo d部署上去搜索就可以用了

本地搜索弊端

前期还好,后来随着我的文章越来越多,search.json文件已经达到了十几M,每次加载页面都需要花费几分钟来加载search.json文件,使用体验很不好

algolia搜索

本地搜索走不通,那就只能使用远程搜索了,还好hexo提供了algolia搜索

先去官网登录一下,这里我使用的是Github登录,然后新建一个Index

创建Index后,右上角头像处点击选择Settings

阅读全文 »

项目同时提交多个git平台

先说一下场景:我本来项目是写在Gitee上的,后来部署平台需要使用Github来拉取项目,所以我需要将gitee上的项目迁移到github上,代码迁移过去之后,但是我电脑上的git地址没有改,导致我后续提交的代码还是提到了gitee上,当我想要部署的时候突然想到我最新的代码好像没在github上,这可咋搞?难道要把原来github上的删掉重新迁移吗?其实不需要的,来看看git的骚操作

迁移到github

首先我先演示一下我原本的项目迁移到github是怎么做的。先打开github,可以看到是有一个Impoort repository的

然后将gitee的git地址填入就可以导入到github了

阅读全文 »

Netlify将url重定向到小写问题

hexo版本5.0.2 npm版本6.14.7 next版本7.8.0

前两天将博客从vercel改为托管到Netlify上,本来运行的挺流畅的。但是今天我看一篇博客的评论时突然发现,虽然有评论

但是文章开头的评论数显示的是0

这里的评论系统使用的是Valine

我记得之前是好的,怎么突然不好使了呢。

阅读全文 »