Hexo 工具箱

hexo本地文件同步到github

  1. github新建分支,必须新建分支,血泪教训

  2. 将新分支设置为默认分支

  3. 将新分支clone到本地新文件夹A中

  4. 删除除了.git之外的所有文件。.git文件夹是隐藏文件夹

  5. 将本地文件除了.deploy_git和.git两个文件之外的所有文件全部复制,并粘贴到A

  6. 修改.gitignore文件中忽略的文件夹。因为我用的主题决定了我需要保留node_modules,所以将其中的/node_modules删除

  7. git add .
    git commit -m "add branch"
    git push
    

之后每次更新完博客,记得重复步骤7

在新电脑上clone博客文件

安装git,安装nodejs,配置ssh key,安装hexo

  1. clone github 上的仓库

  2. cd xxx.github.io
    npm install
    npm install hexo-deployer-git --save
  3. hexo g
    hexo d

每次打开博客文件夹,都需要同步一下。

git pull

创建新文档

hexo new [layout] <title>

例如 hexo new mypage utils

意思是创建一个以mypage为模板的博客文件,名字叫做utils.md

注意 mypage是我自己定义的,自带的只有post,draft,page三种,默认是post

创建草稿不发布

  1. 创建草稿mydraft.md

    hexo new draft mydraft
  2. 预览草稿

    hexo server --draft
  3. 发布草稿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.jsonmime-db/index.jsrequire('./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 协议 ,转载请注明出处!