初始备份

  • GitHub新建项目

  • Blog文件夹初始化: git init

  • 建立与项目联系: git remote add origin <SSH>

  • 修改/新建Blog文件夹.gitignore

    1
    2
    3
    4
    5
    6
    7
    .DS_Store
    Thumbs.db
    db.json
    *.log
    node_modules/
    public/
    .deploy*/
  • 删除themes主题文件夹的.git

  • 上传初始备份

    1
    2
    3
    git add .
    git commit -m "backup 1"
    git push origin main --force

异地初始化

  • 安装git
  • 安装Nodejs
  • git clone仓库到本地: git clone <url>(推荐使用GitHub Desktop)
  • 安装hexo: npm install hexo-cli -g
  • 安装之前的插件: npm install
  • SSH配置GitHub账号授权新电脑,以实现hexo deploy

特殊说明

异地初始化后额外的工作

  1. 相册加密

    本博客实现的相册加密功能,需要在相册后加入回调代码(该步骤会自动同步):

    1
    2
    3
    4
    5
    6
    7
    8
    <script>
    window.addEventListener('hexo-blog-decrypt', function() {
    if (sessionStorage.getItem("encryptState") != "1") {
    location.reload();
    sessionStorage.setItem("encryptState", "1");
    }
    });
    </script>

    并额外修改hexo-blogencrypt插件的hbe.js,在约191行处添加一行代码(需要额外进行):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        const hideButton = document.createElement('button');
    hideButton.textContent = 'Encrypt again';
    hideButton.type = 'button';
    hideButton.classList.add("hbe-button");
    hideButton.addEventListener('click', () => {
    window.localStorage.removeItem(storageName);
    window.location.reload();
    // 自己加的代码,为实现相册加密后自动刷新,实现监听按下重新加密的button后修改encryptState=0
    + sessionStorage.setItem("encryptState", "0");
    });
  2. 本人在一次异地管理博客时候遇到hexo g后报错如下,特记录于此:

    1
    2
    WARN Please reinstall hexo-butterfly-extjsThe file does not exist:
    WARN The file does not exist: typed.js/lib/typed.min.jstyped.js/lib/typed.min.js

    解决:

    1. 删除node_modules,重新安装 npm install(不要去改动 plugins.yml)
    2. 官网下载typed.min.js文件,然后扔到本地node_modules/typed.js/lib/typed.min.js

上传备份

1
2
3
4
5
6
7
git add .
git commit -m "name"
git push origin main --force
hexo d

## 多台终端写博客,记得先进行同步 ##
git pull

以上内容都可以用GitHub Desktop替代