从零开始的更博生活

从零开始的更博生活

1 虚拟机安装

1.1 下载VMware

https://customerconnect.vmware.com/en/downloads/details?downloadGroup=WKST-PLAYER-1623-NEW&productId=1039&rPId=85399

1.2 下载映像

https://ubuntu.com/download/desktop

1.3 创建虚拟机

新建虚拟机向导中将映像插入,在全名(账户名)、用户名(电脑名)中填写jdh,密码就不公布了

2 虚拟机调试

2.1 更换apt

根据系统指示出了新手村以后,把默认apt源换掉

1
sudo nano /etc/apt/sources.list

查看源

1
2
3
4
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

如果报错“无法安全地用该源进行更新”,那么是ca证书过期了
将上述源的https全部换成http
然后

1
sudo apt install ca-certificates

然后将上述源的http换回https
最后

1
sudo apt upgrade

(暂时先改成http,然后用http更新证书ca-certificates,然后再改回https确保平时的安全)

2.2 安装VMware-tools

1
2
3
sudo apt upgrade
sudo apt install open-vm-tools-desktop -y
sudo reboot

2.3 更换语言

2.4 更换时区

至此系统差不多收拾妥当了,有些不要的软件去设置里卸载就可以了

3 从githexo的安装和部署

1
2
3
4
5
sudo apt install git
sudo apt install npm
sudo npm install -g n
sudo n stable
sudo npm install -g hexo-cli

在桌面创建一个文件夹blog
然后记得挂科学上网

1
2
3
4
5
6
7
cd Desktop
hexo init blog
cd blog
npm install
npm install hexo-deployer-git --save
hexo g
hexo server

至此打开浏览器,访问localhost:4000
应该就能看到初始页面了

4 部署博客

4.1 在Github创建Repository

创建一个叫FailedFailure.github.io的Repository

4.2 安装Curl

1
sudo apt install curl

4.3 利用gh联动Github

1
2
3
4
5
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh
gh auth login

记录下临时安全码,打开浏览器登录即可联动

4.4 修改_config.yml

将最后三行改成

1
2
3
type: git
repo: https://github.com/FailedFailure/FailedFailure.github.io.git
branch: master

4.5 Github修改默认Branch

改成master
并在Settings里找到Pages,修改Branch

4.6 博客内容初始化

4.6.1 删除默认hello-world.md

先把预先写好的md文件准备好(例如此篇)作为第一篇,复制全文内容,在项目目录下

1
hexo new post 'example'

就新建好了一个叫example.md文件,将准备好的内容拷贝到预设的这段代码:

1
2
3
4
5
title: test
date: 2022-04-07 09:26:25
tags:
-TAGA
-TAGB

的下方即可。(标签添加如上所示)
在拥有了第一个文件以后,直接把默认的helloworld.md肃清即可

4.6.2 上传新的md

现在有了新的页面,只需要执行

1
2
hexo g
hexo d

这里的hexo g是生成静态页面
hexo d则是将其deploy到博客页面上
如果发现某些页面没有清除,可能是缓存问题
可执行hexo clean来解决

4.7 更换主题

现在我们有了第一篇博客,可是默认主题未免不太美观
这里采用的是NexT,去Github上fork一份
https://github.com/next-theme/hexo-theme-next
然后,cdblog文件夹下,执行
git submodule add https://github.com/FailedFailure/hexo-theme-next ./themes/next
然后分别调整内外_config.yml即可自定义博客版面等内容
具体设置可见后续博客

4.8 备份设置

考虑到更换电脑后这些博客可能全部寄了,将文件全部保存至新的Repository
在Github上新建一个PrivateRepository,用来存放代码
同时在桌面目录执行

1
2
3
4
git init blog
cd blog
git remote add origin https://github.com/FailedFailure/blogbackup.git
git status

至此可以查看git仓库部署情况
然后可以使用

1
2
git add .
git commit -m "feat: "

将内容从工作区调转到暂存区,最后准备push
这里的feat: 里的内容是更新的备注,最后会显示在Github的文件旁边
第一次时应执行

1
git push --set-upstream origin master

就获得了我们需要的文件
后续更改时push以外的内容不变,最后一步仅需

1
git push

即可
值得一提的是,如需更改这个备份用仓库的名称
在Github更改完名称后
记得执行

1
git remote set-url origin https://github.com/FailedFailure/blogbackup

这里blogbackup是我后来改的名字,Github改成什么对应什么就行
需要注意的是,theme的内容之前已经作为一个独立的Repository
储存在了https://github.com/FailedFailure/hexo-theme-next
如果需要修改主题内容,需单独cd ./themes/next
然后git一份

值得一提的是,如果你的"feat: "内容写错了
可以通过

1
git reset --soft HEAD^

来肃清
或是

1
git commit --amend

来更改

4.9 购买域名

我是在阿里云购入的,实名认证以后
https://dc.console.aliyun.com/next/index
管理域名解析:

记录类型 主机记录 解析线路 记录值
CNAME www 默认 failedfailure.github.io
A @ 默认 192.30.252.153
A @ 默认 192.30.252.154

然后去https://github.com/FailedFailure/FailedFailure.github.io/settings/pages
Custom domain处加上域名akar1.xyz
然后转到终端

1
2
cd ./source
touch CNAME

在CNAME内输入akar1.xyz,然后重新deploy一遍就行了

5 杂七杂八的小问题

5.1 Repository内日期修改

这里还遇到一个怪问题,主Repository中此篇文章的日期错了(06 -> 07)
开了个test.md后发现似乎是时区错误
将系统时间调整为CST后再试,目前已修正

5.2 前文4.9处表格显示错误

表格下面还是空一行吧

5.3 虚拟机无线网卡丢失

时刻注意一下就行8…

5.4 终端push报错

挂个魔法,轻松解决

5.5 域名过期

买好新域名在阿里云上解析一下,然后回到虚拟机上改一下CNAME里的内容

TODO

研究加密

References

https://gyrojeff.top/

https://oreste.moe/

hexo搭建参考

菜鸟教程:markdown代码

菜鸟教程:markdown表格

hexo d命令报错

hexo常用命令

submodule用法

git commit修改和删除

url参数