hexo + Butterfly搭建博客
Hexo是一个基于Node.js的静态网站生成器,主要用于快速搭建博客和个人网站。它使用Markdown语法编写文章,能够迅速生成静态页面并部署到服务器上。
配置node
- 使用nvm安装node(v16.13.2)后配置镜像
安装并使用node:
nvm install 16.13.2
nvm use 16.13.2
查看当前node版本:
node -v
配置镜像:
npm config set registry https://registry.npmmirror.com
可以通过以下命令查看镜像是否配置成功:
npm config get registry
- 配置node
下载express:
npm install express -g
安装hexo本地环境:
npm install -g hexo
配置git
生成ssh:
ssh-keygen -t rsa -C "邮箱地址"

所有要输入的地方都按回车,使用默认值
把密钥添加到github账户中:

测试ssh是否绑定成功:
ssh -T git@github.com
输入ssh -T git@github.com报错:

- 说明无法通过22端口与github进行ssh连接,将ssh连接端口修改为443后测试:
ssh -T -p 443 git@ssh.github.com
- 说明443端口可以访问,但是github不提供shell权限。
在.ssh文件夹下新建config文件(没有后缀)
config文件:Host github.com Hostname ssh.github.com Port 443
- 重新输入
sssh -T git@github.com测试:
本地创建Blog
- 创建Blog文件夹,初始化hexo
hexo init

成功后显示:

- _config.yml:站点配置文件
node_modules:存储hexo插件的文件
- 生成本地的hexo页面:
hexo s

在浏览器输入http://localhost:4000即可访问

上传Blog到GitHub
- 新建仓库:

仓库格式:用户名.github.io
一定要是用户名!!不然后边会报404
这个仓库名将作为github博客的访问地址
- 修改_config.yml文件:

deploy:type: gitrepository: https://github.com/xiaolin0333/xiaolin0333.github.io.gitbranch: main
- 安装hexo-deployer-git自动部署发布工具:
npm install hexo-deployer-git --save
- 生成页面:
hexo g

5. 本地文件上传到Github网页:
hexo d
上传成功:

Butterfly主题
更改主题后,可以使用hexo clean & hexo g & hexo s在本地测试
需要传到github上,可以使用hexo clean & hexo g & hexo d传到GitHub上
下载主题
- 在Blog根目录下下载:
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
- 安装pug和stylus渲染器
npm install hexo-renderer-pug hexo-renderer-stylus --save
- 修改Blog根目录下的_config.yml开启butterfly主题
theme: butterfly
- 在根目录新建_config.butterfly.yml,复制butterfly目录下的_config.yml文件到该文件中。
和博客网址关联度较高的设置在Blog根目录下的_config.yml文件中;
和主题样式关联度较高的设置在Blog根目录下的_config.butterfly.ym文件中。
发布博客
- 安装插件:
npm i hexo-deployer-git
- 输入命令:
hexo new post "新建博客的文章名"
设置博客个人资料
在_config.yml中设置:
# Site
title: xiaolin0333 #标题
subtitle: '欢迎来到小林的博客' #副标题
description: #个性签名
keywords:
author: 小林 #作者
language: zh-CN #语言
timezone: Asia/Shanghai #中国的时区
设置导航菜单
在_config.butterfly.yml中设置:
menu:# Home: / || fas fa-home# List||fas fa-list:# Music: /music/ || fas fa-music# Movie: /movies/ || fas fa-video主页: / || fas fa-home标签: /tags/ || fa fa-tags分类: /categories/ || fa fa-archive归档: /archives/ || fa fa-folder-open关于: /about/ || fas fa-heart 留言板: /comment/ || fa fa-paper-plane

创建文件夹
根据前面设置的导航菜单创建文件夹
- 标签
hexo new page tags
- 分类
hexo new page categories
- 归档
hexo new page archives
- 关于
hexo new page about
- 留言板
hexo new page comment

