Gitee搭建个人博客(Beautiful Jekyll)
目录
- 一、引言
- 二、博客模板选型 - Jekyll
- 三、安装Jekyll环境
- 3.1 安装Ruby
- 3.2 安装Jekyll
- 3.3 下载Jekyll主题
- 四、搭建我的Gitee博客
- 4.1 选择主题 - Beautiful Jekyll
- 4.2 创建Gitee账号同名代码库
- 4.3 写博客
- 4.4 开通Gitee Pages服务
- 五、对Beautifu Jekyll的相关优化
一、引言
之前用Github Pages搭建过博客,但是在国内访问Github时断时续…
后续关注到国内Gitee也提供Pages功能,所以决定将之前Github上的博客搬到Gitee Pages。
本文主要记录了如何使用Jekyll及Gitee Pages搭建个人博客。
起初在Github上搭建博客时,出于简单直接拉取的其他小伙伴已经成形的博客网站,也没有深究,能用就行😓。
之前的Github个人博客:https://marqueeluo.github.io/

所以这次再迁移博客,决定选个自己喜欢的样式,故做了本篇文章做了记录。
搭建博客纯属个人兴趣,平时写技术上的东西还是在CSDN上写,只不过觉着有个自己的博客这件事很炫酷,
使用Pages这种方式可以直接借助Github或Gitee的服务器和网络,白嫖…
除了搭建博客,还可以类似搭建开源库的文档、个人简历等,
还可以在博客里集成类似在线PPT的功能,用作演示,
也可以在博客上写些自己喜欢的东西…
我最新搭建的Gitee Pages博客:https://luoex.gitee.io/

二、博客模板选型 - Jekyll
目前 Gitee Pages 支持 Jekyll、Hugo、Hexo编译静态资源。
Jekyll、Hugo、Hexo 是简单的博客形态的静态站点生产机器。它有一个模版目录,其中包含原始文本格式的文档,通过 Markdown 以及 Liquid 转化成一个完整的可发布的静态网站,你可以发布在任何你喜爱的服务器上。Jekyll、Hugo、Hexo 也可以运行在 Gitee Pages 上,也就是说,你可以使用 Gitee 的服务来搭建你的仓库页面、博客或者网站,而且是完全免费的。
Jekyll(Ruby生态)使用文档:https://www.jekyll.com.cn/docs/home/
Hugo(GO生态) 使用文档:https://gohugo.io/documentation/
Hexo(NodeJs生态) 使用文档:https://hexo.io/docs/
感兴趣的小伙伴可自行去探究。
由于之前一直使用的Jekyll,便一直沿用了,虽然Jekyll本地开发运行时需要安装Ruby开发环境,但即使不安装也可以通过直接发布到Github或Gitee Pages进行查看,还是挺方便的。直接写Markdown文件,无需关心样式,直接提交到GitHub或Gitee上就可以生成博客了,这对于一个纯后端开发人员真的挺香的。
三、安装Jekyll环境
关于Jekyll Windows的安装说明可参见:https://jekyllrb.com/docs/installation/windows/
注:
如不需本地开发运行查看效果,可直接略过此章节,
如果不安装Jekyll环境,亦可直接发布到Gitee Pages查看效果,
我基本都是直接发布到Gitee Pages实时查看的😓。
3.1 安装Ruby
下载RubyInstaller:https://rubyinstaller.org/downloads/

下载后如下图:

运行exe,选择安装目录后一直下一步即可,最后出现如下安装完成页面:

点击Finish按钮后会直接运行ridk install,弹出如下窗口,按提示输入3即可:

安装完成后如下图:
注: 期间一直提示
xxx@gmail.com Connection time out,可忽略不计

3.2 安装Jekyll
关闭之前的安装窗口,打开新的cmd窗口,运行gem install jekyll bundler:
注: 安装过程异常漫长,估计得有半个小时…

