基于Hexo+GITHUB搭建个人博客网站(PS:不用域名,不用服务器,重点是免费,小白也能轻松掌握)

 ✌ 作者名字:高峰君主
📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
💬 人生格言:没有我不会的语言,没有你过不去的坎儿。💬
🔥 如果感觉博主的文章还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主哦

📌作者主页传送门:点此传送

🔎如果安装执行过程有疑问,请在评论区留言,24小时内答复

我先简单介绍一下利用 GitHub + Hexo 搭建的原理。

GitHub 是有名的代码托管网站,而它提供了一项服务 GitHub Pages,这个 GitHub Pages 可以将我们托管在 GitHub 上的一个仓库中的 html、css js 代码渲染成静态页面。当然,这个仓库是特殊的,所以每一个 GitHub 账户只能够育一个这样的仓库。将相应的博客内容上传到 GitHub 上之后,我们就可以通过 https://username.github.io 来访问自己的博客,这里的 username 要换成自己的用户名。比如,我的用户名是 gfjz,那么就可以通过 https://gfjz.github.io 来访问我的博客。

Hexo 是使用 node.js 开发的一个快速、简洁、高效的静态博客生成器。Hexo 使用 Markdown 语法解析文章,然后渲染成相应的网页,然后我们将渲染好的网页代码上传到 GitHub 上就可以了。简单来讲,利用 Hexo,我们只需要使用 Markdown 语法写文章,剩下的事情全部交给 Hexo 去做,我们就可以看到想要的博客效果了

准备工作

注意,下面的所有的操作有可能在访问网站时速度极慢或者直接被墙,进不去网站,稍等几分钟后,重新尝试,就能进网站了。并且,如果电脑中某一个条件已经满足,那么,直接跳过该步骤即可。

注册一个 GitHub 账号

前往 GitHub 官网,进行新用户注册。

不会的可以参考这篇文章:注册Github账号详细教程【超详细篇 适合新手入门】_github注册-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_67906358/article/details/128808210

注意点击链接的时候记得右键选择在新标签页中打开,以免把这篇教程覆盖掉就找不着了

注册完之后要记住注册的用户名和邮箱,后面会用到。

安装 node.js

进入 Node 官网 下载相应版本,

然后安装的时候建议直接全部点击下一步(如果 C 盘不吃紧的话),然后勾选所有组件,并勾选 Add to Path 将其添加到系统环境变量。

安装 Node.js 会包含环境变量以及 npm 的安装,安装后,可以在命令行输入如下命令检测 Node.js 是否安装成功:

第一个命令:

node -v

CMD

这个命令,在 nodejs 安装成功的情况下会显示 nodejs 的版本号。

第二个命令:

npm -v

CMD

这个命令,在 nodejs 安装成功的情况下会显示 npm 的版本号。

安装 Git for Windows

安装

到 Git 官网 下载最新版本,所有安装步骤建议直接下一步。

不会安装的具体可参考这篇文章:Git 详细安装教程(详解 Git 安装过程的每一个步骤)_git安装-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/mukes/article/details/115693833?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171928959816800180641995%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171928959816800180641995&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-2-115693833-null-null.142^v100^pc_search_result_base6&utm_term=%E5%AE%89%E8%A3%85git&spm=1018.2226.3001.4187

注意点击链接的时候记得右键选择在新标签页中打开,以免把这篇教程覆盖掉就找不着了

然后打开安装好的 Git Bash,这里可以直接鼠标右键唤出菜单:

然后点击 Git Bash Here,

设置用户名和邮箱

因为 Git 是分布式版本控制系统,所以需要设置用户名和邮箱作为一个标识,在命令行输入如下:

$ git config --global user.name "user_name" # user_name 填入 GitHub 用户名
$ git config --global user.email "user_email" # user_email 填入 GitHub 注册的邮箱

这里还有一个额外步骤,建议执行,就是给 Git 设置代理,详情参考这篇博客:Git 命令行使用代理icon-default.png?t=N7T8https://fanlumaster.github.io/2021/03/23/Git-%E5%91%BD%E4%BB%A4%E8%A1%8C%E4%BD%BF%E7%94%A8%E4%BB%A3%E7%90%86-VPN/

 注意点击链接的时候记得右键选择在新标签页中打开,以免把这篇教程覆盖掉就找不着了

安装 VSCode

VSCode 是一个非常好用的文本编辑器,之后编辑博客的相关配置文件以及后面的写博客都需要用到这个编辑器。

