xdays

基于GitLab的Pages服务构建静态博客

背景

之前我有一篇博客讨论过基于Pelican, Github以及Nginx+Lua实现的自动发布静态博客。最近重新思考这个方案感觉不够精简,也许当时是出于学习的目的引入了Ngnix+Lua这块。正好今年上半年GitLab宣布支持Pages服务了,而且支持的远比Github彻底,所以决定将我的博客托管在GitLab的Pages上。

流程

本地只需要往Git仓库里添加或者编辑markdown文件,当源文件被push到Gitlab服务端,触发GitLab的Pipeline,Pipeline完成由markdown源码到html文件的构建,最后由GitLab的Pages服务来托管html文件。

配置

迁移仓库

在GitLab上新建一个仓库,按照规范我这里将其命名为 xdays.gitlab.io ,然后将Github上的源码pull下来推到GitLab上:

git clone git@github.com:xdays/xdays.me.git
git remote add gitlab git@gitlab.com:xdays/xdays.gitlab.io.git
git ...

Pelican和Github构建静态博客

缘起

最近因为要换工作了,时间比较空闲,所以打算好好整理下自己的博客。想来博客写的越来越少也挺惭愧,好多东西都只停留在笔记的草稿阶段,没有写成博客,后续慢慢整理出来。回到正题,我开博客伊始一直用wordpress(下文简称WP),有点自然不必多说,成熟稳定,功能全面,主题丰富;但是我最近渐渐在思考我真的需要它么,我的日常操作不过是当我的笔记草稿足以成型为一篇博客,我把它粘贴到WP的编辑框,选择下分类,打上标签,点击发布,仅此而已;为此还安装插件让WP支持直接在编辑器里贴markdown;所以我需要的只不过是能够渲染markdown,生成静态html即可,不需要php,也不需要数据库;此外,博客自动发布也是我需要的一个功能。

计划

首先,选择静态博客生成器。目前jekyll的风头最大,但我没有选择他有两个原因:一是学习成本比较高,我只是想用你生成html你却让我学习那么多东西,不值得;二是我是Python党,我希望我用的工具能提升我的Python技能,嗯,这个也很重要。所以我选择用Pelican,它足够简单,拿到就可以使用。

然后,迁移。基本所有的静态博客项目都提供了导入的功能,尤其从WP这样如此流行的项目,但是 ...