〇、前言

新换了一台电脑后,重搭建了一次博客,记录一些关键步骤及参考网页。本文实践的环境:Ubuntu16.04、NexT7.7、hexo。

一、安装环境

1.移除hexo:

1
2
cd /usr/bin
npm uninstall hexo -g

2.移除node和npm
1
2
3
4
5
6
7
8
9
10
11
12
# apt method
sudo apt remove node
sudo apt remove nodejs
sudo apt remove npm

# nvm method
nvm deactivate
nvm uninstall node

# delete nvm
rm -rf ~/.nvm
# 再删除 ~/.bashrc 文件中 export NVM_DIR= 这一行和它的下一行。

3.安装git

1
sudo apt-get install git

4.安装nvm
这里的nvm实际上是node的包版本控制工具,在这里你可以找到各种你想要的版本,这里我们想要成功搭建肯定后面要安装稳定版的node了。直接在终端中执行下列语句

1
2
3
4
5
export NVM_DIR="$HOME/.nvm" && (
git clone https://github.com/creationix/nvm.git "$NVM_DIR"
cd "$NVM_DIR"
git checkout `git describe --abbrev=0 --tags --match "v[0-9]*" origin`
) && . "$NVM_DIR/nvm.sh"

5.配置开机自启
在你的~/.bashrc, ~/.profile,或者~/.zshrc中加入如下配置

1
2
3
sudo gedit ~/.bashrc  # 打开该文件,并将下面的语句直接复制到文件末尾,保存关闭
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

6.使用nvm安装node和npm
如果执行完上面的命令都没有问题,这里就应该要使用nvm来安装node和npm了,首先先检查远程仓库的版本

1
nvm ls-remote

如果网不好的情况下这一步骤可能会失败,如果失败再多试几次,或者找个网好的地方就能更下来了,我之前网络情况不太好大概执行了4/5次才刷出来。

7.安装稳定版
如果上面那一步没问题的话,这里就开始安装node的稳定版了。
实践证明,在2022年4月份的时候,用最新版本的会报一些警告出来,比较稳妥的解决方式是使用12.22.1版本的

1
2
3
4
5
nvm install 12.22.1
# or install stable version
# nvm install stable
nvm use node # 启用安装好的版本
nvm alias default node # 设置为默认版本

8.安装hexo
如果nvm安装完成且成功配置好稳定版以后,就可以安装hexo了,安装hexo的过程其实和大家之前搜的没什么不同,之前安装失败的主要问题,要么是版本不匹配,要么是版本过低,在github也搜索过作者回答大致是低一点的版本是会有bug,不过高版本已经修复了。这边还是再重复一遍吧。

1
2
3
4
5
6
7
8
npm install -g hexo-cli         # 安装hexo
mkdir blog # 新建一个文件夹用来存放博客
hexo init blog # 用hexoa初始化文件夹
cd blog # 打开博客文件夹
npm install # 安装npm
npm update -g # 更新npm
hexo g # 生成静态界面
hexo s # 开启本地服务

顺利的话,经过上述操作,可以在浏览器中通过网址http://localhost:4000打开一个静态网页,作为调试所用。

二、Git的环境配置

1.配置本机全局git环境

1
2
3
npm install --save hexo-deployer-git
git config --global user.email "YourEmail"
git config --global user.name "YourName"

2.生成SSH密钥

1
2
less ~/.ssh/id_rsa.pub          # 验证是否之前生成过ssh的key,若有,则会出现一串秘钥
ssh-keygen -t rsa -C YourEmail # 若无,则重新生成秘钥

3.Github网页配置
从网页上打开github,没有注册的话需要注册一个账号,注册后正常登录,从头像那里选择settings->SSH and GPG keys,填入刚刚生成的SSH秘钥,名字可以自己填。在Terminal中输入下列命令测试是否成功。

1
ssh -T git@github.com

如果成功,会提示Hi YourName! You've successfully authenticated, but GitHub does not provide shell access.

4.博客文件夹与GitHub关联
打开blog文件夹,在根目录下有一个主题配置文件_config.yml,打开后,找到deploy,并加入下面的内容:

1
2
3
4
deploy:
type: git
repository: git@github.com:YourName/YourName.github.io.git # 用户名改成你自己的
branch: master

三、推送博客到GitHub

1
hexo clean && hexo g && hexo deploy

四、安装插件

安装插件及配置参考小丁的博客使用的插件。对于非重新建立网站,只需安装插件:

1
2
3
4
5
6
7
8
9
10
11
12
13
npm install hexo-symbols-count-time --save
npm install hexo-related-popular-posts --save
npm install hexo-douban --save
npm install hexo-generator-sitemap --save
npm install hexo-generator-baidu-sitemap --save
npm install hexo-baidu-url-submit --save
npm install hexo-generator-feed --save
npm install hexo-generator-searchdb --save
npm uninstall hexo-generator-index --save
npm install hexo-generator-index-pin-top --save
npm install hexo-blog-encrypt --save
npm install hexo-neat --save
hexo clean && hexo douban -bgm && hexo g && hexo s

五、一些其他的修改

  1. 底部增加网站运行时间,修改位置:blog/themes/next/layout/_partials/footer.swig
  2. 底部增加总访问量,修改掉主题配置文件中busuanzi的计数,增加提示语,修改位置:blog/themes/next/layout/_partials/footer.swig
  3. 文章置顶:只需在博客源文件xx.md开始部分的tags后再添加一个top: 100,这个数字越大越靠前。置顶图标的设置:blog/themes/next/layout/_macro/post.swig文件,在<div class="post-meta"> 的第一个 <span> 标签下的一段代码。
  4. 文章加密:在博客源文件xx.md开始部分添加如下内容:
    1
    2
    3
    password: abcd
    abstract: 这是一篇加密的博客哦~
    message: 请输入密码
  5. 博客字体的修改. 参见链接5

参考链接:

1.小丁的个人博客
2.Ubuntu 上使用hexo+github打造个人blog
3.linux 下 Hexo + GitHub 搭建个人博客
4.在github上搭建hexo个人博客(Linux-Ubuntu)
5.Next中文字体设置