hexo建站
hexo+github pages 生成个人网站。
prework
- nodejs安装以及相关安装配置
- git本地登录
hexo
安装
npm i hexo-cli -g
- 将
D:\conf\nodejs\node-v20.17.0-win-x64\node-global
加入环境变量Path hexo -v
验证
使用
- 空文件夹里执行
hexo init
hexo g
生成hexo s
预览网页- 还有个
hexo d
,但是需要先托管到github再执行。
托管到github
- 新建一个名为
用户名.github.io
的仓库 - 在刚刚建好的文件夹里修改
_config.yml
最后的deploy1
2
3
4deploy:
type: git
repository: git@github.com:用户名/用户名.github.io
branch: main - 安装git插件
npm install hexo-deployer-git --save
- 确认git账号登陆了,执行
hexo d
域名配置(可选)
- 不设置的话可以在
https://用户名.github.io/
看到整个网站 - 仓库-settings-pages,Custom domain填入自己的域名
- 域名另外设置一下
- /source文件夹里要新建一个CNAME的文件,填上域名
使用
文稿
使用
hexo new draft xxx
生成草稿- 修改后再
hexo p xxx
转换成post可见 - 也可以直接
hexo n xxx
模板
对/scaffolds中的md文件修改
主题
默认的landscape
next
- 参考主题仓库
- 参考主题配置文件
- 下载
git clone https://github.com/next-theme/hexo-theme-next themes/next
- 修改
_config.yml
文件中更改theme:theme: next
其它配置
显示
- 首页里面放的正文太多了:使用
<!--more-->
,可以直接放在模板里面。 - 修改_config.yml:修改author、语言、标题等
- 按更新顺序排:修改源目录下,_modules-generator-index.js,改成
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16;
var pagination = require('hexo-pagination');
module.exports = function(locals){
var config = this.config;
var posts = locals.posts.sort('-updated'); //修改这里! 原代码为var posts = locals.posts.sort('-date');
var paginationDir = config.pagination_dir || 'page';
return pagination('', posts, {
perPage: config.index_generator.per_page,
layout: ['index', 'archive'],
format: paginationDir + '/%d/',
data: {
__index: true
}
});
};
bug及解决方案
- fatal: Could not read from remote repository.
- 挂了梯子
- git账号没有配置好
- 执行ssh-keygen –t rsa –C "git仓库邮箱",重新生成密钥;
- 执行git config --global user.name "git用户名",重新配置本地用户名;
- 执行git config --global user.email "git登录邮箱",重新配置本地邮箱;
- 之后将生成在C:.ssh文件夹下的id_rsa.pub文件打开后复制到Git仓库设置—SSH配置—Key配置的地方粘贴即可
- 尝试hexo d出现ERROR Deployer not found:
git:
npm install hexo-deployer-git --save
多平台同步source
- 新建一个仓库
- 把theme.git文件删了,代码推上去(不然非要submodule,有点麻烦,我暂时也不想更新next,先不搞)
- 其它设备上写之前先git pull。