初始备份

  • 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
  • 配置连接GitHub(SSH配置,且推荐使用GitHub Desktop)
  • git clone仓库到本地: git clone <url>
  • install hexo: npm install hexo-cli -g
  • 安装之前的插件: npm install

特殊说明

本博客实现的相册加密功能,需要在相册后加入回调代码:

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");
});

上传备份与发布

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

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