把mac上hexo博客迁移到debian上来

把mac上hexo博客迁移到debian上来

0x01 安装git

略,我debian系统里已经装好了。

1
git --version

0x02 安装nvm

参考https://github.com/nvm-sh/nvm?tab=readme-ov-file

执行命令

1
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

报错了,报错如下:

1
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

浏览器打开网页https://github.com/nvm-sh/nvm/blob/v0.40.1/install.sh把这个install.sh下载下来,然后终端进入放install.sh的目录,执行:

1
bash ./install.sh

[重启终端!!!]https://developer.aliyun.com/article/1435825

1
vim ~/.bashrc

把下面这段命令复制到~/.bashrc里去

1
2
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

重启终端!!!

输入

1
nvm --version

好咯

0x03 使用nvm安装node.js

1
nvm install node

0x04 将原来电脑的blog站点下的:复制到debian中

1、source文件夹
2、scaffolds文件夹
3、themes文件夹
4、_config.yml文件
5、package.json文件
复制到新的blog站点下

0x05 安装

新电脑终端进入站点,并使用npm安装package.json里的模块

1
2
cd blog
npm install #安装package.json里的模块

等待…..
将hexo添加进环境变量,blog站点下终端输入:
1
2
echo 'PATH="$PATH:./node_modules/.bin"' >> ~/.bashrc
source ~/.bashrc

验证hexo,终端输入:
1
hexo v

0x06 ssh配置

检查本机的ssh秘钥

1
cd ~/.ssh

如果提示 No such file or directory说明你是第一次使用 git。
接下来生成新的SSH keys:
1
2
3
4
5
6
7
8
9
$ ssh-keygen -t rsa -C "你的邮箱地址"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):<回车>
Enter passphrase (empty for no passphrase):<输入加密串><如不想设置密码可直接回车表示为空>
Enter same passphrase again:<再次输入加密串><接着回车确认>
Your identification has been saved in /Users/你的名字/.ssh/id_rsa).
Your public key has been saved in /Users/你的名字/.ssh/id_rsa.pub.
The key fingerprint is:
43:c5:5b:5f:b1:f1:50:43:ad:20:a6:92:6a:1f:9a:3a "你的邮箱地址"

最后出现类似长方形的字符画就ok了!
将ssh key添加进github
打开本地刚生成的.ssh/id_rsa.pub(若看不到,则需显示隐藏文件):

1
cat /home/你的名字/.ssh/id_rsa.pub

复制所有内容。

然后进入github主页,点击右上角头像进入settings,选择SSH and GPG keys,再点击New SSH Key。将内容复制进key,title可以为空。最后Add SSH key。

可以通过如下命令进行测试是否成功

1
ssh -T git@GitHub.com

接下来出现
1
2
3
4
The authenticity of host 'GitHub.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?<输入yes>
Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access.

若出现以上提示,则说明添加SSH key成功

1
2
git config --global user.email "你的邮箱"
git config --global user.name "你的名字"

0x07 数学公式渲染

1
npm list

把不相关的卸载掉

1
2
3
npm uninstall hexo-renderer-marked --save
npm uninstall hexo-renderer-markdown-it-plus
npm uninstall hexo-renderer-marked --save

安装hexo-renderer-kramed

1
npm install hexo-renderer-kramed --save
1
2
3
4
5
6
7
8
9
10
11
12
13
14
npm list

hexo-site@0.0.0 /data1/home/ha2/workspace/Hexo/blog
├── hexo-asset-image@0.0.5 (git+ssh://git@github.com/CodeFalling/hexo-asset-image.git#3c114cf0c0343ab28469635085b225fcae7fb9d3)
├── hexo-deployer-git@2.1.0
├── hexo-generator-archive@0.1.5
├── hexo-generator-category@0.1.3
├── hexo-generator-index@0.2.1
├── hexo-generator-tag@0.2.0
├── hexo-renderer-ejs@0.3.1
├── hexo-renderer-kramed@0.1.4
├── hexo-renderer-stylus@0.3.3
├── hexo-server@0.3.3
└── hexo@4.2.1

找到node_modules\kramed\lib\rules\inline.js文件打开,修改第11行:

1
2
//  escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,
escape: /^\\([`*\[\]()#$+\-.!_>])/,

修改第20行:

1
2
//  em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,

保存
进入到主题目录,找到_config.yml配置问题,把mathjax默认的false修改为true,具体如下:

1
2
3
4
# MathJax
mathjax:
enable: true
per_page: true

文章的Front-matter里打开mathjax开关,如下:

1
2
3
4
5
6
---
title: index.html
date: 2016-12-28 21:01:30
tags:
mathjax: true
---

0x08 使用hexo

写好了一篇.md之后,放到blog站点下的/source/_posts/文件夹里,在blog站点打开终端,输入

1
2
3
hexo clean
hexo g
hexo d