用 Jekyll 和 Github Pages 搭建博客之记录

起因

曾经用过 WordPress 建博客,虽然搭建过程很简单,甚至可以一键操作,而且功能全面,但是需要租用提供 PHP 和 MySQL 环境的服务器,需要一定的费用,而且对于一个简单的个人博客,不免显得有些过于笨重了。

也考虑过在诸如 CSDN、掘金之类的博客平台直接创一个账户,简单省事,但是,这些网站的界面设计总觉得缺少美感而且不够自由发挥,便也作罢。

更重要的是,正如前一篇文章中写的,有些话想说又不想被听见,所以倾向于不使用这些公众平台。

最后,发现了 Jekyll 和 Github Pages 的组合,够轻量级,够自由定制,够私人,尽管稍显复杂,但对于程序员而言,复杂从来不是问题,只要优雅就好。

总体流程

不同于 WordPress 需要连接数据库进行操作,Jekyll 仅仅是一个生成静态网页的工具,一次生成,只要不改变源代码,就可一直使用下去。因此,只需准备好博客的源码,上传到 Github 仓库,由 Github Pages 执行一次生成,便产生了我的博客网站直到下一次 commit 后重新生成。

那么,我需要做的大体上只有两件事:准备 Jekyll 的网站源码,部署到 Github Pages。

Jekyll 部分

考虑到自己日益增长的审美需要和落后的前端水平的矛盾,我选择在现成的 Jekyll 主题基础上进行修改。

Github Pages 上提供了少数可选的 Jekyll 主题,但 Jekyll Themes 提供了更多而且更精美的主题。一番筛选后,最后选中了现在的主题,Halve, 很漂亮,同时也很简约。

Jekyll Theme: Halve

按照主题的说明,修改_config.yml进行基本的配置,并修改index.md, _posts/, _data/, _images/等内容,便完成了大部分工作。

但在此基础上,我又做了一些其他的工作,更加深入一些。

更改页面左右比例

Havle 主题默认是左侧图片和右侧内容各占 50%,给人一种类似书本平摊的感觉,诚然美观,但一定程度上影响了实用性。对于小屏幕设备(如 Surface),仅用 50%空间显示内容不免有些奢侈。 于是,我决定调整一下这个比例。

在哪里调整呢?在_config.yml里面没有这个选项,分析一下,这种事情应该是由 CSS 实现的,那么便去assets/css/文件夹里面寻找,只有一个引用了其他文件的main.css,溯源而上,找到了assets/css/_sass/_site.scss,对应内容如下:

.block-left { float: left; .content { z-index: 1; position: relative; } } .block-right { float: right; overflow-y: auto; } .block-left, .block-right { width: 50%; height: 100%; position: relative; display: table; > div { display: table-cell; vertical-align: middle; } .content { height: 100%; } }

那么调整就很简单了,改为左侧 35%,右侧 65%:

.block-left { width: 35%; float: left; .content { z-index: 1; position: relative; } } .block-right { width: 65%; float: right; overflow-y: auto; } .block-left, .block-right { height: 100%; position: relative; display: table; > div { display: table-cell; vertical-align: middle; } .content { height: 100%; } }

更改字体大小

由于 Halve 主题原本面向的是英文用户,其字体的选用和大小都针对英文而设计,所以一开始我担心对于中文会显示效果不佳。不过经过测试,中文会采用默认的微软雅黑字体,差强人意,但尺寸上面,显得有些太大了,特别是在更改过页面比例后,长标题甚至会溢出左侧区域。

因此,需要把字体调小一些。

和调整页面比例类似,同样在assets/css/_sass/_site.scss内找到对应内容如下:

.section-title { font-size: 100px; position: absolute; bottom: 50px; left: 50px; color: rgba($white, 0.6); -ms-word-wrap: break-word; word-wrap: break-word; em { font-style: italic; } span { font-size: 20px; } } //lines omitted here .post-title-section { position: absolute; bottom: 50px; left: 50px; right: 50px; .section-title { position: relative; left: auto; bottom: auto; font-size: 80px; }

改为:

.section-title { font-size: 50px; position: absolute; bottom: 50px; left: 50px; color: rgba($white, 0.6); -ms-word-wrap: break-word; word-wrap: break-word; em { font-style: italic; } span { font-size: 20px; } } //lines omitted here .post-title-section { position: absolute; bottom: 50px; left: 50px; right: 50px; .section-title { position: relative; left: auto; bottom: auto; font-size: 50px; }

采用圆形头像

主题默认头像是方形的,而且是透明背景的,显示出来效果十分优雅,但换上我自定义的头像后,美感全无。.. 尝试给图片去底,不是很成功,于是想着换成圆形。

在 CSS 中,让图片以圆形显示其实是设置为 50%的圆角矩形,故在assets/css/_sass/_site.scss的。logo 中增加如下内容:

img { height: auto; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; }

这样子之后,效果相对可以接受了。

最终效果

Github Pages

为了方便省事,直接 fork 了 Halve 的仓库,改名为 keithnull.github.io 后,clone 到本地完成上述修改之后再 commit 上传。

只要代码无误,Github Pages 便会在 commit 后生成网页,通过 https://keithnull.github.io 即可访问。到这里,已经完成了博客的搭建。

不过,额外的工作是自定义域名,毕竟 keithnull.github.io 是一个二级域名。

自定义域名

申请域名、实名认证的步骤略过不提,在域名的 DNS 解析页面,需要做的是增加 DNS 解析如下:

记录类型 主机记录 记录值
CNAME @ keithnull.github.io
CNAME www keithnull.github.io

同时,在 Jekyll 文件夹内增加一个名为CNAME的文件,内容是自定义的域名。

然后,等待。

直到解析生效。

最后

到这里,这个博客就已经完全搭建好了,正如现在它的样子。

关于 Jekyll,其实还有许多可以定制的地方,留待之后用时了解吧。

远在远方的风比远方更远。 —海子

版权声明:
作者:倾城
链接:https://www.techfm.club/p/2088.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
)">
下一篇>>