安装过程很简单,直接进入 VSCode 官网,然后安装的时候建议所有步骤都直接点下一步。

实在不会安装的参考这篇博客:

VSCode安装配置使用教程(最新版超详细保姆级含插件)一文就够了_vscode使用教程-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/msdcp/article/details/127033151 注意点击链接的时候记得右键选择在新标签页中打开,以免把这篇教程覆盖掉就找不着了 

搭建 GitHub 博客

新建仓库

登录 GitHub 账号,新建一个名为 username.github.io(这里的 username 要替换成自己的实际的用户名) 的仓库,如下图

配置 SSH key

打开 Git Bash,输入命令:

$ ssh-keygen -t rsa -C "user.email" # user.email 为GitHub 上注册的邮箱

然后直接三个回车即可,默认不需要设置密码。查看是否已经有 ssh 密钥。打开用户主目录 C:\Users\username\.ssh,.ssh文件夹一定存放在C:,至于后面的路径不一定每台电脑都相同。

如果这个默认路径没有则可参考这篇文章:windows 如何生成公钥和私钥_windows获取域名私钥-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_44723129/article/details/118758308?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171928995816800197073841%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=171928995816800197073841&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-5-118758308-null-null.142^v100^pc_search_result_base6&utm_term=windows%E7%A7%81%E9%92%A5%E8%8E%B7%E5%8F%96&spm=1018.2226.3001.4187

找到.ssh文件夹,打开如下:

然后找到生成的 .ssh 的文件夹中的 id_rsa.pub 密钥,将内容全部复制。其中 id_rsa 是私钥不能泄露,id_rsa.pub 是公钥可以放心告诉他人。

打开 GitHub SSH and GPG keys 页面,新建一个 ssh key:

Title 为标题,任意填即可,将刚刚复制的 id_rsa.pub 内容粘贴进去,最后点击 Add SSH key。在 Git Bash 中检测 GitHub 公钥设置是否成功,输入如下命令:

$ ssh -T git@github.com

验证是否连接成功,连接成功的话,显示如下:

使用 Hexo 博客框架

Hexo 官方文档:Documentation | Hexo

Hexo 简介

Hexo 是什么

Hexo 是一个简单、快速、强大的基于 Github Pages 的博客框架,支持 Markdown 格式,有众多优秀插件和主题。

Hexo 原理

由于 Github Pages 存放的都是静态文件,博客存放的不只是文章内容,还有文章列表、分类、标签、翻页等动态内容,假如每次写完一篇文章都要手动更新博文目录和相关链接信息,相信谁都会疯掉,所以 Hexo 所做的就是将这些 md 文件都放在本地,每次写完文章后调用写好的命令来批量完成相关页面的生成,然后再将有改动的页面提交到 GitHub 。

❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗注意了,Hexo框架 对缩进及编译格式要求极为严格,稍有差错就会报错导致无法启动,建议执行一步需要记录下来或者是完成一部分的搭建就备份一次,不然可能导致需要重头再搭资料丢失的情况哦❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗❗

安装与初始化

在 Git Bash 中输入以下命令:

$ npm install -g hexo-cli # 此命令完成对 hexo 的安装

安装完成后,在电脑的某个地方新建一个文件夹(名字可以随便取)专门用于存放博客代码,比如我的是 D:\Blogs,由于这个文件夹将来存放博客的所有内容和素材,以及所有的博客操作都会在其中完成,所以最好不要随便放。

进入新建的博客目录,输入如下命令:

$ hexo init # 该命令完成 hexo 在本地博客目录的初始化

生成静态文件

在 Git Bash 中输入以下命令:

$ hexo g # 生成静态文件

执行以上命令后,Hexo 就会在 public 文件夹中生成相关的 html 文件,这些文件将来都是要提交到 GitHub 上的 username.github.io 的仓库中去的。

本地预览

在 Git Bash 输入以下命令:

$ hexo s # 开启本地预览

hexo s 是开启本地预览服务,打开浏览器访问 http://localhost:4000 即可看到内容,Ctrl+C 停止本地预览。本地预览可以实时查看博客的编辑情况,待博客写完后一起部署到 GitHub 上。

第一次初始化的时候 hexo 已经帮我们写了一篇名为 Hello World 的文章,默认的主题比较丑。

上传到 GitHub

配置站点配置文件

hexo 有 2 种 _config.yml 文件,一个是根目录下的全局的 _config.yml,一个是各个主体 theme 下的 _config.yml。将前者称为站点配置文件, 后者称为主题配置文件。

打开根目录下站点配置文件 _config.yml,配置有关 deploy 的部分:

# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:type: gitrepo: git@github.com:fanlumaster/fanyfull.github.io.gitbranch: master

安装插件

在 Git Bash 中输入以下命令:

$ npm install hexo-deployer-git --save # 安装部署插件

如果不进行上述操作,直接使用 hexo d 部署到 GitHub,将会报错。

部署到 GitHub

在 Git Bash 中输入以下命令:

$ hexo d

部署成功后,打开对应的网址 https://www.username.github.io,如果出现了和本地预览一样的效果,那么,表明部署成功。

一些问题及优化

LF will be replaced by CRLF

如果这里出现了下面这样的情况:

warning: LF will be replaced by CRLF in

直接执行:

git config --global core.safecrlf false

参考:stackoverflow

到这里,基本的博客就搭建完成了。下一篇博客介绍更换主题以及主题的相关配置。

将 fluid 主题的滚动条设置为无圆角

在 source/css/custom.css 中添加如下样式代码:

/* 将进度条的圆角去掉 */
::-webkit-scrollbar-thumb {border-radius: 0;
}

CSS

Github 仓库的 README.md 被渲染成了 README.html

这个我们知道是不应该被渲染的。这里的话,hexo 也提供了一个选项,那就是在根目录下的 _config.yaml 中加上这样一个配置,

skip_render: README.md

这样 hexo 在渲染时就会跳过这个 README 的 md 文件,然后我们在 hexo d 之后就可以直接在仓库的首页看到这个 README 了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/860239.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TMGM外汇:新兴市场的崛起,未来的经济引擎吗?

随着全球经济版图的不断变化,新兴市场逐渐成为国际投资的热点。从亚地区的中国和印度,到拉丁美洲的巴西和墨西哥,再到非洲的尼日利亚和南非,新兴市场的经济活力和潜力引起了全世界的关注。这些市场不仅人口众多,而且在…

win11 修改用户名

step1: 打开设置 step2: 如下图,点击“重命名”修改即可; 看似简单的问题,但若直接搜索查找,很难找到简单的操作,苦笑。。。

超炫酷, 不用学前端也能自己做网页!这个Python库,3分钟内复刻GPT WEB应用

大家好,我是海鸽。 今天,我要和大家分享如何将请求 GPT 的案例,快速“复刻”成 GPT 网页版。这不仅简单,而且对于我们这些后端开发者来说,简直是福音! 先睹为快 看看这个界面,是不是感觉很熟…

php,python AES/CBC/PKCS7Padding加密解密 base64/hex编码

1. python版本 import base64 from Crypto.Cipher import AES from Crypto.Util.Padding import pad, unpadclass AESUtilCBC:def __init__(self, key, iv):self.key key.encode(utf-8)self.iv iv.encode(utf-8)self.pad_length AES.block_sizedef encrypt(self, data):try…

flutter是app跨平台最优解吗?

哈喽,我是老刘 最近在知乎上看到这样一个问题 我们先来解释一下问题中碰到的几个现象的可能原因,然后聊聊跨平台的最优解问题 问题解释 1、跟手、丝滑问题 这个问题其实很多人是有误解的,觉得原生的就丝滑跟手 其实不是这样的 我在做Flut…

『 Linux 』 进程间通信 - 匿名管道 (万字)

文章目录 什么是管道匿名管道的直接原理pipe( )系统调用接口匿名管道代码示例匿名管道的特征总结 什么是管道 管道(Pipe) 是一种基本的进程间通信(IPC)机制,允许一个进程与另一个进程之间进行数据传输; 管道工作方式类似于生活中的水管因此命名为管道,数据从一端流入另一段流出…

NSSCTF-Web题目16

目录 [GDOUCTF 2023]受不了一点 1、题目 2、知识点 3、思路 [UUCTF 2022 新生赛]ez_upload 1、题目 2、知识点 3、思路 [GDOUCTF 2023]受不了一点 1、题目 2、知识点 php代码审计、数组绕过、弱比较绕过 3、思路 打开题目,出现代码,我们进行代…

【STM32】江科大STM32学习笔记汇总(已完结)

00. 目录 文章目录 00. 目录01. STM32学习笔记汇总02. 相关资料下载03. 打赏04. 附录 01. STM32学习笔记汇总 【STM32】STM32学习笔记-课程简介(01) 【STM32】STM32学习笔记-STM32简介(02) 【STM32】STM32学习笔记-软件安装(03) 【STM32】STM32学习笔记-新建工程(04) 【ST…

VUE div的右上角的角标/标签