3.3 下载Jekyll主题
可通过如下Jekyll主题商店自行选取喜欢的主题库:
https://jamstackthemes.dev/ssg/jekyll/
http://jekyllthemes.org/
例如以https://github.com/piharpi/jekyll-klise.git主题安装为例:
# 下载jekyll主题(根据喜好自行选择)
git clone https://github.com/piharpi/jekyll-klise.git
cd jekyll-klise
# 配置bundle国内镜像仓库
bundle config mirror.https://rubygems.org https://gems.ruby-china.com
# 安装依赖
bundle install
# 启动本地主题
bundle exec jekyll serve
bundle install执行效果如下:

运行bundle exec jekyll serve,报如下错误:

4000端口被占用,切换运行端口4001,运行bundle exec jekyll serve --port 4001:

切换端口后启动成功,访问主题库github/jekyll-klise效果如下:

访问主题库github/jekyll-theme-yat效果如下:

四、搭建我的Gitee博客
4.1 选择主题 - Beautiful Jekyll
这次我相中了github/beautiful-jekyll这个主题,
该主题的在线预览地址:https://beautifuljekyll.com/,
注: 更多Jekyll主题可通过如下地址自行发现:
https://jamstackthemes.dev/ssg/jekyll/
http://jekyllthemes.org/

4.2 创建Gitee账号同名代码库
首先在Gitee上创建和Gitee用户名同名的仓库,如我的Gitee主页:https://gitee.com/luoex 即对应luoex仓库,且该仓库需要被开源公开访问(Gitee要求),且在发布Gitee Pages服务前需要先在Gitee进行实名认证(需等待2~3天方可审核完成),后续开通Gitee Pages服务后即可直接通过 https://luoex.gitee.io 进行访问:
注:
Gitee目前支持同一账号下多个代码库皆开通Gitee Pages服务,
如果代码库名和Gitee用户名不相同,可通过 https://用户名.gitee.io/代码库名 进行访问。
我的Gitee账号同名代码库如下:

4.3 写博客
将之前选中的主题库代码github/beautiful-jekyll提交到之前新建的luoex代码库,
然后即可参照_posts目录下的md文件写自己的博客了:

如果喜欢我的博客主题,可直接拉取我的代码库:https://gitee.com/luoex/luoex.git
然后对_config.yml进行调整即可:

4.4 开通Gitee Pages服务
本地代码都提交到Gitee后,即可在对应的代码库上开通Gitee Pages服务:

如上启用Gitee Pages服务后,选择部署分支,点击更新即可将自己的博客代码库发布到Gitee Pages上,
待部署完成后即可根据提示地址访问自己的博客了:https://luoex.gitee.io
后续可不断提交新的博客到Gitee上,点击更新即可将最新的博客都发布到Gitee Pages上了。
五、对Beautifu Jekyll的相关优化
虽然博客部署完成后可以被成功访问,但是速度还是有点慢,忍不了😱
遂查看了浏览器控制台,发现问题所在,该主题引用了好多国外地址的JS、CSS、Font,
故将国外地址的JS、CSS、Font皆下载到本地,提交到代码库中,将国外地址的资源都替换为本地相对URL的资源:
- 替换外部JS、CSS、字体等(国内访问提速)
- 升级font awesome 6.3.0(支持字母C、G图标)
如此访问速度提高了。
然后又做了一些中文适配,URL适配(导航支持绝对路径URL),
附带集成了我想要的在线PPT模版(revealjs),
具体PPT演示可参见:https://luoex.gitee.io/2021-04-25-ppt-cat-heartbeat/

在Beautiful Jekyll中是支持切换 黑/白 2种皮肤的(博客右上角有切换按钮),但是这个功能是收费的:


但是我又挺喜欢这个功能😰,无意中在请求Beautiful Jekyll官方Demo(支持切换皮肤)时发现了如下2个资源:

我给下载下来,搞到我自己的代码库里,又扒了点html代码到nav.html中,然后切换皮肤的功能就有了😂。

