Hexo 工具箱
hexo本地文件同步到github
github新建分支,必须新建分支,血泪教训
将新分支设置为默认分支
将新分支clone到本地新文件夹A中
删除除了.git之外的所有文件。.git文件夹是隐藏文件夹
将本地文件除了.deploy_git和.git两个文件之外的所有文件全部复制,并粘贴到A
修改.gitignore文件中忽略的文件夹。因为我用的主题决定了我需要保留node_modules,所以将其中的/node_modules删除
git add . git commit -m "add branch" git push
之后每次更新完博客,记得重复步骤7
在新电脑上clone博客文件
安装git,安装nodejs,配置ssh key,安装hexo
clone github 上的仓库
cd xxx.github.io npm install npm install hexo-deployer-git --savehexo g hexo d
每次打开博客文件夹,都需要同步一下。
git pull创建新文档
hexo new [layout] <title>例如 hexo new mypage utils
意思是创建一个以mypage为模板的博客文件,名字叫做utils.md
注意 mypage是我自己定义的,自带的只有post,draft,page三种,默认是post
创建草稿不发布
创建草稿mydraft.md
hexo new draft mydraft预览草稿
hexo server --draft发布草稿mydraft.md
hexo publish draft mydraft
创建文章资源文件夹
在根目录下的_config.yml中设置:
post_asset_folder: true然后新建post时就会产生资源文件夹
添加PDF页面
新建一个html文件在post的资源文件夹中,写入:
<iframe src="./paper.pdf" width="100%" height="100%"></iframe>然后再资源文件夹中放入paper.pdf,并在文章中用超链接引用这个html文件。注意,在文章中默认路径在资源文件夹中。
hexo 报错
最近更新了CV page,然后在
hexo clean时会报错:
err: Error: Cannot find module ‘./db.json’
Require stack:
- D:\Myblog\Joffrey-lc.github.io\node_modules\mime-db\index.js
- D:\Myblog\Joffrey-lc.github.io\node_modules\compressible\index.js
- D:\Myblog\Joffrey-lc.github.io\node_modules\compression\index.js
- D:\Myblog\Joffrey-lc.github.io\node_modules\hexo-server\lib\middlewares\gzip
.js- D:\Myblog\Joffrey-lc.github.io\node_modules\hexo-server\index.js
Chat老师说是:
真正坏掉的不是
hexo clean,而是hexo-server依赖链里的mime-db包缺了db.json:mime-db/index.js会require('./db.json'),但你的node_modules\mime-db\db.json不存在,于是触发MODULE_NOT_FOUND,进而导致hexo-server插件加载失败。这个现象在 Hexo 的 issue 里也有同款(并且同样会出现“报错但后面仍然 Deleted database/public folder”)
解决办法是,根目录下:
npm install mime-db mime-types accepts compression hexo-server --save如果还是不行,我建议直接复制工程到目标电脑上,保留.git文件夹
本文作者: Joffrey-Luo Cheng
本文链接: http://lcjoffrey.top/2021/12/03/hexoutils/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!