hexo部署github搭建个人博客 完整详细带图版(更新中)
文章目录
- 0. 前置内容
- 1. hexo创建个人博客
- 2. GitHub创建仓库
- 3. hexo部署到GitHub
- 4. 常用命令
- new
- clean
- generate
- server
- deploy
- 5. 添加插件
- 5.1 主题
- 5.2 博客基本信息
- 5.3 创建新的菜单
- 5.4 添加搜索功能
- 5.5 添加阅读时间字数提示
- 5.6 打赏功能
- 5.7 切换主题
- 5.8 添加不蒜子统计
- 5.9 添加百度统计
- ... 待更新
0. 前置内容
- git 的下载: 官网下载较慢,这边推荐阿里镜像下载:
阿里镜像下载 git
往下滑选择接近当前日期的最新版本 2.39.2 windows
选择 2.39.2 -64 的exe下载,大概有 50Mb大小
下载好后,直接一直点下一步即可。如果你了解过git,则可以按照自己的习惯下载,这不重要。
- Nodejs下载
直接百度搜索 Nodejs,Nodejs下载
选择 18.14.2 的 LTS版本下载
1. hexo创建个人博客
hexo是什么?
-
正如hexo的首页所显示的,它是一款非常快速,简介,高效的博客框架平台,我们可以利用hexo快速生成博客网站的模板,然后部署为我们自己的博客网站。
直接进入操作:
- 在任意盘符中新建 hexo 文件夹,这里我创建在了F盘
- 打开hexo文件夹,空白的地方右键,选择 Git Bash Here ,即我们使用 git 环境创建 hexo的blog模板(必须提前安装好 git),打开后如下图所示:/ f / hexo表示当前操作位置在 F盘的 hexo文件夹中
- 在 git窗口中依次输入以下命令
npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server
全部输入完成后,hexo文件夹中便会生成一个 blog 子文件夹,并且blog文件夹里面包含有很多信息:
关于这些文件夹,做一个简单的介绍:
- node_modules: 依赖包
- public:存放生成的页面
- scaffolds:生成文章的一些模板
- source:用来存放你的文章
- themes:主题
然后输入这两条命令:
hexo g
hexo s
完成后会显示如下内容,则说明配置成功!
在 git 中输入 Ctrl+C 即可关闭hexo s的内容。
打开浏览器,在浏览器输入 localhost:4000 即可进入你的初始默认博客
它长这样:
注意:这只是一个离线版本的博客 ,只能你自己看见,因此我们还需要 GitHub或者 gittee提供的 ssh功能将他变为对外开放的。
2. GitHub创建仓库
- 首先注册一个GitHub的仓库,然后在个人主页中选择 new 新建仓库
注意: 仓库名称的前半部分与你的用户名一致,即 lummod,后半部分 为 .git.io 固定格式(忽略红色警告,因为我已经创建过了!),可以选择一个readme为说明文件(随便),然后点击创建仓库
- 回到 git bash黑窗口中,输入以下两个命令(逐条):
yourname改为你的GitHub的用户名
git config --global user.name "yourname"
youremail改为你的注册GitHub时的邮箱
git config --global user.email "youremail"
一定不要输入错,这样github才能检查到这个用户属于你
- 创建 ssh,输入命令,然后一直回车
youremail改为你的注册GitHub时的邮箱
ssh-keygen -t rsa -C "youremail"
之后会提示你已完成 ssh的创建,在文件中找到这个路径
记住这两个文件
- 在 GitHub的 Setting里面,找到 SSH keys,把 id_rsa.pub 里面的内容全部复制到 key 进去,title随便写一个就行
操作完成后,就成功了。
3. hexo部署到GitHub
- 在 blog文件夹下面找到 _config.yml 文件,这是属于 你的博客的配置文件,点进入一看就知道了,你可以在这里面直接修改 姓名,内容,等用户的信息。双击打开它(vscode或者其他文本编辑器,记事本都可以)
- 先找一下有没有以下这段内容(我也忘记了是我添加的还是自带的),如果自带则一定是空的,则修改为如下所示,如果没有,则直接复制下面内容到 文档的末尾:
user表示你的GitHub的用户名
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
# deploy:
# type: ''
deploy:type: gitrepo: https://github.com/username/username.github.io.gitbranch: master# message: Site updated: {{ now('YYYY-MM-DD HH:mm:ss') }})
说明:类型是 git,远程 ssh连接是 你的 repo输入项,branch 输入gh-pages。
另外,找到 第16行(或者直接搜索 url)修改url 为
https://username.github.io
同样username是你的GitHub的用户名。
- 完成后,保存文件并且退出,在 git bash中输入以下命令:
表示安装 git部署命令工具
npm install hexo-deployer-git --save
- 最后输入以下三行命令:
hexo clean
hexo g
hexo d
其中 hexo clean
清除了你之前生成的东西,也可以不加。
hexo generate
顾名思义,生成静态文章,可以用 hexo g
缩写
hexo deploy
部署文章,可以用hexo d
缩写
如果是在离线端即 localhost:4000端测试你的博客,则只需要 hexo g + hexo s 即可,无需 hexo d
- 输入完成后会出现一堆内容,不用管他**,只要最后内容如下所示,**就表示成功了!
然后你就可以在
username.github.io # https://username.github.io
访问到你的博客了,其中username是你GitHub用户名,这个网站不是离线的,其他人都可以访问到!!!
4. 常用命令
new
在 根目录中,git bash黑窗口中输入
hexo new "博客名称"
然后打开 blog/source/_posts/ 文件夹后,你的 博客名称的md文档就创建好,直接打开编写即可,可以添加一些标签给这个文章,如 tags:编程技术
clean
$ hexo clean
清除缓存文件 (db.json
) 和已生成的静态文件 (public
)。
在某些情况(尤其是更换主题后),如果发现您对站点的更改无论如何也不生效,您可能需要运行该命令。
generate
$ hexo generate
生成静态文件。
选项 | 描述 |
---|---|
-d , --deploy | 文件生成后立即部署网站 |
-w , --watch | 监视文件变动 |
-b , --bail | 生成过程中如果发生任何未处理的异常则抛出异常 |
-f , --force | 强制重新生成文件 Hexo 引入了差分机制,如果 public 目录存在,那么 hexo g 只会重新生成改动的文件。 使用该参数的效果接近 hexo clean && hexo generate |
-c , --concurrency | 最大同时生成文件的数量,默认无限制 |
该命令可以简写为
$ hexo g
server
$ hexo server
启动服务器。默认情况下,访问网址为: http://localhost:4000/
。
选项 | 描述 |
---|---|
-p , --port | 重设端口 |
-s , --static | 只使用静态文件 |
-l , --log | 启动日记记录,使用覆盖记录格式 |
该命令可以简写为:
$ hexo s
deploy
$ hexo deploy
部署网站,构建在GitHub的服务器中。
参数 | 描述 |
---|---|
-g , --generate | 部署之前预先生成静态文件 |
该命令可以简写为:
$ hexo d
命令配合使用,重新构建网站(release):
hexo clean
hexo g -d
访问离线的端口(debug):
hexo g
hexo s
5. 添加插件
5.1 主题
- hexo提供了非常多的主题模板,在hexo的网站里往下滑,点击探索主题即可。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yc2srU2m-1677829487613)(null)]
- 选择某一个主题,然后可以点击 中间是预览的效果,点击蓝色的名字是 该主题的GitHub的下载地址
- 我的主题是 next,next是一款非常简洁舒服的主题,并且可支持的插件非常多,功能也很强大,可以直接搜索next,然后点击 GitHub的地址,进入下载
- 根据它的下载提示,直接在 git bash窗口中输入,即可下载next主题
git clone https://github.com/next-theme/hexo-theme-next themes/next
- 下载完成之后,在 blog文件夹(即根目录)下找到 themes文件夹,这个文件夹里面存放你下载的主题文件,可以看到next主题又再次包含一个文件夹,其中包含了next 主题的配置信息
- 修改blog的主题:首先返回blog根目录中,打开 _config.yml 文件(建议备份一份,直接复制即可),然后在 _config.yml 中找到 theme选项(如果你使用vscode,则直接 ctrl+h搜索即可,否则就自己往下滑),然后把 theme 上输入 next,表示使用的主题是next(使用其他主题也是如此)
- 之后就成功!输入 localhost:4000 或者 hexo g, hexo d,然后输入 username.github.io, 离线或者在线都可以看到设置的next的主题,具体效果自己查看吧!
5.2 博客基本信息
修改 博客的标题,副标题,描述,等等基本信息。。。
在 blog根目录下打开 _config.yml 配置文件,直接修改以下信息即可(看不懂英文的直接有道云翻译即可)
注意,语言要改成 zh-CN即中国,其他的自己随便改改
5.3 创建新的菜单
打开 themes 的 next 的 _config.yml ,我们此时打开的是主题的配置文件,不是根目录的。
找到第118行或者 搜索menu,即可看到:这里其实就是我们的博客菜单选项。在一开始我们只有home和 archives是开着的,如果你想添加一个 tags或者about菜单该如何操作呢?
- 首先在 blog的根目录中打开 git bash黑窗口,输入以下的命令:
hexo new page tags # tags可以是其他的
- 然后在这个 _config 的menu中把 tags这一项取消注释,然后重新构建:
hexo g
hexo s
- 在localhost:4000中 看看效果:
添加完成之后,我们在 blog根目录中打开 source文件夹,即可看到我们的菜单文件夹, tags,打开后,它其实就是一个 md文档!你可以自己在md文档上编辑,然后重新构建看看效果!
同理我们可以自己创建 菜单,输入 hexo new page xxx,然后在 主题的config_yml 的menu中按照其他的格式添加即可 。
5.4 添加搜索功能
打开博客的搜索文章的 功能
下载搜索插件:
git bash黑窗口中输入:
npm install hexo-generator-searchdb
- 主题 的 _config 配置文件中找到 local_search,下面的 enable输入true即可。
- 在根目录的 _config.yml 文件中 的末尾添加下面的内容:(选项的内容可以适当修改)
# hexo-generator-searchdb
search:path: search.xmlfield: postformat: htmllimit: 10
重新构建后,即可看到效果:
5.5 添加阅读时间字数提示
效果如图:
- git 黑窗口中输入以下命令:
npm install hexo-symbols-count-time
- 在blog的根目录的 _config中 复制下面这段话到末尾
symbols_count_time:symbols: truetime: truetotal_symbols: truetotal_time: trueexclude_codeblock: falseawl: 2 wpm: 275suffix: "mins."
- 在 主题的 config文件中找到,并且 输入 true即可,效果可以自行查看。
5.6 打赏功能
在 主题的 config中找到如下的 raward功能
- enable选择打开,comment输入文字
- 在缀主题的images文件夹中把你的付款码的图片放到 /blog /themes /next /source /images/ 中,它会按照这个路径寻找图片
可以发现 这个images文件夹里面的图片都是可以修改的,找到合适的地点,然后更改你的 图片即可换成你想要的图片了。
5.7 切换主题
在 主题的config文件夹中找到这个地方,直接注释或者取消注释即可
5.8 添加不蒜子统计
在主题的config文件中找到这个地方,直接enable输入true即可。它可以帮助我们统计网站的观看人数
5.9 添加百度统计
为hexo的next主题添加百度统计功能,
… 待更新
相关文章:
hexo部署github搭建个人博客 完整详细带图版(更新中)
文章目录0. 前置内容1. hexo创建个人博客2. GitHub创建仓库3. hexo部署到GitHub4. 常用命令newcleangenerateserverdeploy5. 添加插件5.1 主题5.2 博客基本信息5.3 创建新的菜单5.4 添加搜索功能5.5 添加阅读时间字数提示5.6 打赏功能5.7 切换主题5.8 添加不蒜子统计5.9 添加百…...
SpringBoot集成DruidDataSource实现监控 SQL 性能
一、快速入门 1.1 基本概念 我们都使用过连接池,比如C3P0、DBCP、hikari、Druid,虽然 HikariCP 的速度稍快,但 Druid 能够提供强大的监控和扩展功能。Druid DataSource 是阿里巴巴开发的号称为监控而生的数据库连接池,它不仅可以…...
maven镜像源及代理配置
在公司使用网络一般需要设置代理, 我在idea中创建springboot工程时,发现依赖下载不了,原以为只要浏览器设置代理,其他的网络访问都会走代理,经过查资料设置了以下几个地方后工程创建正常,在此记录给大家参考…...
【Java面试篇】Spring中@Transactional注解事务失效的常见场景
文章目录Transactional注解的失效场景☁️前言🍀前置知识🍁场景一:Transactional应用在非 public 修饰的方法上🍁场景二: propagation 属性设置错误🍁场景三:rollbackFor属性设置错误dz…...
【C】分配内存的函数
#include <stdlib.h>//分配所需的内存空间,并返回一个指向它的指针。 void *malloc(size_t size);//分配所需的内存空间,并返回一个指向它的指针。并且calloc负责把这块内存空间用字节0填//充,而malloc并不负责把分配的内存空间清零 vo…...
IDEA 断点总是进入class文件没有进入源文件解决
前言 idea 断点总是进入class文件没有进入源文件解决 问题 在源文件里打了断点,断点模式启动时却进入了class文件里的断点,而没有进入到java源文件里的断点。 比如:我在 A.java 里打了断点,调试时却进入到了 jar 包里的 A.clas…...
【flink】 flink入门教程demo 初识flink
文章目录通俗解释什么是flink及其应用场景flink处理流程及核心APIflink代码快速入门flink重要概念什么是flink? 刚接触这个词的同学 可能会觉得比较难懂,网上搜教程 也是一套一套的官话, 如果大家熟悉stream流,那或许会比较好理解…...
LeetCode 1487. 保证文件名唯一
【LetMeFly】1487.保证文件名唯一 力扣题目链接:https://leetcode.cn/problems/making-file-names-unique/ 给你一个长度为 n 的字符串数组 names 。你将会在文件系统中创建 n 个文件夹:在第 i 分钟,新建名为 names[i] 的文件夹。 由于两个…...
详细剖析|袋鼠云数栈前端框架Antd 3.x 升级 4.x 的踩坑之路
袋鼠云数栈从2016年发布第⼀个版本开始,就始终坚持着以技术为核⼼、安全为底线、提效为⽬标、中台为战略的思想,坚定不移地⾛国产化信创路线,不断推进产品功能迭代、技术创新、服务细化和性能升级。 在数栈过去的产品迭代中受限于当前组件的…...
【C++PrimerPlus】第三章 处理数据
文章目录前言内容目录3.1 简单变量3.1.2 变量名3.1.2 整形3.1.3 整形short,int,long,long long3.1.4 无符号类型3.1.5 选择整形类型3.1.6 整形字面值3.1.7 C如何确定常量的类型3.1.8 char类型:字符和小整数3.1.9 bool类型3.2 const修饰符3.3浮点数3.3.1 书写浮点数3…...
【基础算法】单链表的OJ练习(1) # 反转链表 # 合并两个有序链表 #
文章目录前言反转链表合并两个有序链表写在最后前言 上一章讲解了单链表 -> 传送门 <- ,后面几章就对单链表进行一些简单的题目练习,目的是为了更好的理解单链表的实现以及加深对某些函数接口的熟练度。 本章带来了两个题目。一是反转链表&#x…...
离散数学笔记(1)命题逻辑
文章目录1.命题符号化及联结词基本概念本节题型2.命题公式及分类基本概念本节题型1.命题符号化及联结词 基本概念 命题的定义:能够判断真假的陈述句称为命题。 备注:感叹句、疑问句、祈使句和类似于xy>5之类真值不唯一的句子都不是命题。 真值的真假…...
IDEA Android 网格布局(GridLayout)示例(计算器界面布局)
网格布局(GridLayout) 示例程序效果(实现类似vivo手机自带计算器UI) 真机和模拟器运行效果: 简述: GridLayout(网格布局)和TableLayout(表格布局)有类似的地方,通俗来讲可以理解为…...
【蓝桥杯嵌入式】拓展板之数码管显示
文章目录硬件电路连接方式函数实现文章福利硬件电路 通过上述原理图,可知拓展板上的数码管是一个共阴数码管,也就是说某段数码管接上高电平时,就会点亮。 上述原理图还给出一个提示,即:三个数码管分别与三个74HC59…...
Web Spider案例 网洛克 第三题 AAEncode加密 练习(七)
声明 此次案例只为学习交流使用,抓包内容、敏感网址、数据接口均已做脱敏处理,切勿用于其他非法用途; 文章目录声明一、资源推荐二、逆向目标三、抓包分析 & 下断分析逆向3.1 抓包分析3.2 下断分析逆向拿到混淆JS代码3.3 AAEncode解决方…...
【javaScript面试题】2023前端最新版javaScript模块,高频24问
🥳博 主:初映CY的前说(前端领域) 🌞个人信条:想要变成得到,中间还有做到! 🤘本文核心:博主收集的关于javaScript的面试题 目录 一、2023javaScript面试题精选 1.js的数据类型…...
Hadoop集群启动从节点没有DataNode
一、问题背景 之前启动hadoop集群的时候都没有问题,今天启动hadoop集群的时候,从节点的DataNode没有启动起来。 二、解决思路 遇见节点起不来的情况,可以去看看当前节点的日志文件 我进入当前从节点的hadoop安装目录的Logs文件下去查看日…...
FIFO IP Core
FIFO IP Core 先进先出的缓存器常常被用于数据的缓存,或者高速异步数据交互(跨时钟信号传递)和RAM和ROM的区别是没有地址线,无法指定地址 写时钟(Write Clock Domain),读时钟写复位(wr_rst),读…...
从FPGA说起的深度学习(四)
这是新的系列教程,在本教程中,我们将介绍使用 FPGA 实现深度学习的技术,深度学习是近年来人工智能领域的热门话题。在本教程中,旨在加深对深度学习和 FPGA 的理解。用 C/C 编写深度学习推理代码高级综合 (HLS) 将 C/C 代码转换为硬…...
pytorch入门7--自动求导和神经网络
深度学习网上自学学了10多天了,看了很多大神的课总是很快被劝退。终于,遇到了一位对小白友好的刘二大人,先附上链接,需要者自取:https://b23.tv/RHlDxbc。 下面是课程笔记。 一、自动求导 举例说明自动求导。 torch中的…...
QT 之wayland 事件处理分析基于qt5wayland5.14.2
1. Qt wayland 初始化 接收鼠标/案件,触摸屏等事件事件 QWaylandNativeInterface : public QPlatformNativeInterface 在QWaylandNativeInterface 继承qpa 接口类QPlatformNativeInterface; 1.1 初始化鼠标: void *QWaylandNativeInterface::nativeR…...
【this 和 super 的区别】
在 Java 中,this 和 super 都是关键字,表示当前对象和父类对象。 this 关键字可以用于以下几种情况: 引用当前对象的成员变量,方法和构造方法,用于区分局部变量和成员变量重名的情况; 调用当前类的另外一…...
K8s:Monokle Desktop 一个集Yaml资源编写、项目管理、集群管理的 K8s IDE
写在前面 Monokle Desktop 是 kubeshop 推出的一个开源的 K8s IDE相关项目还有 Monokle CLI 和 Monokle Cloud相比其他的工具,Monokle Desktop 功能较全面,涉及 k8s 管理的整个生命周期博文内容:Monokle Desktop 下载安装,项目管理…...
自动化测试实战篇(8),jmeter并发测试登录接口,模拟从100到1000个用户同时登录测试服务器压力
首先进行使用jmeter进行并发测试之前就需要搞清楚线程和进程的区别还需要理解什么是并发、高并发、并行。还需要理解高并发中的以及老生常谈的,TCP三次握手协议和TCP四次握手协议**TCP三次握手协议指:****TCP四次挥手协议:**进入Jmeter&#…...
ATTCK v12版本战术实战研究—持久化(二)
一、前言前几期文章中,我们介绍了ATT&CK中侦察、资源开发、初始访问、执行战术、持久化战术的知识。那么从前文中介绍的相关持久化子技术来开展测试,进行更深一步的分析。本文主要内容是介绍攻击者在运用持久化子技术时,在相关的资产服务…...
python函数式编程
1 callable内建函数判断一个名字是否为一个可调用函数 >>> import math >>> x 1 >>> y math.sqrt >>> callable(x) False >>> callable(y) True 2 记录函数(文档字符串) >>> def square(x): …...
3.linux下安装mysql
1.安装前的环境准备 查看是否安装过mysql 首先检测Linux操作系统中是否安装了MySQL: # rpm -qa | grep -i mysql 卸载安装包 如果有信息出现,则进行删除,命令如下: # rpm -e --nodeps 包名 删除老版本mysql的开发头文件和…...
17、MySQL分库分表,原理实战
MySQL分库分表,原理实战 1.MyCAT分布式架构入门及双主架构1.1 主从架构1.2 MyCAT安装1.3 启动和连接1.4 配置文件介绍2.MyCAT读写分离架构2.1 架构说明2.2 创建用户2.3 schema.xml2.4 连接说明2.5 读写测试2.6 当前是单节点3.MyCAT高可用读写分离架构3.1 架构说明3.3 schema.xm…...
【C++的OpenCV】第九课-OpenCV图像常用操作(六):图像形态学-阈值的概念、功能及操作(threshold()函数))
目录一、阈值(thresh)的概念二、阈值在图形学中的用途三、阈值的作用和操作3.1 在OpenCV中可以进行的阈值操作3.2 操作实例3.2.1 threshold()函数介绍3.2.2 实例3.2.3 结果上节课的内容(作者还是鼓励各位同学按照顺序进行学习哦)&…...
[Java代码审计]—MCMS
环境搭建 MCMS 5.2.4:https://gitee.com/mingSoft/MCMS/tree/5.2.4/利用 idea 打开项目 创建数据库 mcms,导入 doc/mcms-5.2.8.sql 修改 src/main/resources/application-dev.yml 中关于数据库设置参数 启动项目登录后台 http://localhost:8080/ms/l…...
网站基础功能介绍/做网站哪个公司最好
针对蒙蔽软件遮挡剔除的扩展,本文提供了一种灵活的解决方案,可以在不影响原始蒙蔽遮挡算法性能的情况下,为无法充分预分类的场景提高深度缓冲区的最终精度。该方法中的合并时间与分辨率呈线性关系,并且与场景中的几何复杂度无关。…...
枣庄手机网站建设报价/爱站网关键词查询系统
百度地图api2.4.1 在发起步行路径检索的时候 onGetWalkingRouteResult回调方法中的结果总是空的,即使直接复制api的代码也不对。坐标我是用的百度地图的拾取坐标系统获取的坐标。开始的代码double cLat112.556305;double cLon32.975724;double cLat2112.560727;doub…...
想开一个网站开发的公司/班级优化大师怎么用
免费开通大数据服务:https://www.aliyun.com/product/odps “用户每天产生的日志量大约在2TB。我们需要将这些海量的数据导入云端,然后分天、分小时的展开数据分析作业,分析结果再导入数据库和报表系统,最终展示在运营人员面前。”…...
企业做网站要注意些什么/seo关键词排名优化销售
介绍 在您完成我们的元类简介一章之后,您可能已经问过自己有关元类的可能用例。有一些有趣的用例,但它不是 - 就像有人说的 - 一个等待问题的解决方案。我们已经提到了一些例子。 在 Python 教程的这一章中,我们想详细说明一个示例元类&…...
有域名和主机怎么做网站/护肤品营销策划方案
《大学计算机基础实训教程参考答案(更新)》由会员分享,可在线阅读,更多相关《大学计算机基础实训教程参考答案(更新)(12页珍藏版)》请在人人文库网上搜索。1、第8章 计算机基础知识练习答案一、单项选择题1. A2. B3. A4. A5. A6. C7. C8. C9. D10. A11. …...
怎样做网站变手机软件/韩国vs加纳分析比分
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交…...