【其他经验】Hexo-Butterfly个人博客搭建
一、环境准备
将我们的博客部署到windows 或 Linux 均可,所需要的基础环境如下(保证所有的-v均可正常输出即可):
1
2
3
4
5
6
7git -v
node -v
npm -v
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm -v
cnpm install -g hexo-cli
hexo -v如果cnpm那里出错,可以用如下进行安装
1
2
3
4npm cache clean --force
npm install -g cnpm --registry=https://registry.npm.taobao.org --strict-ssl=false
或者使用如下
npm install --registr=https://registry.npmmirror.comcnpm介绍:跟npm是同一个东西,不过使用的是中国境内的源。以下使用npm 的场景均可用cnpm代替。
我们可以给npm配置成全局的taobao地址
然后再去下载cnpm
1
npm config set registry https://registry.npm.taobao.org
二、本地搭建
使用Hexo 来搭建博客(本地启动)
1 | 1、先找一个空白文件夹 |
三、部署到远端(Github)或 其他
1、部署到 Github
1 | 1.登录自己的 Github。 |
现在是个空仓库,地址是这个,先放着。
1 | 3.然后用ssh连接github |
继续在 blog 目录下,输入命令行操作:
装 Git 部署的插件:cnpm install --save hexo-deployer-git
里面的红色警告可以忽略不管。
去 blog根目录下,修改_config.yml
即可。注意:blog
文件夹下的其它文件下也有_config.yml
文件,别改错了文件。
文件的最底部修改成这样:
1 | deploy: |
注意:deploy: type: repository: branch: 后面都有一个英文的空格。
用 nopad++修改后一定要保存!
删除静态文章:hexo clear
清除缓存:hexo g
部署到远端:hexo d
往远端推成功后,刷新 Github 仓库,发现多了很多东西,这些就是我的博客内容:
访问Lusensec.github.io
就可以直接打开,并看到博客部署到 Github 上去了。
如果失败,请增加如下:
1 | git config --global user.email "设置的邮箱" |
2、GitHub 和 Gitee 双部署
根据佬的文章:https://blog.csdn.net/guixinchn/article/details/107787660
在部署Github之后再进行Gitee 部署,之后修改_config.yml
文件即可实现双部署:
但是对于Gitee 来说:我们上传之后需要在仓库页面的“服务” > Gitee Pages > 勾选“强制使用HTTPS” > 点击“启动” 进行手动更新。手动更新完成之后再访问网页才会更新。
四、安装hexo的butterfly主题
安装butterfly主题
1
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
修改_config.yml
1
theme: butterfly
安装插件
1
npm install hexo-renderer-pug hexo-renderer-stylus --save
设置 _config.butterfly.yml
1
2
3将 themes/butterfly/_config.yml 重命名为_config.butterfly.yml 文件
再将其复制到 博客 目录下
并删除 _config.landscape.yml 文件安装 pug 和 stylus 的渲染器
1
npm install hexo-renderer-pug hexo-renderer-stylus --save
五、butterfly主题其他美化
1、其他美化修改
1 | 1、主题语言:默认是en |
2、导航菜单
1 | 在_config.butterfly.yml 文件中,最开始的 Menu 目录的位置,将menu下的注释打开,缩进为两格。 |
3、文章插入本地图片
1 | 1、安装一个插件(复制不行就手打) |
4、文章头部设置
1 | title: Hexo 个人博客搭建 |
5、博客内部文章跳转
1 | 格式: |
6、图片懒加载
在_config.yml
中添加如下,需要保证loading.gif 文件存在
1 | lazyload: |
7、评论功能-Gitalk配置
在_config.butterfly.yml 配置文件中配置如下:
1 | comments: |
点击右上角头像【Settings】->【Developer settings】->【OAuth Apps】->【New OAuth App】进行新建OAuth app
获得Client ID 和 Client secrets
配置Gitalk
必填的有clientID/clientSecret/repo/owner/admin五个。
1 | gitalk: |
之后重新发布即可
8、hexo镶嵌B站视频
将下面的src 的内容替换成B站视频的分享下面的【镶嵌代码】的链接(而不是视频的分享链接)
1 | {% raw %} |
9、加载动画
1 | preloader: |
10、设置鼠标样式
1、第一步:在 ``/themes/butterfly/source/css路径下创建一个
mouse.css`文件,在文件中添加如下代码
1 | /* 为整个页面设置鼠标样式 */ |
2、第二步:引入CSS文件,打开站点的主题配置文件_config.butterfly.yml,找到inject部分,在head处直接引入该文件:
1 | inject: |
3、第三步:重新部署
五、Linux安装Typora
官方文档:在Linux上安装Typora | typora中文网
Typora 是一款流行的Markdown编辑器,支持多种操作系统,包括Linux。根据搜索结果[^12^],Typora 可以在 Kali Linux 上安装和运行。安装Typora的步骤如下:
导入Typora的官方GPG密钥:
1
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -
添加Typora的APT仓库:
1
echo -e "\ndeb https://typora.io/linux ./" | sudo tee -a /etc/apt/sources.list
更新本地APT仓库索引:
1
sudo apt-get update
安装Typora:
1
sudo apt-get install typora
如果在安装过程中遇到问题,可以参考官方文档或社区提供的解决方案。例如,如果遇到SUID sandbox helper binary配置问题,可以尝试设置正确的权限:
1 | chmod 4755 /usr/share/typora/chrome-sandbox |
此外,如果遇到NSS版本过时的问题,可以确保安装了最新的NSS库:
1 | sudo apt-get update && sudo apt-get install libnss3 |
这些步骤和解决方案应该可以帮助你在Kali Linux上成功安装并运行Typora。
六、Hexo博客迁移
1、git备份迁移
参考链接:
1 | https://www.bilibili.com/video/BV13g41147yV/ |
1、创建Gitee或Github 私人仓库
2、链接私人仓库。严格按照这里来
在博客目录下执行(最好在git的bash 下执行)
1 | git config --global user.name "xxx" |
这样,所有的博客内容都将上传到仓库
3、迁移至其他地方
在要迁移的空白文件夹克隆该博客备份仓库
1 | git clone git@gitee.com:lusensec/hexo_backup.git |
之后使用npm 重新加载配置项
1 | cnpm install |
之后我们将重新部署
2、本地迁移
这里直接用一种粗暴的方法,对hexo博客文件夹和文件备份到本地或硬盘,需要备份的文件夹和文件有:
1 | source 文件夹:包含所有文章的Markdown文件。 |
我们直接将上述文件夹和文件进行压缩备份,或者直接复制到一个外部存储设备,如U盘、移动硬盘或云存储。
之后在新的设备路径安装环境
1 | npm install -g hexo-cli |
之后将备份的资源复制到新电脑上的Hexo项目文件夹中,替换掉新创建的项目的对应文件夹和文件。
这将根据package.json 文件安装所有必要的依赖。
1 | npm install |
检查并更新_config.yml和其他配置文件,确保它们适用于新环境。
之后重新进行本地和远端部署。
七、遇到的坑
1、什么什么 is e’mpty 以及 master 错误
解决办法:将博客目录下的.deploy_git
文件夹删除,或者以防万一先把该文件夹移动到非博客目录下,之后重新执行上传操作即可。这将重新编译,耗时较长
2、GitHub连接不上
1 | 解决办法参考链接:https://zhuanlan.zhihu.com/p/521340971 |
3、编译出错
这里推测是因为存在[]或者空格
的原因,将[]
换成【】
即可。在头部不能随便出现[]
八、参考链接
1、hexo博客搭建:
1 | https://zhuanlan.zhihu.com/p/305812430 |
2、hexo主题butterfly 美化:
1 | https://blog.csdn.net/mjh1667002013/article/details/129290903 |
3、Hexo中Buttefly 主题被百度,Bing等搜索引擎收录
1 | http://mtw.so/6adHnx |
4、评论功能
1 | https://blog.csdn.net/qq_33384402/article/details/107200465 |
5、更多魔改教程
1 | https://chenrui77.github.io/2022/01/25/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA%E6%96%87%E6%A1%A3(%E5%9B%9B)/ |