草庐IT

Gitee搭建个人博客(Beautiful Jekyll)

罗小爬EX 2023-08-27 原文

目录

一、引言

之前用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)的更多相关文章

  1. jenkins部署1--jenkins+gitee持续集成 - 2

    前置步骤我们都操作完了,这篇开始介绍jenkins的集成。话不多说,看操作1、登录进入jenkins后会让你选择安装插件,选择第一个默认的就行。安装完成后设置账号密码,重新登录。2、配置JDK和Git都需要执行路径,所以需要先把执行路径找到,先进入服务器的docker容器,2.1JDK的路径root@69eef9ee86cf:/usr/bin#echo$JAVA_HOME/usr/local/openjdk-82.2Git的路径root@69eef9ee86cf:/#whichgit/usr/bin/git3、先配置JDK和Git。点击:ManageJenkins>>GlobalToolCon

  2. ruby - 在 Middleman 中移动博客文章位置 - 2

    我正在为我的网站使用MiddlemanBloggem,但默认情况下,博客文章似乎需要位于/source中,这在查看vim中的树时并不是特别好并尝试在其中找到其他文件之一(例如模板)。通过查看文档,我看不出是否有任何方法可以移动博客文章,以便将它们存储在其他地方,例如blog_articles文件夹或类似文件夹。这可能吗? 最佳答案 将以下内容放入您的config.rb文件中。activate:blogdo|blog|blog.permalink=":year-:month-:day-:title.html"blog.sources=

  3. ruby-on-rails - 博客条目和评论的倒序显示,Ruby on Rails - 2

    我是Rails的新手,所以在这里需要一些帮助。我已经按照几个教程创建了一个带有评论甚至一些AJAX花哨功能的博客,我被困在一些我希望很容易的事情上。博客和评论的默认显示是先列出最早的。我如何反转它以在顶部显示最新条目和最新评论。真的不知道这是Controller还是模型的功能。我已经做了一些定制,所以如果有帮助的话,这里是Controller.rb文件的代码。评论ControllerclassCommentsController帖子管理员classPostsController[:index,:show]#GET/posts#GET/posts.xmldefindex@posts=Po

  4. ruby-on-rails - 向帖子添加类别的最佳方式是什么 - Ruby on Rails 博客 - 2

    我是Ruby和Rails的新手,请多多包涵。我创建了一个非常简单的博客应用程序,其中包含帖子和评论。一切都很好。我的下一个问题是关于添加类别。我想知道最好的方法来做到这一点。由于我还没有看到太多关于Rails的东西,所以我想我会问的。明确地说,我希望一个帖子可以有多个类别,一个类别可以有多个帖子。最好的方法是创建一个“类别”表,然后使用帖子和类别模型来执行has_many:posts、has_many:categories吗?然后我还会设置routes.rb以便帖子嵌入类别下吗?或者有没有更简单的方法,只需在现有的帖子表中添加一个类别列?(在这种情况下,我想拥有多个类别会很困难)。

  5. LinuxGUI自动化测试框架搭建(二十二)-框架主入口main.py设计&log日志调用 - 2

    (二十二)-框架主入口main.py设计&log日志调用和生成1测试目的2测试需求3需求分析4详细设计4.1新建存放日志目录log4.1.1配置config.py中写入log的目录4.2`baseInfo.py`中加入日志4.3`test_gedit.py`中加入日志4.4主函数入口main.py中调用日志5调用日志主函数main.py源码6`baseInfo.py`源码7`test_gedit.py`源码8运行效果9目前框架结构1测试目的组织运行所有的测试用例,并调用日志模块,便于问题定位。

  6. 基于ActiveMQ搭建MQTT服务备忘(二):webapp集成 - 2

    (1)为什么写这个话题(Why)读万卷书不如行千里路。这次搭建MQTT服务,遇到了一些误解,特此记录备忘。主要包括:(1)服务(Broker)的账户管理与网页管理平台的账户(2)与web应用的集成(Spring系)(2)ActiveMQ版本选择因为JAVA环境是JDK8,所以按兼容性考虑选择了ActiveMQ5.15的最后版本5.15.15。如果你是JDK11则可考虑ActiveMQ的最新版本5.17或5.18。ActiveMQ支持MQTTv3.1.1andv3.1。(3)ActiveMQ与web应用的集成主要介绍与Spring系的webapp集成(SpringBoot和SpringMVC)。

  7. 【微服务笔记23】使用Spring Cloud微服务组件从0到1搭建一个微服务工程 - 2

    这篇文章,主要介绍如何使用SpringCloud微服务组件从0到1搭建一个微服务工程。目录一、从0到1搭建微服务工程1.1、基础环境说明(1)使用组件(2)微服务依赖1.2、搭建注册中心(1)引入依赖(2)配置文件(3)启动类1.3、搭建配置中心(1)引入依赖(2)配置文件(3)启动类1.4、搭建API网关(1)引入依赖(2)配置文件(3)启动类1.5、搭建服务提供者(1)引入依赖(2)配置文件(3)启动类1.6、搭建服务消费者(1)引入依赖(2)配置文件(3)启动类1.7、运行测试一、从0到1搭建微服务工程1.1、基础环境说明(1)使用组件这里主要是使用的SpringCloudNetflix

  8. 建立个人网站的 Ruby 工具 - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion我正在努力寻找一套好的工具来实现我的个人网站。必须具备:网站或其生成器必须基于Ruby必须易于部署和维护拥有的美好:它应该在排版上干净漂亮它应该具有html5/css3功能我正在考虑直接使用Rails3,但它似乎有点过分了。编辑内容将是作品集和博客的混合体。你们ruby在用什么?效果好吗?

  9. ruby-on-rails - 基于 Ruby 的博客引擎 - 2

    存在哪些支持Rack的博客引擎?我想将一个免费博客部署到heroku并且需要比Wordpress.com或Blogerty提供的免费托管更多的可定制性。另外在另一篇文章中,有没有人尝试将Wordpress移植到Ruby? 最佳答案 以任何特殊顺序:==基于Racktotoruby-slippers基于toto==基于JekyllJekyllitselfOctopress在jekyll中写博客spinto杰基尔cmsprose杰基尔cms==基于Railstypo最古老的活跃之一,具有更多功能但更复杂enki对于黑客,基本代码simp

  10. ruby-on-rails - 在 Rails 上创建博客 ruby​​ - 删除评论的问题 - 2

    因为我总是打字,所以我对Rails和一般编程都不熟悉,所以请放轻松。提前致谢。我已经成功地遵循了RyanBates在howtobuildaweblogin15minutes上的初始教程。.如果您不知道,本教程将带您完成创建帖子和允许对这些帖子发表评论的过程。它甚至通过在帖子show.html.erb页面上创建和显示评论来引入AJAX。一切都很好。问题来了,当Ryan带您完成本教程时,他清除了comments_controller并且只显示了用于创建评论的代码。我正在尝试重新添加编辑和销毁评论的功能。似乎无法正常工作,一直在删除实际的帖子而不是评论(日志显示我一直在向PostsContr

随机推荐