…
完成啦:
我的博客地址
相关文章:
hexo + Butterfly搭建博客
Hexo是一个基于Node.js的静态网站生成器,主要用于快速搭建博客和个人网站。它使用Markdown语法编写文章,能够迅速生成静态页面并部署到服务器上。 配置node 使用nvm安装node(v16.13.2)后配置镜像 安装并使用node: nvm install 16.13.2 n…...
05.KNN算法总结
KNN算法总结 1 k近邻算法优缺点汇总 优点: 简单有效重新训练的代价低适合类域交叉样本 KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适…...
CentOS 7 搭建lsyncd实现文件实时同步 —— 筑梦之路
在 CentOS 7 上搭建 lsyncd(Live Syncing Daemon)以实现文件的实时同步,可以按照以下步骤进行操作。lsyncd 是一个基于 inotify 的轻量级实时同步工具,支持本地和远程同步。以下是详细的安装和配置步骤: 1. 系统准备 …...
java定时任务备份数据库
文章目录 前言一、定时任务备份二、分享两个windows运行项目脚本总结 前言 数据库备份 程序中数据库备份可以有效避免因为意外,导致数据丢失,因此数据备份显得尤为重要。 一、定时任务备份 定时任务类,要在配置类或启动类开启 EnableScheduling Data Sl4j Servic…...
Vue.js 传递路由参数和查询参数
Vue.js 传递路由参数和查询参数 在 Vue.js 开发中,Vue Router 提供了灵活的方式来处理路由参数和查询参数,使得组件能够根据不同的路径或查询条件渲染相应的内容。 路由参数 路由参数(也称为路径参数)是 URL 路径的一部分&…...
2025数学建模美赛|F题成品论文
国家安全政策与网络安全 摘要 随着互联网技术的迅猛发展,网络犯罪问题已成为全球网络安全中的重要研究课题,且网络犯罪的形式和影响日益复杂和严重。本文针对网络犯罪中的问题,基于多元回归分析和差异中的差异(DiD)思…...
私有包上传maven私有仓库nexus-2.9.2
一、上传 二、获取相应文件 三、最后修改自己的pom文件...
企业信息化4:免费开源的财务管理系统
前言: 一个完整的财务管理系统不局限于传统的记账和核算工具,而是一整套包含了公司财务战略规划制订、编制各种财务计划、预算管理、资金管理、资产管理、税务管理的完整解决方案,从而实现对公司整体经营状况进行财务分析并定期汇报ÿ…...
PyCharm配置Python环境
1、打开PyCharm项目 可以从File-->Open-->选择你的项目路径-->OK,或者直接点击Open,找到项目路径-->OK,如图所示(点击Ok后可能有下面的弹窗,选择“Trust Project”即可,然后选择“New Window”打开项目) …...
蓝桥杯3522 互质数的个数 | 数论
题目传送门 首先根据a^b得出需要使用欧拉函数φ,根据欧拉函数的性质: φ ( a b ) a b − 1 ∗ φ ( a ) φ ( n ) n ∗ ( 1 − 1 / p 1 ) ∗ ( 1 − 1 / p 2 ) ∗ . . . ∗ ( 1 − 1 / p k ) ,其中 p i 为 n 的质因数 φ(a^b)a^{b-1}*φ(…...
Effective C++ 规则49:了解 new-handler 的行为
1、背景 在 C 中,new 运算符用于动态分配内存。然而,当内存分配失败时,程序默认会抛出一个 std::bad_alloc 异常。为了更灵活地处理这种情况,C 提供了一种机制,允许开发者自定义内存分配失败时的行为。这就是 new-han…...
头像生成小程序搭建(免费分享)
如下图为小程序页面的基本效果,下面将介绍该小程序的功能 页面template代码如下: <template><view class"avatar-containner"><block v-if"!showCropper"><image class"pageback" src"../../s…...
手撕Diffusion系列 - 第九期 - 改进为Stable Diffusion(原理介绍)
手撕Diffusion系列 - 第九期 - 改进为Stable Diffusion(原理介绍) 目录 手撕Diffusion系列 - 第九期 - 改进为Stable Diffusion(原理介绍)DDPM 原理图Stable Diffusion 原理Stable Diffusion的原理解释Stable Diffusion 和 Diffus…...
MySQL 基础学习(2): INSERT 操作
在这篇文章中,我们将专注于 MySQL 中的 INSERT 操作,深入了解如何高效地向表中插入数据,并探索插入操作中的一些常见错误与解决方案。 一、基础 INSERT 语法 在 MySQL 中,INSERT 操作用于向表中插入新记录,基本语法如…...
openstack 客户端命令行简介
openstack 客户端命令行简介 基本用法常用命令分类**身份认证(Keystone)**常用命令 **计算服务(Nova)**常用命令: **网络服务(Neutron)**常用命令: **块存储服务(Cinder&…...
Oracle查看数据库表空间使用情况
Oracle RAC环境查看表空间使用情况 查询字段释义: NEED_ADDFILE,--是否需增加表空间文件 TABLESPACE_NAME,--表空间名称 TABLESPACE_FILE_COUNT, --表空间当前数据文件数量 NOW_FILEENABLE_BLOCKS,--表空间文件当前数据块数 NOW_FILEENABLE_BYTES_GB,--表空间文件当…...
[护网杯 2018]easy_tornado1
题目 、 依次点击文件查看 /flag.txt flag in /fllllllllllllag /welcome.txt render /hints.txt md5(cookie_secretmd5(filename)) tornado模板注入 报cookie /error?msg{{handler.settings}} cookie_secret: 6647062b-e68d-4406-90d3-06e307fa955c} 使用python脚本…...
关于java实现word(docx、doc)转html的解决方案
最近在研究一些关于文档转换格式的方法,因为需要用在开发的一个项目上,所以投入了一些时间,给大家聊下这块逻辑及解决方案。 一、关于word转换html大致都有哪些方法? (1)使用 Microsoft Word 导出 其实该…...
【8】思科IOS AP升级操作
1.概述 本文主要针对思科AP的升级操作进行记录,思科的AP目前主要分为IOS和COS AP,IOS AP是我们常见的AP3502/AP1602/AP2702等等型号的AP,而COS AP是AP2802/3802等型号的AP。当然这里所指的都是一些室内AP,如AP1572等室外AP也同样适用。本文先对IOS AP的升级操作进行总结,…...
【ROS2】RViz2界面类 VisualizationFrame 详解
1、简述 VisualizationFrame 继承自 QMainWindow 和 WindowManagerInterface; 窗口顶部是常规布局:菜单栏 和 工具栏 窗口中心是 RenderPanel,用来渲染3D画面 周围是dock区域,包括:DisplaysPanel、ViewsPanel、TimePanel、SelectionPanel 和 ToolPropertiesPanel Windo…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...



