总结&反思

less than 1 minute read

一、关于博客の主题

首先解释下什么是 Jekyll,它是一个 Ruby 编写的、快速、简洁且高效的静态网站生成引擎,它使用一个模板目录作为网站布局的基础框架,支持 Markdown、Textile 等标记语言的解析,提供了模板、变量、插件等功能,最终生成一个完整的静态 Web 站点。我们可以在 GitHub Pages 上直接使用 Jekyll 来搭建博客,而且 Jekyll 可以选择许多现成模板,真是又好看又方便呢!!!

而关于博客的内容,是我一开始就想好了的。作为一位 cp 中度杂食爱好者,再加上这次的作业要求比较自由,于是我选择在博客上放置自己爱好圈里的几篇文章!!我的 Jekyll 模板选择的是 Adam Blog,点击 Homepage 可以链接到该 blog 的 Github 页面,点击 download 可以下载该博客源码,点击 demo 可以预览该博客效果。如下所示:

img

二、关于博客の功能实现

Jekyll 目录结构主要包含如下目录:

_posts 博客内容
_pages 其他需要生成的网页,如 About 页
_layouts 网页排版模板
_includes 被模板包含的 HTML 片段,可在 _config.yml 中修改位置
assets 辅助资源 css 布局 js 脚本 图片等
_data 动态数据
_sites 最终生成的静态网页
_config.yml 网站的一些配置信息
index.html 网站的入口

我的博客包含:首页 (列表预览&搜索功能),内容详情 (Posts&订阅&评论区)、文章标签 (Tags)、关于我 (About),同时在侧边栏可以进行模板颜色的更换(明暗两种形式)。

三、遇到的问题&解决方法

(一)Jekyll Theme 的选择问题

其实一开始我想选的模板是伪 Lofter 的如下模板:

img

但是我导入到自己的 github 之后这个模板莫名其妙地拉伸了,打开的网页十分抽象哈。。。与其自己手动调整,我会选择换一个模板!

(二)Github 的上传问题

在进行 git push origin main 操作时遇到报错:

$ git push origin main
error: src refspec main does not match any
error: failed to push some refs to 'https://github.com/Silhouette0/Silhouette0.github.io.git'

我们发现,上面步骤错误的原因是,在我们每次使用 git 指令时,git 都在一直用蓝色的字提示我们当前处在一个叫 master 的分支,所以错因就是 github 的仓库中没有 master 这个分支,而我们本地的仓库没有 main 分支,因此我们只需要将本地仓库的 master 分支改名为 main 分支即可。执行:

git branch -m master main

可以看到 master 已经被成功改为 main 了,接下来我们继续 push,不出意外的话又会看见新的报错:

$ git push origin main
fatal: unable to access 'https://github.com/Silhouette0/Silhouette0.github.io.git/': OpenSSL SSL_read: Connection was reset, errno 10054

不过这个报错问题不大了,就是连接不稳定,要么开 vpn,要么就重复不停尝试 push,总有一次可以成功的!

四、总结

本次实验中,我们选择了一个喜欢的 Jekyll 博客主题样式,并对应框架的教程文档,跟随教程完成部署并且填充了内容,最后在 Github 上搭建了自己的个人博客。真是有成就感呢!

Silhouette

Silhouette

A student from ECNU.

Comments

  Write a comment ...