peizhi's blog

Cloudflare + github + pelican打造静态博客

已经不知道这是第几个博客了,这次玩点更复杂的,用Cloudflare + github + pelican打造静态博客。

静态博客系统是一种不需要数据库和后端服务器的博客平台,它可以通过生成静态的HTML文件来展示博客内容。静态博客系统有很多优点,比如速度快、安全性高、部署简单等。本文将介绍如何用cloudflare和pelican搭建一个静态博客系统。

cloudflare是一个提供免费CDN(内容分发网络)服务的网站,它可以帮助我们加速网站的访问速度,同时也提供了一些其他的功能,比如SSL证书、DNS管理、防火墙等。pelican是一个用Python编写的静态博客生成器,它可以通过Markdown或reStructuredText等格式来编写博客文章,并且支持多种主题和插件。

要用cloudflare和pelican搭建静态博客系统,我们需要以下几个步骤:

  1. 注册一个域名,并将其解析到cloudflare的DNS服务器上。
  2. 在cloudflare上开启SSL证书,并设置好相关的规则和页面规则。
  3. 安装Python和pip,并用pip安装pelican和Markdown等依赖包。
  4. 用pelican-quickstart命令创建一个新的博客项目,并修改配置文件和主题文件。
  5. 用pelican命令生成静态文件,并将其上传到cloudflare的workers sites服务上。
  6. 在workers sites上设置好路由和缓存策略,并测试访问效果。

以上就是用cloudflare和pelican搭建静态博客系统的基本流程,具体的细节可以参考以下的链接:

  • https://www.cloudflare.com/zh-cn/
  • https://docs.getpelican.com/en/stable/
  • https://developers.cloudflare.com/workers/platform/sites

但是,这次使用的并非上面的步骤,而是使用github作为静态博客的存储库,不需要再本地生成静态文件后上传,只需要上传pelican的配置文件和md,利用cloudfare的pages自动编译生成静态文件。记录步骤如下:

一、github

1.从Github Desktop下载最新软件,并安装。 2.在github上创建新的项目,名字任意(我用的是peizhi.github.io),public或者private都可以。 3.利用Github Desktop把peizhi.github.io克隆的本地,路径可以是path/to/you/blog

二、pelican

1.安装python3.7以上的python环境(最好是3.7版本,这样和cloudflare的本版相同)。

2.安装pip。

3.安装pelican:

python -m pip install pelican

4.导出当前python环境支持运行pelican的所有库:

pip freeze > requirements.txt

5.如果你的python版本大于3.7,那么最好打开requirements.txt,把里边的包的版本好删除,例如:

pelican==4.0  修改成 pelican

6.把requirements.txt放到path/to/you/blog目录。

7.在cmd中切换到path/to/you/blog目录,执行命令:

pelican-quickstart

8.上一步会生成pelican的基本配置文件和文件夹,content目录中存放的就是post的具体内容,以markdown形式撰写,下面是默认生成的例子:

Title: My super title
Date: 2010-12-03 10:20
Modified: 2010-12-05 19:30
Category: Python
Tags: pelican, publishing
Slug: my-super-post
Authors: Alexis Metaireau, Conan Doyle
Summary: Short version for index and feeds

This is the content of my super blog post.

三、Cloudflare

1.写好post放到content目录后,在Github Desktop中以此执行commint,push,就会把新增的内容提交到github上。

2.登录到Cloudflare dashboard,然后选择您的帐户。

3.在“帐户主页”中,选择“工作人员和页面”>“创建应用程序>页面”>“连接到 Git”。

4.选择您创建的新 GitHub 存储库,然后在“设置生成和部署”部分中,选择“Pelican”作为框架预设。您的选择将提供以下信息。

  • Production branch: main(或者是master,根据你的实际情况填写)
  • Build command: pelican content
  • Build directory: output

5.选择“环境变量(高级)”,然后设置值为PYTHON_VERSION: 3.7

部署站点后,您将在 上收到项目的唯一子域。*.pages.dev,之后每次修改或者新增post后提交到github,cloudflare会自动去github取最新更新并编译成静态网页。