至此我的博客算搭建完成了,达到了自己满意的效果,感兴趣的小伙伴可自行搞起来,也希望我的折腾过程对大家有所帮助。要是喜欢我的博客可直接克隆代码库https://gitee.com/luoex/luoex,也省着再去优化了。
参考:
Gitee Pages:
https://gitee.com/help/articles/4136
Ruby安装:
国内RubyGems镜像.html
Jekyll相关文档:
https://jekyllrb.com/
Jekyll主题商店:
https://jamstackthemes.dev/ssg/jekyll/
http://jekyllthemes.org/
简历 - 主题:
https://jamstackthemes.dev/theme/jekyll-online-cv/
https://jamstackthemes.dev/theme/jekyll-particle/
https://jamstackthemes.dev/theme/jekyll-resumecard/
个人博客 - 主题:
https://jamstackthemes.dev/demo/theme/devlopr/
https://jamstackthemes.dev/theme/jekyll-klise/
https://jamstackthemes.dev/theme/jekyll-moonwalk/
https://jamstackthemes.dev/theme/jekyll-theme-yat/
https://jamstackthemes.dev/theme/jekyll-wall-e-theme/
https://jamstackthemes.dev/theme/jekyll-theme-prologue/
https://jamstackthemes.dev/theme/end2end/
https://jamstackthemes.dev/theme/jekyll-theme-serial-programmer/
项目文档 - 主题:
https://jamstackthemes.dev/theme/jekyll-libdoc/
https://jamstackthemes.dev/theme/jekyll-aviator/
http://jekyllthemes.org/themes/jekyll-rtd-theme/
Github搭建博客:
https://www.jianshu.com/p/4f56cf990bba
https://zhuanlan.zhihu.com/p/28321740
知乎 - 怎样做一个漂亮的 GitHub Pages 首页?
相关文章:
Gitee搭建个人博客(Beautiful Jekyll)
目录一、引言二、博客模板选型 - Jekyll三、安装Jekyll环境3.1 安装Ruby3.2 安装Jekyll3.3 下载Jekyll主题四、搭建我的Gitee博客4.1 选择主题 - Beautiful Jekyll4.2 创建Gitee账号同名代码库4.3 写博客4.4 开通Gitee Pages服务五、对Beautifu Jekyll的相关优化一、引言 之前…...
图形视图框架 事件处理(item)
在图形界面框架中的事件都是先由视图进行接收,然后传递给场景,再由场景传递给图形项。通过键盘处理的话,需要设置焦点,在QGraphicsScene中使用setFoucesItem()函数可以设置焦点,或者图形项使用s…...
PTA第六章作业详解
🚀write in front🚀 📝个人主页:认真写博客的夏目浅石. 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:夏目的作业 💬总结:希望你看完之后&am…...
Java课程设计项目--音乐视频网站系统
一、功能介绍 随着社会的快速发展,计算机的影响是全面且深入的。人们生活水平的不断提高,日常生活中人们对音乐方面的要求也在不断提高,听歌的人数更是不断增加,使得音乐网站的设计的开发成为必需而且紧迫的事情。音乐网站的设计主…...
FPGA可以转IC设计吗?需要学习哪些技能?
曾经在知乎上看到一个回答“入职做FPGA,后续是否还可以转数字IC设计?” 从下面图内薪资就可以对比出来,对比FPGA的行业薪资水平,IC行业中的一些基础性岗位薪资比很多FPGA大多数岗位薪资都要高。 除了薪资之外更多FPGA转IC设计的有…...
初探Gradle
目录一.概述二.优点三.安装与配置1. 官网下载2. 配置环境变量3. 检验4. 配置国内镜像(可选)5. IDEA配置三.工程结构四.生命周期1.Initialization阶段2.Configuration阶段3.Execution阶段五.Task六.常用任务指令七.引入依赖1.本地依赖2.项目依赖3.直接依赖八.依赖类型九.插件十.…...
国产数据库介绍
人大金仓 Kingbase 北京人大金仓信息技术股份有限公司于1999年由中共人民大学专家创立,自成立以来,始终立足自主研发,专注数据管理领域,先后承担了国家“863”、“核高基”等重大专项,研发出了具有国际先进水平的大型…...
Java OpenJudge-test3
目录 1:明明的随机数 2:合影效果 3:不重复的单词 4:和为给定数 5:字符串数组排序问题 6:字符串排序 7:求序列中的众数 1:明明的随机数 总时间限制: 1000ms 内存限制: 65536kB 描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性ÿ…...
蓝桥杯刷题冲刺 | 倒计时22天
作者:指针不指南吗 专栏:蓝桥杯倒计时冲刺 🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾 文章目录1.选数异或2.特殊年份1.选数异或 题目 链接: 选数异或 - 蓝桥云课 (lanqiao.cn) 给定…...
入行 5年,跳槽 3次,我终于摸透了软件测试这行(来自过来人的忠告)
目录 前言 第一年 第二年 第三年 第四年 作为过来人的一些忠告 前言 最近几年行业在如火如荼的发展壮大,以及其他传统公司都需要大批量的软件测试人员,但是20年的疫情导致大规模裁员,让人觉得行业寒冬已来,软件测试人员的职…...
开源时序数据库学习
计划学习使用QuestDB解决大数据日志存储场景。以下是常见引擎比较 比较项目 InfluxDB TimescaleDB OpenTSDB QuestDB 数据模型 Key-Value Relational Key-Value Relational 存储引擎 自主开发的TSI PostgreSQL扩展程序 Apache HBase 自主开发 查询语言 InfluxQ…...
字节测试工程师悄悄告诉我的软件测试、测试开发常用的测试策略与测试手段
目录 前言 测试策略的关注重点 测试策略主要内容 总体测试策略 初级版本测试策略 跟踪测试执行 版本质量评估 后续版本测试策略 发布质量评估 测试手段 前言 测试策略是指在特定环境约束之下,描述软件开发周期中关于测试原则、方法、方式的纲要ÿ…...
我常用的shell 进制转换工具
一、进制的一些基础知识 1. 二进制(binary) 二进制的取值是0和1; 前缀是 0b 2. 八进制(Octal) 八进制的取值是0-7;前缀是 O 3. 十进制(decimal) 十进制的取值是0-9;没有前缀 …...
手写vue(二)响应式实现
名词解释:vm:指Vue实例一、目标效果vue定义(1)新建vm时,可以通过一个data对象,或者data函数,其属性可以通过vm直接访问,而data对象可以通过vm._data获取(2)修…...
mysql数据库常问面试题
1、NOW()和CURRENT_DATE()有什么区别? NOW()命令用于显示当前年份,月份,日期,小时,分钟和秒。 CURRENT_DATE()仅显示当前年份,月份和日期。 2、CHAR和VARCHAR的区别? (1)…...
AI风暴 :文心一言 VS GPT-4
💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 文心一言 VS GPT-4 文心一言:知识增强大语言模型百度全新一代知识增强大语言模型,文心大模型家族的新成员,能够与人对话互动&#…...
VR全景城市,用720全景树立城市形象,打造3D可视化智慧城市
随着城市化进程的加速,城市之间的竞争也日益激烈。城市管理者们需要寻求新的方式来提升城市的品牌形象和吸引力。在这个过程中,VR全景营销为城市提供了一种全新的营销手段,可以帮助提升城市的价值和吸引力。一、城市宣传新方式VR全景营销是一…...
javaweb窗口服务人员分析评价系统ssh
A)后台管理员模块:通过该功能模块,管理员可以修改自己的密码,并对管理员进行添加和删除操作。 B)注册用户模块:通过该功能模块,管理员可以查看注册用户的基本信息,对存在问题的用户进…...
树莓派Pico W无线开发板UDP协议MicroPython网络编程实践
树莓派Pico W无线开发板(简称Pico W)是树莓派基金会于2022年6月底推出的搭载无线通信芯片的树莓派Pico开发板。本文在介绍树莓派Pico W无线开发板接口信号和TCP/IP和UDP通信协议基础上,给出Pico W无线开发板的UDP协议MicroPython网络编程实例…...
跨域解决方案
跨域解决方案 1.跨域基本介绍 文档:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS 跨域问题是什么? 一句话:跨域指的是浏览器不能执行其他网站的脚本,它是由浏览器的同源策略造成的,是浏览器对 javascr…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