一、效果图 二、代码 <div class"comp-overview"><div class"overview-item" v-for"(item,index) in overviewInfoList" :key"index"><div class"angle_mark"><span>{{item.label}}</span>&…

2024上海初中生古诗文大会倒计时4个月:单选题真题示例和独家解析

现在距离2024年初中生古诗文大会还有4个多月时间&#xff0c;我们继续来看10道选择题真题和详细解析&#xff0c;以下题目截取自我独家制作的在线真题集&#xff0c;都是来自于历届真题&#xff0c;去重、合并后&#xff0c;每道题都有参考答案和解析。 为帮助孩子自测和练习&…

Qt 信号与槽的使用详解 - 多种绑定形式、同步异步、Lambda表达式等

Qt 信号与槽的使用详解 - 多种绑定形式、同步异步、Lambda表达式等 引言一、信号与槽常见的绑定形式二、信号与槽的连接方式 - 同步异步 引言 在Qt框架中&#xff0c;信号与槽&#xff08;Signals and Slots&#xff09;机制是一种强大的通信方式&#xff0c;它允许对象之间进…

Linux常用命令、基本配置、shell基本语法整合

Linux常用命令的使用 Linux文件系统 和 Windows文件系统目录&#xff1a; Windows是分C盘、D盘、E盘…的&#xff0c;但是在Linux中是有一个最大的目录&#xff0c;称之为根目录&#xff0c;用 / 表示&#xff0c;根目录下面会有很多子目录&#xff0c;这些子目录其实可以理解…

百度comate 专业版免费试用90天

我发现一个编码效率提升好帮手——Baidu Comate&#xff0c;结合文心大模型和百度编程大数据&#xff0c;为你生成优质编程代码。现在通过我的链接注册&#xff0c;立得90天专业版体验卡&#xff0c;来吧&#xff0c;让我们一起释放“十倍”软件生产力&#xff01; https://com…

如何利用自助式商业智能(BI)打破组织中的数据孤岛?

前言 许多组织都存在数据问题。当许多员工远程工作&#xff08;或在混合环境中&#xff09;并在多个位置使用多个设备访问公司数据时&#xff0c;他们正在处理信息过载问题。这只会加剧数据孤岛的问题。 数据孤岛正是它听起来的样子&#xff1a;孤立在一个孤立的用户/环境中的…

[深度学习]循环神经网络RNN

RNN&#xff08;Recurrent Neural Network&#xff0c;即循环神经网络&#xff09;是一类用于处理序列数据的神经网络&#xff0c;广泛应用于自然语言处理&#xff08;NLP&#xff09;、时间序列预测、语音识别等领域。与传统的前馈神经网络不同&#xff0c;RNN具有循环结构&am…

【详述】BP神经网络建模流程一步一步详述

本文来自《老饼讲解-BP神经网络》https://www.bbbdata.com/ 目录 一、BP神经网络的建模流程二、BP神经网络的建模分步讲解2.1.数据归一化2.2.数据划分2.3.网络结构设置2.4.网络训练2.5.训练效果评估 本文梳理BP神经网络的建模流程&#xff0c;供大家建模时进行借鉴。 一、BP神经…

SPECweb2009调优指南

【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力&#xff0c;聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域&#xff0c;包含了应用使能套件、软件仓库、软件支持、软件适…

计算机网络-BGP路由负载分担

在大型网络中&#xff0c;到达同一目的地通常会存在多条有效BGP路由&#xff0c;设备只会优选一条最优的BGP路由&#xff0c;将该路由加载到路由表中使用&#xff0c;这一特点往往会造成很多流量负载不均衡的情况。 通过配置BGP负载分担&#xff0c;可以使得设备同时将多条等代…

spring boot整合WebSocket实现群聊功能 通俗易懂教程

首先获取消息的内容&#xff0c;即payload。将payload转换为JSONObject对象&#xff0c;并从中获取消息类型type。如果消息类型是"join"&#xff0c;则从消息中获取群组ID&#xff0c;并将当前WebSocketSession的ID加入到该群组对应的Set中。如果消息类型是"lea…

Python爬取中国福彩网彩票数据并以图表形式显示

网页分析 首先打开中国福彩网&#xff0c;点击双色球&#xff0c;选择往期开奖栏目 进入栏目后&#xff0c;选定往期的奖金数目作为我们想要爬取的目标内容 明确目标后&#xff0c;开始寻找数据所在的位置 鼠标右击页面&#xff0c;打开网页源代码&#xff0c;在源代码中搜索…