-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hexo 搭建博客问题 #17
Comments
6.Spawn failed今天更新了一下相册,最后推送的时候,爆出了这个问题: Connection reset by xxx.xxx.xxx.xxx port 22
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
FATAL {
err: Error: Spawn failed
at ChildProcess.<anonymous> (D:\xx\...\node_modules\hexo-deployer-git\node_modules\hexo-util\lib\spawn.js:51:21)
at ChildProcess.emit (events.js:210:5)
at ChildProcess.cp.emit (D:\xx\...\node_modules\cross-spawn\lib\enoent.js:34:29)
at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12) {
code: 128
}
} Something's wrong. Maybe you can find the solution here: %s https://hexo.io/docs s/troubleshooting.html 之前没见过这类报错,于是就查查 后面试了两次并没有好转,同时也在查这个问题,网页上看到的都是说删除什么什么文件,感觉不靠谱,于是我再试了一次,这一次正常推送了。再反过头看那些回答,基本都只会告诉你怎么解决,但没有一个可以告诉你原因是什么。。。这就很迷! 其实想想,各种 “bug“ 可能会出得奇奇怪怪,但至少还有有一定逻辑因素的。之前正常,突然冒出的问题,在“环境”没有变化的情况下,那大概最大可能就是网络问题了。(同样,在没有查出这个报错问题的我来说,也不一定就是正确的) |
7.置顶功能最近想着弄一个文章置顶,然后发现网上的方法还是好几年前,并且 'use strict';
const pagination = require('hexo-pagination');
const { sort } = require('timsort');
module.exports = function(locals) {
const config = this.config;
const posts = locals.posts.sort(config.index_generator.order_by);
sort(posts.data, (a, b) => (b.sticky || 0) - (a.sticky || 0));
const paginationDir = config.pagination_dir || 'page';
const path = config.index_generator.path || '';
return pagination(path, posts, {
perPage: config.index_generator.per_page,
layout: ['index', 'archive'],
format: paginationDir + '/%d/',
data: {__index: true}});
}; 注意 随便选取两篇文章,第一篇(日期在前)先设 |
8.
|
9.
|
10.
|
11.多端同步当前 HEXO 博客,实际是单项的,即本地修改上传。而在 github 上,是可以修改博客的 原本我是想用分支的,但看到 hexo 官网--For 使用 Git 管理站点目录的用户,感觉很认可,遂改为新仓库。 |
12.
|
13.husky之前为了多端写博客,弄了一个仓库来存储非 基础的推送: # 编译
hexo g -f
# 压缩
gulp
# 推送
hexo d 不如在 "scripts": {
// ...
"pb": "hexo g -f && gulp && hexo d"
} 即便这样,每次,还是得分两步:推送,提交。但是同过 gitHook,可以自动完成推送。 # 安装
npm install husky -D
# husky 初始化
npx husky install
# 创建 pre-commit hook
npx husky add .husky/pre-commit "npm run pb" 对 "scripts": {
// ...
"pb": "hexo g -f && gulp && hexo d"
},
"husky" :{
"hooks": {
"pre-commit": "npm run pb"
}
}, 之后,按照正常 git 流程就可以了。 当然,有些时候,可能会有些修改与文章无关,即不需要推送到博客上的,可以使用 git commit --no-verify -m"xxx" |
@richardmyu 我升级了node 也不行,卡在 那个包一直不动 |
14.FATAL Something's wrong.# 2024/01/19
hexo: 7.0.0
hexo-cli: 4.3.1
os: win32 10.0.22621
node: 20.11.0
hexo-theme-next: 8.19.0 没有动 如何推送时报错:
根据报错信息,先去查看
根据报错信息
至此,问题已解决。 1.主题配置文件(
2.【不推荐】修改 if (!theme.valine || !theme.valine.enable || !theme.valine.appid || !theme.valine.appkey) return;
// 注意,除了第 11 行,还有第 21 行 更新: v8.1 版本还有 |
1.gulp 安装更新
执行
hexo g
之后生成的代码,结构比较乱,空格空行都很多,使用gulp
进行压缩,以获取更快的加载速度。旧版本 HEXO 的安装:
新版本 HEXO(5.x) 安装:
语法问题
注意 gulp 语法(对于 4.x 版本而言)已经更新的问题:
旧版本:
新版本(4.0.2)语法:
这一部分,可能随着时间推移,这里说的也会有问题,总之记得去官网看语法。
2.图片模块安装更新
这些都是开发依赖,应该放到
devDependencies
中去:npm install gulp-htmlclean gulp-htmlmin gulp-minify-css gulp-imagemin --save-dev # or npm install gulp-htmlclean gulp-htmlmin gulp-minify-css gulp-imagemin -D
注意,我把其中的
gulp-uglify
拿出来没有安装,是因为如果压缩的 JavaScript 代码涉及到某些 ES6 语法时,会因语法问题而无法成功压缩,可以使用gulp-uglify-es
解决这个问题。3.
gulp-imagemin
模块部分规则更新jpegtran
没有了,需要用mozjpeg
代替。同样也是因为版本更新,部分参数或方法以发生变化,总之,若有问题,先参考官网。更多细节
4.图片
1.使用 PS 压缩图片;
2.使用图床或 CDN 来加载图片,而不是放在博客自身目录下(主要就是 Github 访问慢...);
3.我选择的 Next 主题有内置的图片懒加载,修改即可;
5.锚点失效
不确定是不是更换了
hexo-renderer-markdown-it
造成的问题,只记得一开始锚点有效的,后来偶然发现锚点失效了,经查看页面源码,发现是标题渲染没有id
属性。在阅读 Hexo 博客踩坑 一文后,增加对这个问题的认识。基于 Less is More 的原则,决定不采用增添插件,修改源码的方式了。既然渲染引擎没法正常给标题的添加
id
属性,咱们自己手动给它加上不就好了吗:stuck_out_tongue_winking_eye:?The text was updated successfully, but these errors were encountered: